[머신러닝 배우기] 9. 군집화, k-중심 군집화, 계층적 군집화, 밀도기반 군집화


군집화

비슷한 데이터를 한데 모으는 방법을 군집화라고 한다. 데이터의 특징이 뚜렷할 때 사용하면 효과가 좋다. 이 방법은 비지도 학습에 해당하며, 크게 중심기반 군집화, 계층적 군집화, 밀도기반 군집화로 나눌 수 있다.

비슷한 데이터란건 무엇일까? 바로 데이터를 이루는 피쳐값이 비슷한다는 것이다. 예를 들어 쇼핑몰에서 물건을 샀을 때 물건의 가격, 수량, 구매자의 나이 등등이 비슷한 그룹으로 만드는 것이다. 여러 피쳐들을 표준화해서 계산한 값의 합을 사용한다. 이 때 사용되는 식은 제곱유클리드 거리를 구하는 식이 보통이다.

10000원과 20000원의 차이와 24살과 27살의 차이는 단순히 숫자의 크기가 가치있는 것이 아니기 때문에 표준화를 적용하여 계산한다.

k-중심 군집화

중심기반 군집화의 대표적인 예는 k-중심 군집화이다. 중심기반 군집화는 클러스터 중심점을 정한 후 클러스터 중심점에 가까운 데이터들을 모아가며 클러스터를 확장하는 방법이다. 이 때 중심점을 몇개를 어떻게 배치했는가가 중요해진다.

평균을 이용하여 군집화하는 k-평균 군집화, 대푯값을 사용하는 k-대푯값 군집화, 최빈값을 사용하는 k-최빈값 군집화가 자주 사용된다.

계층적 군집화

게층은 클러스터의 계층을 의미한다. 즉 최상위 클러스터는 모든 데이터를 포함하는 클러스터가 되고, 최 하위 클러스터는 단 하나의 데이터만 포함한 클러스터가 된다.

상향식과 하향식의 방식이 있는데, 하향식은 각 계층의 클러스터들을 둘로 쪼개어 하위 계층으로 내려가는 것이고, 상향식은 가까운 두개의 클러스터를 합쳐 상위 클러스터를 만드는 방식이다.

클러스터간의 거리를 구하는 방식은 최단거리, 최장거리, 평균거리가 있는데, 일반적으로 평균거리가 좋지만 모든 데이터를 계산해야하므로 계산량이 늘어나는 단점이 있다.

밀도기반 군집화

밀도기반 군집화는 데이터 밀도가 높아지는 방향으로 데이터를 군집화하는 방식이다. 평균이동 군집화와 DBSCAN이 대표적이다.

중심반경안에서 밀도가 더 높은 방향으로 중심을 점점 이동하는 방식으로 클러스터를 형성하는 것이 평균이동 군집화방식이다.

DBSCAN은 정해진 반경안에 일정 개수 이상의 데이터가 존재하는 데이터를 중심으로 하는 클러스터를 만드는 방식이다.




© 2019. by Moonan

Powered by Moonan