핵심 인사이트

EM 알고리즘(Expectation-Maximization Algorithm)은 "관측 데이터만으로 MLE(Maximum Likelihood Estimation)가 불가능할 때, 잠재변수(Latent Variable)에 대한 기댓값을 계산하고 파라미터를 갱신하는 과정을 반복해 수렴시키는" 우아한 반복 최적화 기법이다. E-단계(Expectation Step)와 M-단계(Maximization Step)를 교대 반복할 때마다 로그 우도(Log-Likelihood)는 단조 증가(Monotonically Non-Decreasing)가 보장된다 — 이것이 EM의 수학적 핵심이다. GMM(Gaussian Mixture Models) 클러스터링, HMM(Hidden Markov Model) 학습, 결측 데이터 대체까지 — EM은 "불완전한 데이터"를 다루는 통계학의 만능 열쇠다.


Ⅰ. 문제 설정: 잠재변수와 불완전 데이터

완전 데이터 (Complete Data): (X, Z) — 관측값 X와 잠재변수 Z 모두 알 때
불완전 데이터 (Incomplete Data): X만 관측, Z는 숨겨져 있음

MLE(Maximum Likelihood Estimation) 목표:

θ* = argmax log P(X|θ) = argmax log Σ_Z P(X, Z|θ)

잠재변수 Z에 대한 합산(marginalization) 때문에 log 안에 Σ가 생겨 직접 미분 최적화가 불가능하다. log(합)은 합(log)보다 훨씬 복잡하다.

EM의 핵심 아이디어: 직접 최적화하는 대신, **완전 데이터의 로그 우도에 대한 기댓값(Q 함수)**을 반복 최대화한다.

📢 섹션 요약 비유: 잠재변수 문제는 "배달 기록 없이 창고 재고 파악하기"와 같다. 어떤 상품이 어디로 갔는지 모르지만(Z 숨겨짐), 남은 재고(X)를 보면서 "아마 이런 패턴이겠지"를 추론하는 것이 EM이다.


Ⅱ. EM 알고리즘 수식

Q 함수 (보조 함수):

Q(θ | θ_old) = E_{Z|X, θ_old} [ log P(X, Z | θ) ]
             = Σ_Z P(Z|X, θ_old) · log P(X, Z|θ)

E-단계 (Expectation Step):
현재 파라미터 θ_old를 고정하고, 잠재변수 Z의 사후 분포 P(Z|X, θ_old)를 계산해 Q 함수를 구성.

M-단계 (Maximization Step):
Q 함수를 최대화하는 새 파라미터를 찾음:

θ_new = argmax_θ Q(θ | θ_old)

반복: θ_old ← θ_new, 수렴까지 반복.

EM 반복 사이클:

┌─────────────────────────────────────────────────────┐
│                   EM 반복 사이클                      │
│                                                      │
│   초기화 θ⁽⁰⁾                                        │
│        │                                             │
│        ▼                                             │
│   ┌─────────────────────────────────────────────┐   │
│   │  E-단계: Z 사후 분포로 Q(θ|θ_old) 계산      │   │
│   └──────────────────┬──────────────────────────┘   │
│                      │                               │
│                      ▼                               │
│   ┌─────────────────────────────────────────────┐   │
│   │  M-단계: Q 함수 최대화 → θ_new 갱신         │   │
│   └──────────────────┬──────────────────────────┘   │
│                      │                               │
│          수렴?   ────▶ Yes → 종료                    │
│           No ◀────────                               │
└─────────────────────────────────────────────────────┘

📢 섹션 요약 비유: EM은 "가구 배치 최적화"와 같다. E-단계는 "사람들이 이 방에서 주로 어디 있는지 관찰"하고, M-단계는 "그 패턴에 맞게 가구를 옮기는" 것이다. 반복할수록 가구 배치가 점점 나아진다.


