EM 알고리즘은 Gaussian Mixture Model의 파라미터를 MLE로 학습할 때 대표적으로 사용되는 알고리즘이다.
EM Algorithm(Expectation Maximization Algorithm)은 관측되지 않은 latent variable(잠재 변수)가 포함된 확률 모형의 파라미터를 추정하는 방법이다.
E-step에서는 현재 파라미터 $\theta$로 잠재 변수 $Z$를 추정한다.
현재 파라미터를 $\theta^{old}$라고 하자.
현재 파라미터를 기준으로 봤을 때, 데이터가 잠재 변수에 속할 확률인 $p(Z|X, \theta^{old})$를 계산한다.
그 후 Complete-data Log-likelihood의 Expectation을 계산한다.
$Q(\theta, \theta^{old}) = E_{Z|X, \theta^{old}}[\log p(X,Z|\theta)]$
M-step에서는 추정된 잠재 변수 $Z$에 대하여 가장 적절한 파라미터 $\theta$를 다시 추정한다.
E-step에서 계산한 $Z$의 posterior를 이용하여 $Q(\theta, \theta^{old})$를 최적화하는 새로운 파라미터를 찾는다.
$\theta^{new} = \argmax_{\theta} Q(\theta, \theta^{old})$