您的位置:首页 > 其它

EM (Expectation Maximization) 算法理解

2015-06-07 11:42 169 查看
主要用途

解决存在隐含随机变量的估计问题:最大似然估计(MLEMLE),最大后验概率。

原理

给定一个数据集 x1,x2,...,xnx^1,x^2,...,x^n,估计如下最大化问题:



此处,zz(取值从z1z^1到zmz^m)是隐含随机变量(可以看成是xix^i的标签),因为不知道z1z^1到zmz^m的具体取值,因而上述问题难以求解。

下面用EM算法来求解



其中∑z=zj,j=1:mQi(z)=1∑_{z=z^j,j=1: m}Q^i (z)=1,这样得到了l(θ)l(θ)的一个下界。

为了使得等式成立,有:



因此:



EM算法过程 (不断迭代,直到收敛)

EE过程

对于每一个ii,求Qi(z)=p(z|xi;θ)Q^i (z)=p(z|x^i;θ)

(注意: EE 过程中的θθ是由上一个MM过程求得,最开始迭代所用θθ是随机初始化的)。

MM过程



收敛性(此处应该以验证的角度来看,而不是以具体计算过程的角度来看)



此处已经假设 QiQ^i中的 θt+1θ^{t+1}是求解到了的,这就是为什么以验证的角度来看



此处已经假设 QiQ^i中的 θtθ^t是求解到了的,这就是为什么以验证的角度来看

注:第一个不等式只有在QiQ^i取值合适(JensenJensen inequalityinequality等号成立条件)时才有等号成立,第二个不等式是由“MM过程”得到,其中的两个等式是由“EE过程”得到。

参考文献

1 期望最大化算法, binary_seach, December 3, 2012

2 CS 229 Lecture notes, Andrew Ng

深入理解与阅读

http://blog.tomtung.com/2011/10/em-algorithm/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: