4. 군집화(Clustering) > 4-3. 분할적 군집: 중심기반

분할적 군집: 중심기반

개념

분할적 군집의 '중심기반 군집'은 군집(클러스터)의 중심점(centroid)를 정한 뒤 클러스터의 중심점에 가까운 개체들을 하나의 군집으로 모아가면서 확장하는 방법입니다. 이때 중심점의 개수와 중심점의 위치를 어떻게 배치하는지에 따라서 K-Means, K-Median, K-medoid 등의 클러스터링 기법이 존재합니다.

이 교안에서는 가장 유명하며 많이 사용되는 'K-Means clustering'에 대해서 보다 자세히 알아보도록 하겠습니다.

K-Means clustering

K-Means 클러스터링은 K개의 중심(centroid)를 정하고, 그 중심에 가장 가까운 관찰값들을 하나의 군집으로 형성하는 기법입니다. 이때 중심의 개수인 K는 연구자가 지정해줘야 하며 좌표 기반의 군집 분석 방법 (좌표 기반의 거리 측정 방식을 사용할 수 있는 데이터)에서만 이 방법을 사용할 수 있다는 특징이 있습니다.

K-Means 클러스터링의 원리는 다음과 같습니다.

  • K개의 중심(centroid)을 무작위로 선택하고 각 개체는 가장 가까운 중심에 할당한다.
  • 각 군집에 속한 모든 개체들의 평균으로 중심을 다시 계산하고 다시 각 개체의 가장 가까운 중심으로 재할당한다.
  • 재할당 과정이 더이상 일어나지 않아서 중심이 이동하지 않거나(오차제곱의 합(SSE)가 최소화되었을 때) 최대 반복회수 (default는 10번)에 도달할 때까지 반복한다.

이때 개체와 개체 사이의 거리는 '유클리드 거리계산(Euclidian Distance)'기법을 통해서 계산합니다.

K-Means 클러스터링은 직관적인 방법으로 이해하기 쉬우며, 비교적 괜찮은 결과를 도출한다는 장점이 있습니다. 또한 계산량이 많지 않고 간단해서 대용량 데이터 처리에 유리합니다.

반면, 여러 한계점도 존재합니다. 우선 중심인 K의 개수를 연구자가 직접 지정해줘야 한다는 것입니다. 데이터의 특성을 정확히 알지 못하는 상황에서 군집의 개수를 임의로 지정하기는 어렵기 때문입니다. 다만, 대부분의 군집화 기법은 연구자가 반드시 지정해줘야 하는 파라미터들이 있기 때문에 이 문제가 K-Means만의 한계는 아닙니다.

또한 K-Means는 아웃라이어(이상치, 극단값)에 민감하다는 한계가 있습니다. 각 군집의 중심을 주변 개체의 평균값으로 지정하기 때문에 전체 평균에 영향을 줄 수 있는 극단값에 의해 중심점이 왜곡될 가능성이 있기 때문입니다. 이상치를 제거할 수도 있지만, 이는 데이터가 손실될 위험이 있기 때문에 평균 대신 중앙값을 사용하는 K-Median 알고리즘이 대안으로 제시되기도 합니다.

이 외에도 중심이 랜덤하게 분포하여 매 실행 시 다른 결과를 도출하여 분석할 때 마다 결과값이 다를 수 있는 것, 데이터 분산이 비극하고 구형으로 분포되어 있는 경우가 아니면 적절한 결과가 나오지 않는 등의 문제가 있습니다. 이러중심이 랜덤하게 생성되어 생기는 문제는 K-Means++를 통해서, 데이터 분산 형태에 의한 문제는 다음 파트에서 다룰 '밀도기반 군집화'를 활용하여 해결할 수 있습니다.

✔️ K-Means++ 간단 소개 K-Means++는 k개의 중심을 한 번에 모두 생성하지 않습니다. 우선 개체 중에서 무작위로 첫 번째 중심을 지정하고 나머지 개체들과 중심점 사이의 거리를 계산합니다. 두 번째 중심점의 위치는 이 거리비례 확률에 따라 선정되는데, 개체 사이의 거리에서 최대한 먼 곳에 다음 중심점을 생성하는 것입니다. 이 과정을 k번 반복하면 k개의 중심이 생성됩니다.

참고자료: K-Means++, K-Means++ 쉽게 이해하기

✔️ 최적의 K를 찾는 방법

  1. Elbow method

가장 대표적으로 K 개수를 찾는 방법입니다. 앞서 K-Means의 군집화는 중심점(centroid)가 변할 때마다 SSE(오차제곱의 합)를 계산하고 이 값이 최소가 되었을 때 군집화를 멈춘다고 언급한 적이 있습니다. 이와 같이 K의 개수를 증가시켜 가면서 SSE를 변화량을 비교하여 그 값이 어느 순간 급격하게 줄어드는 순간의 값, 즉 최적의 K값을 찾는 방법이 elbow method 입니다. 팔꿈치라는 의미의 'Elbow'에서 알 수 있듯 그래프가 꺾이는 순간이 팔꿈치 모양과 같다고 해서 elbow method 라고 합니다. 사용 코드와 그래프는 5-7장 프로젝트에서 보다 자세히 알아보도록 하겠습니다.
참고자료: k-means 클러스터링 - 최적의 클러스터 개수 찾기

  1. Silhouette method

실루엣 기법은 다른 군집에 비해 우리 군집과 얼마나 유사한지, 즉 실루엣 계수를 측정하여 K 개수를 찾는 방법입니다. 실루엣 계수들의 평균 값을 사용하며 값의 범위는 -1~1 사이로, 1에 가까울 수록 군집화가 잘 되어 있음을 의미합니다. 각 개체마다 계산을 해줘야 하므로 엘보우 기법에 비해 계산 시간이 오래걸린다는 단점이 있습니다. Silhouette method는 K-Means 뿐만 아니라 군집화의 대표적인 평가 지표이기도 합니다. 5-7 프로젝트에서 다양한 평가 지표를 활용하는 방법에 대해서 자세히 알아보도록 하겠습니다. 참고자료: 클러스터링 평가지표 - 실루엣 계수 (1)

마지막으로 업데이트 된 날짜:
2022년 10월 30일