Ⅲ. 단조 증가 보장 (Jensen's Inequality)

EM이 각 반복마다 로그 우도를 감소시키지 않는 이유는 Jensen 부등식(Jensen's Inequality) 때문이다.

Jensen 부등식: f가 오목 함수(concave)이면, E[f(X)] ≤ f(E[X]).
log는 오목 함수이므로:

log Σ_Z P(Z|X, θ_old) · [P(X,Z|θ) / P(Z|X, θ_old)]
≥ Σ_Z P(Z|X, θ_old) · log [P(X,Z|θ) / P(Z|X, θ_old)]

이를 정리하면: log P(X|θ_new) ≥ log P(X|θ_old)

즉 매 반복마다 관측 데이터의 로그 우도는 줄어들지 않는다. 단조 증가 보장.

수렴 특성:

  • 국소 최대값(Local Maximum)에 수렴 — 전역 최대값(Global Maximum) 보장 없음
  • 해결책: 다양한 초기값으로 여러 번 실행 (Multiple Random Restarts)
  • 안장점(Saddle Point)에서 멈출 수 있음

📢 섹션 요약 비유: EM의 단조 증가 보장은 "낮은 곳으로만 흐르는 물"과 같다. 물은 절대 위로 흐르지 않듯, EM의 로그 우도는 절대 낮아지지 않는다. 다만 산의 최고봉(전역 최대)이 아닌 언덕 위(국소 최대)에서 멈출 수 있다.


Ⅳ. GMM에서의 EM 구체 적용

**GMM(Gaussian Mixture Models, 가우시안 혼합 모델)**은 K개 가우시안 분포의 가중합:

P(x) = Σ_{k=1}^{K} π_k · N(x | μ_k, Σ_k)

파라미터: π_k (혼합 가중치), μ_k (평균), Σ_k (공분산 행렬)
잠재변수 Z_i = k: i번째 데이터가 k번째 클러스터에 속함

GMM의 E/M 단계 구체 계산:

단계계산 항목수식
E-단계책임도 (Responsibility)r_ik = π_k·N(xᵢ|μ_k,Σ_k) / Σ_j π_j·N(xᵢ|μ_j,Σ_j)
M-단계혼합 가중치 갱신π_k^new = (1/N) Σᵢ r_ik
M-단계평균 갱신μ_k^new = Σᵢ r_ik·xᵢ / Σᵢ r_ik
M-단계공분산 갱신Σ_k^new = Σᵢ r_ik·(xᵢ-μ_k)(xᵢ-μ_k)ᵀ / Σᵢ r_ik

K-평균(K-Means)과의 관계: K-Means는 **하드 EM(Hard EM)**으로 해석 가능하다. r_ik ∈ {0, 1} (단 하나의 클러스터에만 완전 배정). GMM의 r_ik ∈ (0,1)인 소프트 EM과 달리, 확률적 배정 없이 가장 가까운 클러스터에만 완전 배정한다.

📢 섹션 요약 비유: GMM의 EM은 "설문 결과 분석"과 같다. 응답자가 어느 집단(Z)에 속하는지 모른 채 설문 데이터(X)만 있을 때, 먼저 "아마 이 집단이겠지" 확률을 추정(E-단계)하고, 그 확률로 각 집단의 평균·분산을 갱신(M-단계)하는 것이다.


Ⅴ. 응용: HMM 학습, 결측 데이터, 변형

Baum-Welch 알고리즘: HMM 파라미터 추정을 위한 EM 특수 케이스.

  • E-단계: Forward-Backward Algorithm으로 숨겨진 상태의 사후 확률 계산
  • M-단계: 전이 확률·방출 확률·초기 확률 갱신

결측 데이터(Missing Data) 대체(Imputation):

  • 결측값을 잠재변수 Z로 취급
  • E-단계: 결측값의 기댓값(조건부 평균) 계산
  • M-단계: 완전화된 데이터로 파라미터 추정

EM 변형 알고리즘:

┌───────────────────────────────────────────────┐
│             EM 알고리즘 변형 계열               │
├──────────────┬──────────────┬─────────────────┤
│  표준 EM     │   변분 EM    │   온라인 EM      │
│ (Batch)     │ (Variational) │ (Stochastic)    │
├──────────────┼──────────────┼─────────────────┤
│ 전체 데이터  │ 근사 사후    │ 미니배치 갱신    │
│ 한 번에 처리 │ 분포 사용    │ (대규모 데이터)  │
└──────────────┴──────────────┴─────────────────┘

📢 섹션 요약 비유: EM 알고리즘의 응용은 "불완전한 퍼즐 맞추기"와 같다. 빠진 조각(잠재변수)을 "아마 이 모양이겠지"로 임시 채우고 전체 그림을 맞춰보고, 다시 빠진 조각 모양을 수정하기를 반복하면 결국 완성된 그림이 나타난다.


📌 관련 개념 맵

개념연결 개념관계
EM 알고리즘MLE (잠재변수)해결 방법
E-단계사후 분포 P(Z|X,θ)계산 대상
M-단계Q 함수 최대화파라미터 갱신
Jensen 부등식단조 증가 보장수학적 근거
GMM소프트 EM주요 응용
K-Means하드 EMEM 특수 케이스
Baum-WelchHMM 학습EM 특수 케이스

📈 관련 키워드 및 발전 흐름도

[잠재 변수 모델 (Latent Variable Model) — 관측 불가능한 숨겨진 변수 포함]
    │
    ▼
[EM 알고리즘 (Expectation-Maximization) — E단계(기댓값 계산) + M단계(파라미터 최적화) 반복]
    │
    ▼
[GMM (Gaussian Mixture Model) — EM으로 혼합 가우시안 파라미터 추정]
    │
    ▼
[베이지안 EM (Bayesian EM) — 사전 분포를 결합한 MAP 추정으로 과적합 방지]
    │
    ▼
[변분 추론 (Variational Inference) — EM의 확장, 복잡한 사후 분포 근사]

이 흐름은 잠재 변수를 포함한 확률 모델의 우도 최대화를 위해 EM 알고리즘이 개발되고, GMM 등의 응용을 거쳐 베이지안 방법과 변분 추론으로 발전하는 과정을 보여준다.

👶 어린이를 위한 3줄 비유 설명

반 아이들을 키와 성격으로 두 팀으로 나누고 싶은데, 누가 어느 팀인지 모를 때 — 먼저 "아마 이 아이는 A팀이겠지" 확률로 나눠보고(E-단계), 그 기준으로 팀 평균 키를 다시 계산해(M-단계), 반복하면 딱 맞는 팀 구분이 나와! 이건 "가구 배치"랑 똑같아 — 사람들이 어디 많이 모이는지 보고(E), 거기에 소파를 두고(M), 다시 관찰하고 반복하다 보면 가장 좋은 배치가 완성돼. EM 알고리즘은 절대로 결과가 나빠지지 않아 — 반복할수록 점점 더 좋아지는 게 수학으로 증명됐거든!