k-평균 군집화 (k-means clustering)

통계 컴퓨터과학·AI
한 줄 정의: 미리 정해둔 개수(k개)만큼 데이터를 서로 비슷한 것끼리 자동으로 묶어주는 대표적인 군집화(클러스터링) 알고리즘입니다.
k-평균 군집화k-평균 군집화 단계 순서: 군집 수 k 정하기 → 중심점 초기화, 중심점 초기화 → 가까운 중심에 할당, 가까운 중심에 할당 → 중심점 갱신, 중심점 갱신 → 수렴.군집 수 k 정하기엘보우·실루엣중심점 초기화임의로 k개가까운 중심에 할당유클리드 거리중심점 갱신소속 데이터 평균수렴소속이 안 바뀜12345할당과 갱신을 소속이 안 바뀔 때까지 반복한계초기 중심에 따라 지역 최적해에 머물 수 있음k-평균 군집화k-평균 군집화 단계 순서: 군집 수 k 정하기 → 중심점 초기화, 중심점 초기화 → 가까운 중심에 할당, 가까운 중심에 할당 → 중심점 갱신, 중심점 갱신 → 수렴.군집 수 k 정하기엘보우·실루엣중심점 초기화임의로 k개가까운 중심에 할당유클리드 거리중심점 갱신소속 데이터 평균수렴소속이 안 바뀜12345할당과 갱신을 소속이 안 바뀔 때까지 반복한계초기 중심에 따라 지역 최적해에 머물 수 있음

쉽게 풀면

여러 고객의 구매 데이터를 보고 "이 고객들을 몇 가지 유형으로 나눠보고 싶다"고 할 때, 미리 유형을 정해두지 않고도 데이터 스스로 비슷한 것끼리 모이게 할 수 있습니다. k-평균 군집화는 먼저 "그룹을 몇 개로 나눌지(k)"를 정한 다음, 각 그룹의 중심점을 임의로 찍고, 모든 데이터를 가장 가까운 중심점에 배정합니다.

그다음 각 그룹에 배정된 데이터들의 평균 위치로 중심점을 다시 옮기고, 이 과정을 데이터들의 소속이 더 이상 바뀌지 않을 때까지 반복합니다. 결과적으로 서로 비슷한 특징을 가진 데이터끼리 자연스럽게 뭉치게 됩니다.

왜 중요한가

k-평균 군집화는 정답 라벨 없이도 데이터 안에 숨어 있는 구조나 유형을 탐색적으로 발견할 수 있어, 마케팅의 고객 세분화, 생물학의 유전자 발현 패턴 분류, 이미지 압축, 사회과학의 유형 분류 연구 등 매우 폭넓은 분야에서 사용됩니다. 비지도학습의 대표 알고리즘으로서 다른 군집화 기법이나 차원축소 기법과 비교되는 기준점 역할을 하기도 합니다.

언제 쓰나

정답 라벨 없이 수치형 변수만으로 비슷한 관측치끼리 묶고 싶을 때 씁니다(고객 유형화, 응답자 유형 분류, 이미지 색 압축 등). 집단의 개수 k를 분석자가 미리 정해야 합니다.

결과는 이렇게 읽는다

가상의 예: 2개 변수를 가진 10명 (1,2), (1.5,1.8), (2,1), (1,0.6), (6,8), (7,8.5), (6.5,9), (8,8), (7.5,7), (3.5,5). k = 2로 나눕니다.

  1. 초기 중심을 (1,2), (6,8)로 둡니다.
  2. 모든 점을 가까운 중심에 배정하면 앞의 네 점과 (3.5,5)가 첫 군집, 나머지 다섯 점이 둘째 군집이 됩니다.
  3. 각 군집의 평균으로 중심을 옮기면 (1.8, 2.08)과 (7.0, 8.1)이 되고, 다시 배정해도 아무도 옮기지 않으므로 끝납니다.

논문에는 이렇게 보고한다

변수와 표준화 여부, k를 정한 근거, 초기화 방법과 시작 횟수, 난수 시드, 군집 크기와 군집별 특성을 적습니다. (위 가상 자료 기준)

모든 변수를 z점수로 표준화한 뒤 k-평균 군집분석(무작위 초기값 50회 시작 후 군집 내 제곱합이 가장 작은 해 선택, 난수 시드 0)을 실시하였다. 엘보 방법과 평균 실루엣 계수(0.73)를 근거로 군집 수를 2개로 정하였다. 군집 1(n = 5)과 군집 2(n = 5)의 변수별 평균은 표 3과 같다.

