K-평균은 데이터 클러스터링을 하도록 도와주는 알고리즘으로 데이터 집합에서 클러스터를 알아내기에 유용하다.
이게 무슨 말이야? 아래 그림을 보면 명확해진다.
이렇게 데이터들을 클러스터링해주는 것이다.
즉, 위 그림에서는 총 3개의 클러스터가 있다고 할 수 있다.
그렇다면 K-평균 알고리즘은 어떻게 동작하는 걸까?
Step 1.클러스터의 수 K를 정한다. (최적의 클러스터 수를 정하는 것은 뒤에서)
Step 2. 클러스터의 중앙이 될 랜덤한 점을 K개 선택한다. 데이터와 상관 없는 점이어도 된다.
Step 3. 각 데이터들을 클러스터의 중앙들 중 가까운 곳에 분류해준다. (여기서는 유클리드 거리를 썼지만, 다른 종류의 거리가 될 수도 있다)
Step 4. 클러스터의 중앙을 각 데이터 클러스터의 가운데로 옮긴다.
Step 5. 옮겨진 클러스터의 중앙을 기준으로, 기존의 데이터를 가까운 클러스터의 중앙의 클러스터로 재배정한다.
Step 6. 재배정이 일어나지 않을 때까지 Step4~5를 반복한다.
최종 결과.
K-평균 클러스터의 함정
그러나 처음 중심부를 어디에 잡느냐에 따라 클러스터링의 결과가 달라질 수 있다.
실제로 이를 보정한 것이 K-평균++라고 불린다.
하지만 라이브러리가 이를 해줄 것이기 때문에... 일단은 넘어간다.
어디까지나 교양 수준으로 공부하는 것이기에
'AI > 클러스터링' 카테고리의 다른 글
[연관 규칙 - 1] Apriori란? (0) | 2022.05.09 |
---|---|
[클러스터링 - 3] 계층적 클러스터링(Hierarchical Clustering)이란? (0) | 2022.05.03 |
[클러스터링 - 2] K-평균 클러스터에서 최적의 K 정하기 (0) | 2022.05.03 |
댓글