您的位置:首页 > 其它

EM算法简单介绍

2016-07-02 22:56 316 查看
EM背景介绍

1.概率模型有事既含有观测变量,又含有隐变量。比如HMM中的隐状态。 如果概率模型的变量是观测变量,那么给定训练数据,可以直接用最大似然估计或者最大后验估计或者贝叶斯估计来求得参数模拟数据的分布,当然也可以用非参估计(比较复杂)。但是,当模型含有隐变量,就不能简单的用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计方法。

EM过程

1.EM算法是一种迭代算法。EM算法每次迭代分为2步:E步,求期望;M ,求极值。

EM算法

EM算法的基本思想:随机选取来初始化待估计参数θ(0),然后不断迭代赵更优的θ(n+1),使得其似然L(θn+1)比原来的L(θ(n))更大。即如果我们现在得到θ(n),想求θ(n+1)使得:

θ(n+1)=maxθ(L(θ)−L(θ(n)))

我们已知log似然为L(θ)=log(P(X|θ),其中X是已观测的随机变量。现在转向 complete data log-likelihood 的概率。所谓 complete data 就是模型中隐变量也被观测到了。与L(θ)不同的是,

Lc(θ)=logP(X,H|θ)Lc(θ)

=logP(X,H|θ)=log(P(X|H,θ)P(H|θ))

=L(θ)+logP(X|H,θ)

引入上述概念后,则

L(θ)−L(θn)

=Lc(θ)−logP(X|H,θ)−L(θn)

=Lc(θ)−logP(X|H,θ)−Lc(θn)+logP(X|H,θn)

=Lc(θ)−Lc(θn)+logP(X|H,θn)P(X|H,θ)

对上式两边同时求P(H|X,θn)的期望,得到:

L(θ)−L(θn)

=∑HLc(θ)P(H|X,θn)

−∑HLc(θn)P(H|X,θn)

+∑HP(H|X,θn)logP(X|H,θn)P(X|H,θ)

上面=左边不变的原因是,H没有出现在似然L中。上式右边最后一项可以看做P(X|H,θn)和P(X|H,θ)的KL-divergence(2个分布的相似度KL-divergence的性质),他的值是非负的。则

L(θ)−L(θn)>=∑HLc(θ)P(H|X,θn)−∑HLc(θn)P(H|X,θn)

L(θ)>=∑HLc(θ)P(H|X,θn)−∑HLc(θn)P(H|X,θn)+L(θn)

因此我们得到L(θ)的一个下界。EM算法就是不断的最大化这个下界,从而使得L(θ) 不断最大化。上公式最后2项是和θ无关的,可以看做常数。因此我们最终任务是最大化:

EP(H|X,θn)(Lc(θ))=∑HLc(θ)P(H|X,θn)。上式就是所谓的Q函数了。记为Q(θ;θn)。

综上述,EM算法步骤如下

1、随机选取(极大似然)或者根据先验知识(最大后验估计)来初始化θ0。

2、迭代执行下面2步E和M

a)、E-step(期望) 计算Q(θ;θn)

b)、M-step(maximization) 重新估计参数θ,即求θ(n+1)使得θ(n+1)=argmaxθQ(θ;θn)

3、直至收敛。

注意EM不能保证收敛到最优解(凸有最优解),只能局部最优解

总结:更新θn后产生新的Q函数,再求新的Q函数的极大值得到新的θn+1,而目标函数L(θ)始终是大于等于Q函数的,迭代N次后L(θ)越来越多直至收敛。收敛性证明就不说了!

参考文献:A Note on EM Algorithm and PLSA XinYan Lu
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: