K-평균 (K-Means)은 데이터를 K개의 그룹 (클러스터)로 나누는 비지도 학습 (unsupervised learning) 알고리즘이다.
이름에서 알 수 있듯이, 각 클러스터의 중심 (centroid)을 평균 (mean)으로 정의하고, 데이터와 중심 사이의 거리를 최소화하는 방식이다.

주요 특징

  • 지도학습이 아니라서 정답 레이블이 필요 없음
  • 거리 기반 클러스터링 (일반적으로 유클리드 거리 사용함)
  • 빠르고 직관적이지만, 초기값과 K값 설정에 따라 결과가 달라질 수 있음

 

동작 원리

  1. K값 설정: 몇 개의 클러스터로 나눌지 (K 값)을 정한다
  2. 초기 중심점 선택: 데이터 중 무작위로 K개의 점을 선택해 초기 클러스터 중심을 설정한다
  3. 데이터 할당: 각 데이터 포인트를 가장 가까운 중심점에 할당한다
  4. 중심점 업데이트: 각 클러스터에 속한 데이터들의 평균 위치를 계산하여 새로운 중심점으로 갱신한다
  5. 수렴 조건 확인: 중심점의 위치가 더 이상 변하지 않거나 변화량이 매우 작아질 때까지 3 ~ 4단계를 반복한다

 

장점과 단점

장점

  • 간단히 구현할 수 있고 실행 속도가 빠름
  • 대용량 데이터에도 적용 가능
  • 차원이 낮을 때 시각화가 쉬움

단점

  • K 값을 미리 알아야 함
  • 초기 중심점 선택에 따라 결과가 달라짐
  • 원형 (구형) 클러스터가 아닌 경우 성능 저하
  • 이상치 (outlier)에 민감함

 

결론

K-평균 알고리즘은 간단하지만 강력한 비지도 학습 기법으로 다양한 분야에서 활용되고 있다.
하지만, K 값 선택과 초기값 설정, 그리고 데이터의 분포 특성을 고려하여 사용하여야 한다.
더 나은 성능을 위해서는 이상치를 제거하거나, 표준화 같은 전처리 과정을 함께 사용하는 것이 좋다.

+ Recent posts