brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Oct 23. 2023

Clustering을 위한 K-means 알고리즘

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


들어가며

지난 시간의 Clustering을 위한 Distance 개념들을 소개한 것에 이어서 이번편부터는 본격적으로 Clustering을 위한 알고리즘에 대해서 살펴보도록 할 것이다. 그중 이번 편은 클러스터링의 대표적인 알고리즘 중 하나인 K-means 알고리즘에 대해서 여러분에게 소개해드리고 싶다. 우선 K-means에 대해서 간략하게 소개하자면 비지도학습 방법의 일종으로, 데이터를 여러 군집으로 나누는 알고리즘이다. 이를 통해서 데이터 내에서 숨겨진 패턴을 발견할 수 있다. 여기에서 K는 데이터 포인트들을 분류하기 위한 설정으로 K개의 클러스터로 분류를 하기 된다. 그리고 클러스터링은 데이터의 유사성에 기반하여 수행되며, 각 클러스터는 중심점에 의해서 정의된다.



출처 : https://www.kaggle.com/code/heeraldedhia/kmeans-clustering-for-customer-data


K-means 클러스터링 과정

1. 군집의 개수(K) 설정

클러스터링을 시작하기 전, 분석가는 몇 개의 클러스터를 형성할지 결정해야 한다. 이는 K-means의 성능에 큰 영향을 미치는 아주 중요한 단계이다.


2. 초기 중심점 설정

알고리즘은 초기 단계에서 클러스터의 중심점을 무작위로 선택하거나, 다른 특정 기준에 따라 선택할 수 있다. 이 초기 설정은 결과적인 클러스터링의 품질에 영향을 미친다.


3. 데이터를 군집에 할당(배정)

각 데이터 포인트는 가장 가까운 클러스터 중심에 할당된다. 이 과정에서 일반적으로 유클리드 거리 측정 방식이 사용된다.


4. 중심점 재설정(갱신)

클러스터의 중심점은 클러스터에 속한 모든 데이터 포인트의 중앙에 재설정된다. 이는 클러스터 내 데이터 포인트의 평균 위치에 해당한다.


5. 데이터를 군집에 재할당(배정)

중심점의 위치가 조정되면, 데이터 포인트는 새로운 중심점에 따라 재할당된다. 이 과정은 중심점이 더 이상 변하지 않을 때까지, 즉 클러스터링이 수렴할 때까지 반복된다.



K-mena의 한계점

K-means 클러스터링의 주요 한계 중 하나는 군집의 개수를 미리 설정해야 한다는 점이다. 이는 데이터의 복잡성과 구조에 따라 적절한 K값을 설정하는 것이 어려울 수 있음을 의미한다. 또한, 초기 중심점의 선택은 클러스터링 결과에 큰 영향을 미칠 수 있어, 이 부분에서 k-means++같은 알고리즘이 개발되어 이를 보완하고 있다.



마치며

K-means 클러스터링은 시장 세분화, 이미지 분석, 이상 탐지 등 다양한 분야에서 응용된다. 비록 몇몇 한계점이 존재하지만, 적절한 전처리와 파라미터 설정을 통해 이러한 문제점들을 극복할 수 있을 것이다. 

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