본문 바로가기
IT/ML

K-Means Clustering(K-평균 군집화) 예시로 쉽게 이해하기

by 모던네이쳐 2020. 11. 19.
728x90

 Clustering은 비지도 학습이다. 지도 학습에서는 정답인 Y label이 있는 데이터를 사용하여 정답을 맞추는 것을 목표로 하나, 비지도 학습에서는 feature 정보들만 있는 데이터를 사용하여 최대한 비슷한 데이터들을 묶어 군집(Cluster)을 만드는 것이 목표이다.

 

 

K-means Clustering(K-평균 군집화)

 클러스터링(Clustering)을 설명하는데 있어 가장 기본적인 알고리즘이 K-means Clustering으로 이를 수행하는 방법은 다음과 같이 아주 쉽다.

  • 본인이 생각하는 적정한 군집의 수 K(예제에서는 K=3)를 설정한다.
  • Step 1: 각 데이터에 랜덤 하게 class를 부여한다.
  • Iteration 1, Step 2a: 각 class마다 점들 평균인 centroid를 구한다.
  • Iteration 1, Step 2b: 각 데이터마다 가장 가까운 centroid를 찾고 해당 class로 재할당을 한다.
  • 이를 새로운 class로 재할당되는 데이터가 없을 때까지 Iteration을 반복한다.

K-means Clustering

 

 

K-means 특징

 1. K-means는 반드시 수렴(converge)하여 class를 할당하는 작업이 더 이상 변하지 않고 끝난다는 것이 증명되어 있다. 때문에 상당히 안정적인 알고리즘으로 사용할 수 있다.

 

 2. 처음 initialize가 어떻게 되었는지에 따라 결과가 달라질 수 있다. 다음 그림을 보면 K=3이라는 군집이 첫 random 값에 의해 다른 결론이 도출되는 것을 볼 수 있다. 이에 random으로 class를 부여하는 작업을 여러 번 한 뒤 적절한 결과를 선택할 수 있다.

 

3. K를 몇으로 정할 것인지도 중요한 이슈이다. K를 고르는 명확한 가이드는 없으며, 여러 clustering validation 방법을 사용하여 어느 군집 개수가 적절한지 확인하는 방법을 사용해볼 수 있다.

 


 참고자료: ISLR Seventh Printing