데이터 군집화 - 계층적 군집화

shyoon·2023년 7월 2일
0

머신러닝

목록 보기
7/11

✍계층적 군집화란?

덴드로그램(dendrogram)을 이용해 개별 개체들을 순차적, 계층적으로 유사한 개체나 그룹과 통합하여 군집화 수행하는 알고리즘

  • 사전에 군집 수를 정하지 않아도 수행 가능
  • 덴드로그램이 생성된 후 적절한 수준에서 자르면 그에 해당하는 군집화 결과 생성

    덴드로그램 : 개체들이 결합되는 순서를 나타내는 트리 형태 구조


계층적 군집화 방식

  • 상향식 군집화(Agglomerative clustering)
    • 초기에 모든 개체들을 개별적인 군집으로 가정
    • 각 단계에서 유사한 개체/군집 결합 -> 하나의 군집으로 통합될 때까지 반복
  • 하향식 군집화(Divisive clustering)
    • 모든 개체가 하나의 군집으로 이루어진 상태에서 시작
    • 각 단계에서 가장 유의미하게 구분되는 지점을 판별하여 지속적으로 분할

상향식 군집화 진행 과정

  1. 모든 개체들 사이의 거리에 대한 유사도 행렬 계산
  2. 거리가 인접한 관측치끼리 군집 형성
  3. 유사도 행렬 업데이트
  4. 위 과정을 반복 수행(한 군집이 될 때까지)


위와 같이 각 개체들 사이의 유사도 행렬이 구해져 있는 상태로 시작 (위 예시는 개체 간 거리를 구했기 때문에 값이 작을수록 유사도가 크다.) -> 유사도가 가장 큰(거리가 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)
  1. Single linkage(Min distance)
    두 군집의 각 모든 개체의 거리 중 최소값만 이용하여 유사도 거리로 지정하는 방법
  2. Complete linkage(Max distance)
    두 군집의 각 모든 개체의 거리 중 최대값만 이용하여 유사도 거리로 지정하는 방법
  3. Average linkage(Group average distance)
    두 군집의 각 모든 개체의 거리의 평균을 유사도 거리로 지정하는 방법
  4. Centroid linkage(Between centroids distance)
    두 군집의 각 중심점 사이의 거리를 유사도 거리로 지정하는 방법


위와 같이 같은 데이터셋에서도 유사도 거리 측정 기준을 어떻게 잡느냐에 따라 군집화 결과가 달라진다.


References

profile
큰 사람이 되겠어요

0개의 댓글