1. 개요
Expectation-Maximization (기댓값 최대화) 알고리즘은 관측되지 않은 변수, 즉 잠재 변수(latent variable)를 포함한 확률 모델의 파라미터를 최적화하기 위한 반복 알고리즘이다.
직접적으로는 최적화하기 어려운 불완전 로그 우도(incomplete log-likelihood) 대신, 관측되지 않은 데이터의 분포에 대한 기댓값을 취한 로그 우도를 반복적으로 최대화한다.
2. 역사와 배경
EM 알고리즘은 1977년 Dempster, Laird, Rubin의 논문에서 일반적인 형태로 정립되었다. 하지만 그 이전에도 유사한 알고리즘은 통계학과 정보이론 분야에서 간헐적으로 사용되었다. 가장 널리 알려진 응용 사례는 가우시안 혼합 모델(GMM)과 히든 마르코프 모델(HMM)에서의 파라미터 추정이다.
3. 문제 설정
- 관측된 데이터: X={x1,…,xn}
- 숨겨진(잠재) 변수: Z={z1,…,zn}
- 파라미터: θ
관측 불가능한 전체 데이터는 Y=(X,Z)이고, 우리가 최적화하고 싶은 것은 다음과 같은 로그 가능도이다.
logp(X∣θ)=logZ∑p(X,Z∣θ)
하지만 log 안에 합(sum)이 있어서 직접 최적화하기 어렵다.
4. 핵심 아이디어
직접적으로 최적화할 수 없는 logp(X∣θ) 대신, 현재 파라미터 θ(t) 하에서 숨겨진 변수 Z의 분포를 고려해, 기댓값 형태의 우도 함수를 최적화한다.
이 과정은 다음 두 단계로 이루어진다.
- E-step: 숨겨진 변수의 분포에 대한 기대값 계산
- M-step: 기대값을 고정한 상태에서 파라미터 최적화
5. 알고리즘 절차
Step 0: 초기화
파라미터 θ(0)를 초기화한다.
Step 1: E-step (Expectation step)
현재 파라미터 θ(t)에서 완전 로그우도의 기댓값을 계산한다.
Q(θ∣θ(t))=EZ∣X,θ(t)[logp(X,Z∣θ)]
이 기대값은 현재 조건부 분포 p(Z∣X,θ(t))를 기반으로 계산된다.
Step 2: M-step (Maximization step)
E-step에서 계산한 기대값 Q를 파라미터 θ에 대해 최대화한다.
θ(t+1)=argθmaxQ(θ∣θ(t))
Step 3: 수렴 여부 확인
다음 중 하나의 조건이 충족될 때까지 1~2단계를 반복한다:
- ∣θ(t+1)−θ(t)∣<ε
- 반복 횟수가 최대치를 초과하거나, 로그 가능도의 증가량이 매우 작을 때.
6. 수학적 유도 (Jensen 부등식 기반)
불완전 로그우도 logp(X∣θ)는 다음과 같이 변형 가능하다:
logp(X∣θ)=logZ∑q(Z)⋅q(Z)p(X,Z∣θ)≥Z∑q(Z)logq(Z)p(X,Z∣θ)
이 하한을 최대화하는 것이 EM 알고리즘의 핵심이다. 이 식의 등호는 q(Z)=p(Z∣X,θ)일 때 성립한다.
7. 예제: 가우시안 혼합 모델 (GMM)
- 각 데이터 xi는 K개의 가우시안 분포 중 하나에서 생성됨
- 잠재 변수 zi는 xi가 어떤 가우시안에서 왔는지를 나타냄
E-step: 책임도 계산
γik=p(zi=k∣xi,θ(t))=∑j=1Kπj(t)⋅N(xi∣μj(t),Σj(t))πk(t)⋅N(xi∣μk(t),Σk(t))
M-step: 파라미터 갱신
Nk=i=1∑nγik
μk(t+1)=Nk1i=1∑nγikxi
Σk(t+1)=Nk1i=1∑nγik(xi−μk(t+1))(xi−μk(t+1))T
πk(t+1)=nNk
8. 수렴성 및 성질
- EM 알고리즘은 반복할수록 logp(X∣θ)를 증가시킨다.
- 일반적으로 국소 최댓값(local maximum)으로 수렴한다.
- 전역 최적 해를 보장하지는 않는다.
- 수렴 속도가 느린 경우도 많다.
9. 요약 테이블
| 단계 | 내용 |
|---|
| E-step | 조건부 기대값 Q(θ∣θ(t)) 계산 |
| M-step | 기대값을 최대화하여 θ(t+1) 갱신 |
| 반복 조건 | 로그 가능도의 증가 또는 파라미터 차이 기준으로 수렴 여부 결정 |
10. MLE와의 관계
MLE와 다른 것이 아니다. 이는 최적화의 목표이고, MLE를 수행하기 위한 서로 다른 전략이 존재한다고 볼 수 있따. EM은 "잠재 변수 포함된 경우의 MLE"라고 볼 수 있따.