논문에서는 이렇게 쓰입니다

실제 논문에서

국내 학술지 논문에서 이 용어가 쓰인 문장을 그대로 옮겼습니다. 제목·학술지·연도와 원문 링크를 함께 적었습니다.

예시 문장

아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.

"고객 구매 패턴 데이터에 k-평균 군집화를 적용한 결과, 실루엣 계수 기준으로 k=4일 때 가장 뚜렷하게 구분되는 4개의 소비자 유형이 도출되었다."

이 문장은 연구자가 몇 개의 그룹으로 나누는 것이 가장 자연스러운지(k=4)를 사전에 탐색한 뒤, 그 기준에 따라 고객들을 4개의 유형으로 자동 분류했다는 뜻입니다. 실루엣 계수는 각 데이터가 자신이 속한 그룹과는 가깝고 다른 그룹과는 멀리 떨어져 있는지를 수치로 평가하는 지표입니다.

"단일세포 RNA 시퀀싱 데이터에 k-평균 군집화를 적용하여 세포 유형별로 서로 다른 발현 프로파일을 갖는 집단을 구분하였다."

생물정보학 연구에서 세포나 유전자를 발현 패턴에 따라 자동으로 그룹화할 때 쓰이는 표현이다.

"설문 응답을 바탕으로 k-평균 군집화를 실시하여 응답자를 서로 다른 소비 가치관을 지닌 하위 집단으로 분류하였다."

사회과학, 마케팅 연구에서 응답자 유형을 탐색적으로 분류할 때 흔히 사용되는 예문이다.

조금 더 깊게 보면

적절한 k값을 정하기 위해 흔히 엘보우 방법(군집 내 분산 합의 감소폭이 완만해지는 지점을 찾는 방법)이나 실루엣 계수를 활용합니다. k-평균은 각 데이터와 중심점 사이의 유클리드 거리를 기준으로 하기 때문에 변수 단위가 다르면 결과가 왜곡될 수 있어 사전에 표준화를 거치는 경우가 많습니다.

또한 초기 중심점 위치에 따라 결과가 지역 최적해에 머물 수 있어, k-means++와 같은 초기화 방법이나 여러 번의 반복 실행을 통해 안정성을 확보하는 것이 일반적입니다.

주의할 점

k-평균 군집화는 그룹 개수 k를 분석자가 미리 정해줘야 하며, 이 값에 따라 결과가 크게 달라질 수 있습니다. 또한 초기 중심점 위치에 따라 결과가 조금씩 달라질 수 있고, 그룹의 모양이 둥글지 않거나 그룹 간 크기 차이가 크면 잘 작동하지 않을 수 있습니다. 집단이 미리 정해져 있고 그 집단들의 평균을 비교하는 분산분석 같은 방법과 달리, k-평균 군집화는 정답이 없는 상태에서 데이터의 숨은 구조를 탐색하는 방법이라는 점이 다릅니다.

헷갈리기 쉬운 용어

군집·분류·차원 축소는 서로 다른 작업입니다.

용어하는 일정답 라벨
k-평균 군집k개 군집으로 나눔, 중심은 평균불필요
계층적 군집덴드로그램으로 병합 과정을 보임, k는 나중에 결정불필요
주성분분석변수를 적은 수의 축으로 요약(군집이 아님)불필요
로지스틱 회귀이미 정해진 범주를 예측(분류)필요

‘k-평균’의 k는 군집 수이고, k겹 교차검증의 k는 데이터를 나누는 조각 수입니다. 이름만 비슷합니다.

참고 문헌

  1. MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, 1, 281–297.
  2. Lloyd, S. P. (1982). Least squares quantization in PCM. IEEE Transactions on Information Theory, 28(2), 129–137.
  3. Rousseeuw, P. J. (1987). Silhouettes: A graphical aid to the interpretation and validation of cluster analysis. Journal of Computational and Applied Mathematics, 20, 53–65.
  4. Arthur, D., & Vassilvitskii, S. (2007). k-means++: The advantages of careful seeding. Proceedings of the Eighteenth Annual ACM-SIAM Symposium on Discrete Algorithms, 1027–1035.
  5. Jain, A. K. (2010). Data clustering: 50 years beyond K-means. Pattern Recognition Letters, 31(8), 651–666.

표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.

개념 계통

상위 개념

분야 전체 개념 지도 보기 →

관련 용어