데이터 반출 없는 다기관 연합 인공지능 학습 플랫폼

데이터 분석/군집화

손님 키와 몸무게 쌍 군집화: GMM (EM 알고리즘)

FedTensor 2026. 10. 17. 21:11

GMM(Gaussian Mixture Model)이 데이터를 군집화하는 핵심 원리는 EM(Expectation-Maximization) 알고리즘이라는 반복 과정을 통해 이루어집니다.

 

앞서 살펴본 동네 카페 손님들의 (키, 몸무게) 데이터를 바탕으로, GMM이 어떻게 최적의 타원형 구름들을 찾아내는지 단계별로 구체적인 과정을 설명합니다.

상황 설정

  • 관측 데이터: 하루 동안 방문한 손님들의 (키, 몸무게) 2차원 좌표점들.
  • 목표: 손님들을 3개의 타원형 구름($K=3$)으로 분류하기.
    • 예: 어린이 그룹, 성인 여성 그룹, 성인 남성 그룹
  • 찾아야 하는 정보 (각 구름의 파라미터):
    1. 중심점(평균 $\boldsymbol{\mu}$): 각 그룹의 평균 키와 몸무게
    2. 모양과 기울기(공분산 $\boldsymbol{\Sigma}$): 구름이 대각선으로 얼마나 길쭉하고 퍼져 있는지
    3. 크기 비중(혼합 비율 $\pi$): 전체 손님 중 해당 그룹이 차지하는 대략적인 비율

GMM의 4단계 군집화 과정 (EM 알고리즘)

1단계: 초기화 (초기 구름 3개 무작위 배치)

  • 분석가가 "3개 그룹으로 나눠줘($K=3$)"라고 설정하면, 좌표평면 위에 무작위로 3개의 타원형 안개 구름을 적당한 위치와 크기로 띄워둡니다.
  • 초기 상태이므로 당연히 실제 손님들의 체형 분포와 전혀 맞지 않는 엉성한 상태입니다.

2단계: E-단계 (Expectation, "지분율 계산하기")

"각 손님이 3개의 구름에 각각 얼마나 속할지 책임도(Responsibility)를 계산합니다."

 

현재 놓여 있는 3개의 타원형 구름 상태를 기준으로, 모든 손님 점 $\mathbf{x}_i$에 대해 다음을 계산합니다.

  • 손님 A (키 162cm, 몸무게 52kg)가 들어왔을 때:
    • 1번 구름(어린이)에서 이 점이 나올 확률: 5%
    • 2번 구름(성인 여성)에서 이 점이 나올 확률: 85%
    • 3번 구름(성인 남성)에서 이 점이 나올 확률: 10%
  • K-Means라면 2번 구름에 100% 할당하고 끝내겠지만, GMM은 이 확률 지분율 $(0.05, 0.85, 0.10)$을 그대로 기록해 둡니다.
  • 즉, 모든 손님마다 3개 구름에 대한 지분율(소속 확률)을 부드럽게 부여합니다.

3단계: M-단계 (Maximization, "구름의 위치와 모양 다시 맞추기")

"계산된 지분율을 바탕으로, 3개의 구름을 손님 데이터에 맞게 이동시키고 회전·변형합니다."

 

이제 E-단계에서 손님들이 준 지분율을 가중치로 사용하여 각 구름의 형태를 새롭게 갱신합니다.

  1. 중심 이동 (평균 $\boldsymbol{\mu}$ 갱신):
    • 2번 구름은 자신에게 높은 지분을 준 손님들(성인 여성 체형) 쪽으로 중심을 이동시킵니다.
  2. 모양과 기울기 조절 (공분산 $\boldsymbol{\Sigma}$ 갱신):
    • 2번 구름에 강하게 속한 손님들의 키와 몸무게가 대각선 방향(키가 클수록 몸무게도 늘어남)으로 분포되어 있다면, 구름의 허리를 조이고 대각선으로 길쭉하게 회전시킵니다.
  3. 구름의 전체 크기 조절 (혼합 비율 $\pi$ 갱신):
    • 전체 손님 중 2번 구름에 높은 확률을 준 사람이 많다면 2번 구름의 비중을 키우고, 손님이 적은 구름은 영향력을 줄입니다.

4단계: 수렴할 때까지 반복 (Convergence)

  • 다시 E-단계로 돌아가 새롭게 바뀐 구름 위치를 기준으로 손님들의 소속 확률을 다시 계산합니다.
  • 그다음 M-단계로 넘어가 구름의 위치와 형태를 한 번 더 미세 조정합니다.
  • E $\to$ M $\to$ E $\to$ M 과정을 수십~수백 번 반복하다 보면, 구름들의 중심과 기울기가 더 이상 변하지 않고 딱 들어맞는 순간(수렴, Convergence)이 찾아옵니다.

최종 결과: 무엇을 얻게 되는가?

반복이 완료되면 다음과 같은 결과물이 완성됩니다.

  1. 완벽하게 정렬된 3개의 타원형 구름:
    • 1번 구름: 키 130cm 안팎, 몸무게 30kg 중심의 어린이 체형 타원
    • 2번 구름: 키 160cm 안팎, 몸무게 55kg 중심의 대각선 성인 여성 체형 타원
    • 3번 구름: 키 175cm 안팎, 몸무게 75kg 중심의 대각선 성인 남성 체형 타원
  2. 유연한 확률적 판별 (Soft Clustering):
    • 어떤 손님의 키가 168cm, 몸무게 60kg인 경계선 체형이라면, 강제로 하나로 단정 짓지 않고 "성인 여성 구름 55%, 성인 남성 구름 45%"처럼 현실적이고 유연한 소속 확률을 얻을 수 있습니다.