장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
군집분석이란?
각 객체의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하는 분석 방법으로 서로 다른 군집에 속한 객체간 상이성을 규명한다.
- 결과는 군집분석 방법에 따라 차이날 수 있다.
- 군집의 개수나 구조에 대한 가정 없이 데이터 사이의 거리를 기준으로 clustering을 유도한다.
군집분석 vs. 판별분석 vs. 요인분석
사전에 집단을 알았으면 판별 분석 아니면 군집분석 > 새로운 데이터를 기존 집단에 할당
유사한 변수를 함께 묶는 방법은 요인분석
군집분석 | |
계층적 군집분석 | 비계층적 군집분석 |
- 군집의 개수를 모른 체로 분석 > 군집의 개수를 제일 나중에 선정 - 전통적인 방법 |
- k-means : 군집의 개수를 먼저 선정하고 모형 개발 > 가중치와 거리 정의가 어렵기에 군집의 개수를 조정하면서 모형을 반복적으로 만들며 최고의 군집 선택 |
2. 거리
가. 연속형 변수의 경우
- Euclidean Distance: L2
통계적 개념이 포함되지 않아 변수들의 산포 정도가 전혀 감안되지 않는다. - Manhattan: L1
- Chebychev
- 표준화 거리(Statistical Distance)
표준편차로 척도 변환한 후 유클리디안 거리 계산 - Canberra
- 민코우스키(Minkowski)
L1, L2를 한 번에 표현한 거리
나. 범주형 변수의 경우
- 코사인 거리
= 1 - 코사인 유사도 - 코사인 유사도
- 자카드 거리/계수
Boolean 속성으로 이루어진 두 개의 객체 A, B에 대해 A, B 교집합으로어쩌구저쩌구
3. 계층적 군집분석
n개의 군집으로 시작해 군집의 개수를 점차 줄여나가는 방법(합병형: Bottom-Up과 분리형: Top-down)
가. Single Linkage 최단연결법
n*n 거리행렬에서 거리가 가장 가까운 데이터를 묶어서 군집 형성
- min
- 고립된 군집 찾는데 중점을 둔 방법, 사슬 모양으로 군집이 생길 수 있음
나. Complete Linkage 최장연결법
군집과 군집 또는 데이터와의 거리 계산에 max 를 거리로 계산하는 방법
- 군집 내부 응집성(cohesion)에 중점을 둔 방법
다. Average Linkage 평균연결법
군집과 군집/데이터 거리 계산에 mean 이용해 거리 계산
- 계산량이 불필요하게 많아질 수 있다.
- Centroid Linakge
라. Ward Linkage
군집 간 정보 손실 최소화 목표: 군집내 편차들의 제곱합 고려
마. Clustering
덴드로그램을 그리면서 적정한 군집 개수를 선정한다.
- Fuzzy Clustering
- Density-Based Clustering
- 동일 군집에 속하는 데이터는 근접할 것이라고 가정
- DBSCAN, STING
- Agglomerative Clustering(병합적 군집)
- 군집 시작 포인트를 하나의 클러스터로 지정하고, 그 다음 종료 조건을 만족할 때까지 가장 비슷한 두 클러스터를 합침
4. 비계층적 군집분석
n개의 개체를 k개의 군집으로 나눌 수 있는 가능한 모든 방법을 점검해 최적화한 군집 형성
가. k-Means Clustering
- PAM(Partitioning Around Medoids): Mean 대신 Medoid 이용해 군집 선정
- Medoid: 데이터 셋 내 실제 포인트 중 다른 모든 포인트와의 거리 합이 최소인 포인트
원하는 군집의 개수와 초기 값(seed)를 정해 seed 중심으로 군집을 형성한다.
각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류한다.
각 군집의 seed 값을 다시 계산한다. 모든 개체가 군집으로 할당될 때까지 위 과정을 반복한다.
- 거리 계산을 통해 군집화가 이루어지므로 연속형 변수에 활용 가능하다.
- K개의 초기 seed는 임의로 선택 가능하며 가능한 멀리 떨어지는 것이 바람직하다.
- 초기 중심값 선정에 따라 결과가 달라질 수 있다.
- Greedy 알고리즘: 최적이라는 보장은 없다.
장점 | 단점 |
- 계층적 군집분석보다 많은 양의 데이터를 다룰 수 있다. - 내부 구조에 대한 정보 없이도 의미있는 자료구조를 찾을 수 있다. - 다양한 형태의 데이터에 적용 가능하다. |
- 군집 수, 가중치, 거리 정의가 어렵다. - 잡음, 이상치 영향을 많이 받는다. - Non-Convex는 성능이 떨어진다. |
5. Mixture Distribution Clustering 혼합 분포 군집
Model Based clustering
정규분포의 가중합으로 표현되는 모집단 모형으로부터 나온 k개의 데이터라고 가정하고 이를 모수(정규분포)와 함께 가중치를 자료로부터 추정하는 방법
EM(Expectation-Maximization) algorithm
어느 집단에 속할 지에 대한 조건부 기댓값을 구할 수 있다.
임의의 파라미터 설정 > z 기대치 계산 > 파라미터 추정 > 가능성 최대화 여부 > 파라미터 추정값 도출 or 재추정
- k-Mean 과 비슷하지만 확률분포를 도입해 clustering 한다.
- 이상치 자료에 민감하다.
6. SOM(Self-Organization Map): Kohonen Maps
비지도 신경망으로 고차원의 데이터를 이해하기 쉬운 저차원의 뉴런으로 정렬해 지도 형태로 형상화한다.
- 입력층(Input Layer)
- 경쟁층(Competitive Layer)
2차원 Grid 구성, 연결 강도(weight)을 반복적으로 재조정한다. - 전방 패스(Feed-Forward Flow) 사용: 빠른 속도로 실시간 학습처리 가능
+ 신경망 모형은 역전파(Back-Propagation) 알고리즘을 이용한다.
7. 최신 군집분석 기법들
가. iris 데이터를 활용한 기법 확인
- Hierarchical Clustering
dist(): 행과 행 사이 거리 계산 - k-Means Clustering
'Data Science' 카테고리의 다른 글
[혼공머신러닝+딥러닝] 트리 알고리즘 (1) | 2024.08.18 |
---|---|
[혼공머신러닝+딥러닝] 회귀 알고리즘과 모델 규제 (1) | 2024.08.07 |
[파이썬으로 시작하는 데이터 사이언스] 파일 경로 설정 (3) | 2024.08.06 |
[ADsP] 분석 거버넌스 체계 수립 (3) | 2024.08.05 |
[ADsP] 용어 정리 (0) | 2024.08.05 |