계층적 클러스터링 이란?
계층적 클러스터링은 고차원 혹은 다차원 데이터를 클러스터링하는 방법 중 하나입니다. 사용하기가 간단하며, 방법이 직관적이기 때문에 사람이 확인하기 쉽다는 장점을 가지고 있습니다. 계층적 클러스터링은 k평균 혹은 DBSCAN 클러스터링과는 다르게 Bottom-up 방식으로 클러스터링을 수행합니다. 가까운 데이터끼리 클러스터를 형성하고, 가까운 클러스터들끼리 클러스터를 병합하는 과정을 반복함으로써 하나의 클러스터가 되도록하는 클러스터링 기법입니다.
- 데이터 : 다차원, 고차원
- 사용성 : 간단, 직관적
계층적 클러스터링 수행 절차
계측정 클러스터링 방법은 여러 물방울이 흩어져 있는 상황에서 물방울들이 서로 병합해서 하나의 큰 물방울을 형성하는 것과 같은 형태로 수행됩니다. 물방울을 클러스터라고 한다면, 두개의 클러스터가 병합되는 과정을 반복함으로써 클러스터링을 수행합니다.
1. N개의 자료를 하나의 클러스터 취급
2. 주어진 클러스터들 중 가장 가까운 두 클러스터 병합
3. 병합 과정 반복으로 하나의 클러스터가 되도록 반복
4. 거리 측정 방법에 따라 최장 연결, 최단 연결로 구분
거리 측정 방법
계층적 클러스터링을 위해서는 클러스터 간의 거리를 측정해야합니다. 거리를 측정하는 방법은 k평균 클러스터링에서도 사용한 유클라디안 거리와 맨하탄 거리로 나뉘어집니다. 유클라디안 거리는 직선으로 두 점 사이의 거리를 측정하는 방법이며, 맨하탄 거리는 x축, y축으로 한칸씩 이동하면서 거리를 측정하는 방법입니다. 아래 그림은 맨하탄 거리(Manhattan Distance)입니다.
- 유클라디안 거리 : 두점 사이 직선 거리
- 맨하탄 거리 : 블록을 이동하듯 거리 측정
마무리
오늘은 계층적 클러스터링 방법에 대해 알아보았습니다. 개념적으로 굉장히 쉬운 방법인데 아직 사용해보지는 않았습니다. 자주 사용하는 방법은 k평균 클러스터링 입니다. 기회가되면 계층적 클러스터링 방법을 사용한 예제를 여러분과 공유하는 포스팅을 작성하도록 하겠습니다.
댓글