K-MOOC '실습으로 배우는 머신러닝' 김영훈 교수님
Ch9. 군집화(유사도 척도, 유클리디안, 분리형 군집화, 덴드로그램, K평균군집화, centroid)
Ch9. Clustering(군집화)
군집화 개념
유사한 속성들을 갖는 관측치들을 묶어 전체 데이터를 몇 개의 개인 군집(그룹)으로 나누는 것
- 군집화 기준
- 군집 내 유사도 최대화 : 동일한 군집에 속한 관측치들의 유사도
- 군집 간 유사도 최소화 : 상이한 군집에 속한 관측치들은 다르게
- 분류 vs 군집화
- 분류 : 사전 정의된 범주가 있는(labeled) 데이터로부터 예측 모델을 학습하는 문제(Supervised learning)
- 군집화 : 사전 정의된 범주가 없는(unlabeled) 데이터에서 최적의 그룹을 찾아나가는 문제(unsupervised learning)
- 적용 사례
- 특성별 고객군집(Customer Segmentation)
- 유사 문서 군집화
- 서울시 오존 농도의 패턴 군집화(25개 구)
- 반도체 웨이퍼의 fail bit map 군집화
유사도 척도
어떤 거리 척도를 사용하여 유사도를 측정할 것인가?
- 유클리디안 거리(Euclidean Distance)
- 일반적으로 가장 많이 사용
- 관측치 X, Y 값 간 차이 제곱합의 제곱근
- 맨하탄 거리(Manhattan Distance)
- 맨하탄 도로를 예시로 들면 수직으로 뚫고 갈 수 없음
- X에서 Y로 이동 시 각 좌표축 방향으로만 이동할 경우에 계산되는 거리
- 마할라노비스 거리(Mahalanobis Distance)
- 변수 내 분산, 변수 간 공분산을 모두 반영하여 X, Y 간 거리를 계산
- 데이터의 공분산행렬이 단위행렬일 경우 유클리디안 거리와 동일
- 공분산행렬의 역행렬을 삽입해서 패널티를 준다.
- 있을 법한 데이터의 분포는 감안해서 거리를 조금 짧게 생각
- 상관계수 거리(Correlation Distance)
- 데이터 간 Pearson correlation 값을 거리 척도로 직접 사용
- 데이터 패턴의 유사도 및 비유사도를 반영할 수 있다.
- -1<= r <=1
군집화 알고리즘의 종류
- 분리형 군집화
- 전체 데이터의 영역을 특정 기준에 의해 동시에 구분
- 각 개체들은 사전에 정의된 개수의 군집 중 하나에 속함
- 계층적 군집화
- 개체들을 가까운 집단부터 차근차근 묶어나감
- 군집화 결과 뿐만 아니라 유사한 개체들이 결합되는 dendrogram도 생성
- 자기조직화 지도
- 2차원의 격자에 각 개체들이 대응하도록 인공 신경망과 유사한 학습을 통해 군집 도출
- 분포 기반 군집화
- 데이터의 분포를 기반으로 높은 밀도를 갖는 세부 영역들로 전체 영역을 구분
계층적 군집화
- 계층적 트리모형을 이용하여 개별 개체들을 유사도가 높은 순서로 통합
- 덴드로그램(dendrogram)으로 시각화 가능
- 사전에 군집의 수를 정하지 않아도 수행 가능
- 모든 개체들 사이 거리에 대한 유사도 행렬 계산
- 거리가 인접한 관측치끼리 군집 형성
- 두 군집 사이의 유사도/ 거리 측정 방식 : 단일연결법(min), 완전연결법(max), 평균 연결법(group average), etc
- 유사도/ 거리 측정 방식에 따라 군집화 결과는 차이가 날 수 있다.
- 유사도 행렬 업데이트
- 과정 반복
K평균군집화(K-means clustering)
- 대표적인 분리형 군집화 알고리즘
- 각 군집은 하나의 중심(centroid)를 가짐
- 초기 중심(centroid)를 K개 임의로 생성
- 초기 중심 설정에 따라 군집화 결과가 다르게 나타날 수 있다.
- 무작위 초기 중심 설정의 위함을 피하고자 반복 수행으로 가장 여러번 나타나는 군집을 사용하거나, 일부 데이터만을 샘플링하여 계층적 군집화 수행 후 초기 군집 중심 설정, 데이터 분포 정보를 사용하는 등의 방법을 사용한다.
- 각 개체는 가장 가까운 중심에 할당하는 것이 원칙
- 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성
- 각 군집의 중심을 다시 계산
- 중심이 변하지 않을 때까지 과정 반복
- 사전에 군집의 수 K를 정해줘야 한다.(Hyperparameter)
- 교집합을 허용하지 않는다.
- ci는 중심(c1~ck)
단점
- 서로 다른 크기의 군집을 잘 찾아내지 못한다.
- 서로 다른 밀도의 군집을 잘 찾아내지 못한다.
- 지역적 패턴이 존재하는 군집을 판별하기 어렵다. (원형일 때 잘 작동)
최적의 군집수
다양한 군집 수에 대해 성능 평가 지표를 도입해 최적의 군집 수 선택
엘보우 포인트에서 최적 군집 수가 결정되는 경우가 일반적
평가 지표
분류 알고리즘처럼 모든 상황에 적용 가능한 성능 평가 지표 부재
- 내부 평가 지표
- Sum of squared error(SSE)
- Silhouette : 내부거리a(i) 최소화, 외부거리b(i) 계산, -1<=s(i)<=1, 크면 클수록 군집화가 잘 되었다.
- Dunn Index
- 외부 평가 지표 : Rand Index, Jaccard Coefficient, Folks and Mallows Index
댓글