본문 바로가기
IT/ML

Hierarchical clustering(계층적 군집화) 예시로 쉽게 이해하기

by 모던네이쳐 2020. 11. 19.
728x90

 Clustering은 비지도 학습이다. 지도 학습에서는 정답인 Y label이 있는 데이터를 사용하여 정답을 맞히는 것을 목표로 하나, 비지도 학습에서는 feature 정보들만 있는 데이터를 사용하여 최대한 비슷한 데이터들을 묶어 군집(Cluster)을 만드는 것이 목표이다.

 

 

Hierarchical clustering(계층적 군집화)

 Bottom up 방식으로 가장 가까운 점들을 먼저 묶고, 그다음으로 가장 가까운 점을 묶는 방법을 사용하여 모두 묶을 때까지 반복하여 군집화를 완성한다.

모든 데이터를 묶어 군집화를 완성한 뒤, 본인이 원하는 cluster의 수로 나누고자 하는 지점까지 군집을 풀면 된다.

 

Dendrogram

 데이터간 묶인 순서와 거리를 시각화한 것이 dendrogram이다. 단, dendrogram에서 데이터가 나란히 있다고 해서 반드시 가까운 값이라는 것을 의미하지는 않는다.

left: dendrogram

 

 모든 데이터를 묶어 군집화를 완성한 뒤 본인이 원하는 cluster의 수로 나누고자 할 때, dendrogram의 어느 부분을 cutting 하면 군집이 생성되는지 시각적으로 확인할 수 있다.

 

Types of linkage

 Cluster와 새로 할당하려는 점과의 거리를 측정할 때 다양한 방법을 사용할 수 있다.

  1. Complete: 새로운 점과, 클러스터 내 가장 먼 점 사이의 거리
  2. Single: 새로운 점과, 클러스터 내 가장 가까운 점 사이의 거리
  3. Average: 새로운 점과, 클러스터 내 모든 점 사이의 거리를 평균 낸 값
  4. Centroid: 새로운 점과, 클러스터 내 점들의 평균인 centroid와의 거리

 일반적으로 Average와 Complete가 균형 있는 cluster를 만들어 낸다.

 단, centroid를 사용하면 cluster와 새로운 점과의 거리가 cluster 내부 거리보다 짧아지는 경우가 있어 dendrogram로 그릴 때 꼬인 그림이 생길 수도 있다. 나머지 complete, single, average 방식으로는 이와 같은 문제가 나타나지 않는다.

dendrogram with centroid linkage

 

 

Hierarchical clustering 특징

 아래 그림에서, Euclidian distance를 구하면 노란색과 분홍색 그래프가 매우 가깝지만, size를 normalize 하거나 vector 방향성을 고려하여 거리를 구하면 모양이 비슷한 초록색과 노란색이 비슷하다는 결론을 내릴 수도 있으므로 다양한 관점에서 데이터를 비교해볼 줄 알아야 한다.

 아래 그림에서, 왼쪽 그래프의 판매 개수를 보면 양말이 컴퓨터보다 많이 팔렸지만, 오른쪽 그림의 판매 가격을 보면 computer가 훨씬 높다. 가운데 그래프와 같이 목적에 맞게 데이터들을 scaling 한 뒤 Clustering을 시행하는 것을 고려해보아야 한다.

Left: purchases     Center: scaled data     Right: dollars spent

 


참고자료: ISLR Seventh Printing