Expectation Maximization EM 算法

EM 算法介绍

对于未观测的变量,隐变量 latent variable,无法直接求解极大似然估计,此时考虑边际似然。
XX表示已观测变量集,ZZ表示隐变量集,Θ\Theta表示模型参数。
欲对Θ\Theta做极大似然估计,则应最大化对数似然

LL(ΘX,Z)=lnP(X,ZΘ)LL(\Theta|X,Z) = \ln P(X,Z| \Theta)

然而由于ZZ是隐变量,上式无法直接求解。此时我们可通过对ZZ计算期望,来最大化已观测数据的对数”边际似然” marginal likelihood

LL(ΘX)=lnP(XΘ)=lnZP(X,ZΘ)LL(\Theta|X) = \ln P(X| \Theta) = \ln \sum_Z P(X,Z | \Theta)

EM 算法是估计参数隐变量的利器,是一种迭代式的方法。简单地说,EM 就是先由目前的 distribution θn\theta n,推测出 missing data zz 最适合的 distribution,再由已知的 data + missing data zz 去推测下一步整个变量集的 distribution θn+1\theta_{n+1}

基本想法:
Image Loading

EM 算法:
Image Loading

Image Loading
Image Loading

EM 算法是一种坐标下降法 coordinate descent 来最大化对数似然下界的过程。
应用于高斯混合模型的参数估计、隐马尔科夫模型的非监督学习、k 均值聚类算法等处。
Image Loading

Ref

[1] 机器学习 - 周志华
[2] 统计学习方法