✍계층적 군집화란?
덴드로그램(dendrogram)을 이용해 개별 개체들을 순차적, 계층적으로 유사한 개체나 그룹과 통합하여 군집화 수행하는 알고리즘
- 사전에 군집 수를 정하지 않아도 수행 가능
- 덴드로그램이 생성된 후 적절한 수준에서 자르면 그에 해당하는 군집화 결과 생성
덴드로그램 : 개체들이 결합되는 순서를 나타내는 트리 형태 구조
계층적 군집화 방식
- 상향식 군집화(Agglomerative clustering)
- 초기에 모든 개체들을 개별적인 군집으로 가정
- 각 단계에서 유사한 개체/군집 결합 -> 하나의 군집으로 통합될 때까지 반복
- 하향식 군집화(Divisive clustering)
- 모든 개체가 하나의 군집으로 이루어진 상태에서 시작
- 각 단계에서 가장 유의미하게 구분되는 지점을 판별하여 지속적으로 분할
상향식 군집화 진행 과정
- 모든 개체들 사이의 거리에 대한 유사도 행렬 계산
- 거리가 인접한 관측치끼리 군집 형성
- 유사도 행렬 업데이트
- 위 과정을 반복 수행(한 군집이 될 때까지)
위와 같이 각 개체들 사이의 유사도 행렬이 구해져 있는 상태로 시작 (위 예시는 개체 간 거리를 구했기 때문에 값이 작을수록 유사도가 크다.) -> 유사도가 가장 큰(거리가 2로 가장 은) A와 D를 하나로 묶는다.
유사도 행렬 업데이트 해준다. 이 때 예시에서는 AD 와 나머지 개체의 거리를 개체와 A, 개체와 D 사이의 거리 중 최소값으로 최신화 해준 것을 확인할 수 있다. 그리고 가장 유사도가 큰 AD와 C를 병합해준다.
위 과정을 군집이 하나로 통합될 때까지 반복 수행한다.
최종 결과로 나타난 덴드로그램(좌)와 유사도 행렬(우)
덴드로그램을 통해 군집 수를 결정하는 방법
덴드로그램을 시각화한 후, 군집 간 거리가 급격히 증가하는 지점을 확인하여 적절한 임계값을 설정한 후 그 기준으로 군집 수를 결정한다.
계층적 군집화의 유사도 거리 측정
- Single linkage(minimum distance)
- Complete linkage(maximum distance)
- Average linkage(mean distance)
- Centroid linkage(distance between centroids)
- Single linkage(Min distance)
두 군집의 각 모든 개체의 거리 중 최소값만 이용하여 유사도 거리로 지정하는 방법
- Complete linkage(Max distance)
두 군집의 각 모든 개체의 거리 중 최대값만 이용하여 유사도 거리로 지정하는 방법
- Average linkage(Group average distance)
두 군집의 각 모든 개체의 거리의 평균을 유사도 거리로 지정하는 방법
- Centroid linkage(Between centroids distance)
두 군집의 각 중심점 사이의 거리를 유사도 거리로 지정하는 방법
위와 같이 같은 데이터셋에서도 유사도 거리 측정 기준을 어떻게 잡느냐에 따라 군집화 결과가 달라진다.
References