brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Oct 24. 2023

Clustering을 위한 계층적 알고리즘

출퇴근길에 공부하는 머신러닝


들어가며

K-means에 이어서 이번 편은 클러스터링을 위한 Hierarchical(계층적) 클러스터링에 대해서 알아보도록 하겠다. 계층적 클러스터링은 데이터를 특정 기준에 따라서 계층적으로 분류하여, 데이터사이의 관계를 더 잘 이해할 수 있는 방법이다. 또한 K-means와 달리 군집의 수를 사전에 정하지 않고도 클러스터링을 수행할 수 있는 알고리즘이다. 이 방법은 덴드로그램이라는 트리 구조를 사용하여 개체들이 어떻게 그룹핑되는지 시각적으로 표현한다.




계층적 클러스터링의 단계별 과정

1. 거리(또는 유사도) 계산

첫 단계에서는 모든 개체들 간의 거리나 유사도를 계산한다. 이는 개체들 사이의 유사성을 측정하기 위한 기초 자료로 사용된다.


2. 클러스터 형성

가장 가까운 거리에 있는 관측치들부터 차례대로 하나의 클러스터로 묶는다. 이 과정은 거리가 가장 가까운 데이터 또는 클러스터끼리 묶는 것으로 반복적으로 수행된다.


3. 거리 재계산 및 클러스터 업데이트

클러스터가 형성된 후에는, 새롭게 형성된 클러스터와 기존의 클러스터나 데이터 간의 거리를 재계산한다. 그리고 이 정보를 기반으로 유사도 테이블을 업데이트한다.


4. 클러스터링 완료

모든 관측치가 하나의 클러스터로 묶일 때까지 이 과정을 반복한다. 관측치가 더 이상 없을 때 클러스터링을 종료한다.



덴드로그램의 활용

덴드로그램은 클러스터링 결과를 시각적으로 나타내는 데 사용된다. 이 트리 구조는 클러스터 간의 관계를 한눈에 파악할 수 있도록 돕고, 분석가가 적절한 수준에서 클러스터를 선택할 수 있게 한다.



마치며

계층적 클러스터링의 가장 큰 장점은 군집의 수를 미리 정하지 않아도 된다는 점이다. 하지만, 클러스터링 과정에서 만들어진 모든 가능한 클러스터 구성을 고려해야 하므로 계산 비용이 비교적 높을 수 있을 것이다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari