EM (Expectation Maximization) 算法理解

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

原理
给定一个数据集 x1,x2,...,xn ,估计如下最大化问题:

drawing

此处, z (取值从 z1 zm )是隐含随机变量(可以看成是 xi 的标签),因为不知道 z1 zm 的具体取值,因而上述问题难以求解。

下面用EM算法来求解

EM (Expectation Maximization) 算法理解_第1张图片

其中 z=zj,j=1:mQi(z)=1 ,这样得到了 l(θ) 的一个下界。

为了使得等式成立,有:

EM (Expectation Maximization) 算法理解_第2张图片

因此:
这里写图片描述

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

  • E 过程
    对于每一个 i ,求 Qi(z)=p(z|xi;θ)
    (注意: E 过程中的 θ 是由上一个 M 过程求得,最开始迭代所用 θ 是随机初始化的)。
  • M 过程
    这里写图片描述

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

这里写图片描述

此处已经假设 Qi 中的 θt+1 是求解到了的,这就是为什么以验证的角度来看
EM (Expectation Maximization) 算法理解_第3张图片

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

注:第一个不等式只有在 Qi 取值合适( Jensen inequality 等号成立条件)时才有等号成立,第二个不等式是由“ M 过程”得到,其中的两个等式是由“ E 过程”得到。

参考文献
1 期望最大化算法, binary_seach, December 3, 2012
2 CS 229 Lecture notes, Andrew Ng

深入理解与阅读
http://blog.tomtung.com/2011/10/em-algorithm/

你可能感兴趣的:(经典,数据,解决)