Written by
LSM
on
TIL:K-means clustering
K-means clustering
- 주어진 데이터를 k개의 클러스터로 묶는 알고리즘
- 각 클러스터의 거리 차이 분산을 최소화 하는 방식으로 동작함
- unsupervised learning이기 때문에 라벨이 붙지 않은 데이터에 라벨을 붙여줌
알고리즘
- 초기 k의 평균값은 데이터들 중에서 무작위로 뽑힘
- 각 데이터는 가까운 평균값을 기준으로 k개의 클러스터를 형성함
- k개의 클러스터를 기준으로 평균값을 다시 재조정함
- 수렴할 때까지 2 ~ 3의 과정이 반복
Code
알고리즘의 한계점
- k의 값은 사용자가 임의로 정해줘야 함
- 알고리즘의 에러 수렴이 global minimum이 아닌 local minmum에 수렴할 가능성이 있음
- 이상값에 민감
- 구형이 아닌 모양을 군집할 시 적합하지 않음