K-means - K중심값

정의

K-means는 한국어로 K중심값으로 번역되곤 한다. K-means에서 mean은 평균, 즉 중심값을 의미하기 때문이다. 그러나 평균이 항상 중심값을 의미하는 것은 아니므로 주의가 필요하다. K-means에서 “mean"은 더 정확히 말하면 중심값보다는 대푯값을 의미한다. 하지만 대부분의 경우 중심값을 대푯값으로 사용하기 때문에 크게 문제되지는 않는다.

실무에서는 “케이민즈"로 원어를 그대로 발음하는 것이 일반적이다. 이 글에서는 현실과의 차이를 줄이기 위해 계속 K-means라고 표기한다.

K-means를 분리해서 해석하면 다음과 같다.

  • K: 분할할 군집의 개수. 사용자가 정해야 하는 값
  • means: 찾고자 하는 중심값들

위에서 언급한 것처럼 K-means에서 K는 사용자가 입력해야 하며, 알고리즘이 자동으로 결정하지 않는다. 다만, 적절한 반복 수행을 통해 적합한 값을 찾는 방법들이 있긴 하지만, 이는 활용을 위한 편법일 뿐이며, 이 값은 결국 사용자가 해결하려는 문제와 접근 방법에 따라 결정해야 한다.

K-means는 클러스터링 기법 중 가장 흔히 사용되는 방법 중 하나인데, 그 이유는 알고리즘이 매우 간단하기 때문이다.

원리 및 과정 설명

  1. 데이터를 모두 연속형 값을 가지는 멤버로 구성된 벡터로 변환한다.
  2. 변환된 벡터들을 이용해 R차원 공간에 나열하고, 여기서 K개의 중심점을 찾기 위해 초기 K개의 가상 중심점을 임의로(랜덤 또는 의도적으로) 결정한다.
  3. 중심점을 기준으로 벡터들을 가장 가까운 중심점에 묶는다.
  4. 묶인 K개의 벡터 그룹에서 중심점을 다시 계산한다. 이때 중심점은 이동할 수도 있고, 이동하지 않을 수도 있다. 보통은 이동한다.
  5. 이동한 중심점을 기준으로 다시 벡터들을 가장 가까운 중심점으로 묶는다. 중심점이 이동할 것이다.
  6. 위 과정을 중심점이 더 이상 이동하지 않거나 정해진 횟수를 초과할 때까지 반복한다.
  7. 최종 계산된 중심점 K개, 즉 중심점 벡터 K개가 이 알고리즘의 출력(output)이다.

장점 및 단점

장점

  • 매우 쉽고 단순하다.
  • 결과를 해석하기 쉽다.

단점

  • 연산력이 많이 소모된다.
  • 결과물 자체를 바로 활용하기보다는 해석하여 인사이트를 얻고 그 결과를 재활용해야 한다.

최종수정일: 2021-08-03 11:50
Copyright by IntoTheData all rights reserverd.