본문 바로가기
Data Mining

데이터 마이닝 군집화 기법. K-평균 군집화(K-Means Clustering)

by save-time 2024. 9. 4.

K-평균 군집화(K-Means Clustering)는 데이터 마이닝에서 널리 사용되는 군집화 기법으로, 주어진 데이터를 k개의 군집으로 나누고 각 군집을 대표하는 중심점(centroid)을 찾아내는 비지도 학습 알고리즘입니다. 이 알고리즘은 군집 내의 데이터 포인트들이 서로 최대한 유사하도록 그룹화하고, 각 그룹이 서로 다른 군집들과는 최대한 다르게 만드는 것을 목표로 합니다.


 K-평균 군집화의 기본 개념

- k: 나눌 군집의 개수입니다. 알고리즘을 시작하기 전에 사용자가 미리 지정해야 합니다.
- 중심점(Centroid): 각 군집의 중심을 나타내는 좌표입니다. 군집에 속한 모든 데이터 포인트의 평균값으로 계산됩니다.
- 유사성 측정: 일반적으로 유클리드 거리를 사용하여 각 데이터 포인트가 가장 가까운 중심점에 할당됩니다.


 K-평균 군집화의 과정


1. k값 설정 (Initialize k)

   - 사용자가 k값을 설정합니다. 이 값은 데이터셋을 몇 개의 군집으로 나눌지 결정합니다.


2. 초기 중심점 선택 (Initialize Centroids)

   - 데이터셋에서 k개의 초기 중심점을 무작위로 선택합니다. 이 중심점들이 군집의 초기 중심으로 사용됩니다.


3. 데이터 포인트 할당 (Assign Data Points to Clusters)

   - 각 데이터 포인트를 가장 가까운 중심점에 할당하여 k개의 군집을 형성합니다. 여기서 가장 가까운 중심점은 유클리드 거리로 계산됩니다.


4. 중심점 재계산 (Recalculate Centroids)

   - 각 군집에 속한 모든 데이터 포인트의 평균값을 계산하여 새로운 중심점을 구합니다. 각 중심점은 해당 군집의 새로운 중심으로 업데이트됩니다.


5. 군집 할당 및 중심점 재계산 반복 (Repeat Assignment and Recalculation)

   - 데이터 포인트를 새롭게 계산된 중심점에 따라 다시 군집에 할당하고, 중심점을 재계산하는 과정을 반복합니다.
   - 이 과정은 중심점이 더 이상 변하지 않거나, 중심점의 변화가 매우 작아질 때까지 반복됩니다.


6. 군집화 완료 (Convergence)

   - 중심점의 변화가 없거나 지정된 반복 횟수에 도달하면 알고리즘이 수렴했다고 판단하고, 최종 군집을 결과로 반환합니다.


 K-평균 군집화의 장점

- 단순함과 효율성: K-평균 알고리즘은 이해하기 쉽고, 대규모 데이터셋에서도 비교적 빠르게 동작합니다.
- 확장성: 대용량 데이터에 적용하기 적합하며, 비교적 적은 계산 비용으로 실행할 수 있습니다.
- 유연성: 다양한 응용 분야에서 사용할 수 있으며, 여러 데이터 유형에 적합합니다.


 K-평균 군집화의 단점

- k값의 사전 설정 필요: 군집의 개수를 미리 지정해야 하는데, 적절한 k값을 선택하는 것이 어려울 수 있습니다.
- 초기 중심점 선택에 민감: 초기 중심점의 선택에 따라 다른 결과를 도출할 수 있으며, 이는 알고리즘이 지역 최적해(local optimum)에 빠질 가능성을 높입니다.
- 비구형 군집에 취약: K-평균 군집화는 군집이 구형에 가까운 경우에 효과적입니다. 군집의 모양이 비구형이거나 크기가 매우 다를 경우 정확도가 떨어질 수 있습니다.
- 이상치에 민감: 이상치(outlier)에 민감하여, 극단적인 데이터 포인트가 군집의 중심을 크게 왜곡할 수 있습니다.


 K-평균 군집화의 응용 분야

- 고객 세분화: 고객을 구매 패턴이나 행동에 따라 그룹화하여 마케팅 전략을 최적화합니다.
- 이미지 압축: 유사한 색상 픽셀을 군집화하여 색상 팔레트를 줄임으로써 이미지 압축을 수행합니다.
- 문서 군집화: 유사한 주제를 가진 문서들을 그룹화하여 문서 분류 또는 주제 탐색에 사용됩니다.
- 유전자 데이터 분석: 유사한 유전자 발현 패턴을 가진 그룹을 식별하여 생물학적 연구에 활용됩니다.


 K-평균 군집화의 성능 평가

K-평균 군집화의 결과를 평가하기 위해 다양한 성능 지표를 사용할 수 있습니다:

- 군집 내 제곱합(Sum of Squared Errors, SSE): 각 군집 내 데이터 포인트와 중심점 간의 거리 제곱합을 계산합니다. SSE가 작을수록 군집화의 품질이 높다고 판단할 수 있습니다.
- 실루엣 계수(Silhouette Score): 각 데이터 포인트의 군집 내 응집도와 다른 군집과의 분리도를 평가합니다. 값이 1에 가까울수록 군집화가 잘 되었다고 볼 수 있습니다.
- 엘보우 방법(Elbow Method): 다양한 k값에 대해 SSE를 계산하고, SSE가 급격히 감소하는 지점(엘보우)을 찾아 최적의 k값을 선택합니다.

 


 결론

K-평균 군집화는 데이터 마이닝에서 매우 중요한 군집화 기법으로, 간단하고 효율적인 알고리즘입니다. 그러나 k값의 사전 설정, 초기 중심점의 선택, 군집의 모양에 따른 민감성 등의 단점이 있으므로, 적용 시 충분한 검토와 평가가 필요합니다. 다양한 분야에서 유용하게 활용할 수 있으며, 다른 군집화 기법들과 함께 사용하여 더 나은 성능을 도출할 수도 있습니다.