EM算法

当f(x)函数是凹函数的时候,Jensen不等式的不等号就要反向了,E[f(x)]<=f(Ex)。

EM算法主要用在具有隐含变量而且直接用最大似然估计(MLE)或者最大后验概率(MAP),这么说可能没有一个具体的认识,我们可以举一个例子:

假设我们有一个训练样本集,我们希望得到包含了隐含变量z的模型中的参数,这就是我们经常遇到的参数估计的问题,我们能够观测到的变量是,它可以是一切我们可以直接得到的变量(例如文档中的词),往往模型中还有一个甚至多个我们观察不到的隐含变量(例如文档的主题),我们可以记为,一般的做法就是找到最大似然函数,取对数,求导,令等式等于0,求得的参数对应着似然函数的极大值或者极小值。对于上面的例子我们写出它的似然函数:


对于这个似然函数的写法,我有点不明白的是看边肇祺的《模式识别》p48页把这个似然函数写为p((观测变量)|(待估参数)),而这里确是p(观测变量;待估参数),细想下觉得是一样的,都是认为已经给定了待估参数。(如果理解不正确还请大牛答疑!),然后按照上面的MLE步骤来,你会发现log函数中还有累加,如果直接求解会非常困难,既然不能直接最大化似然函数,我们就尝试不断地建立的下界(E步),然后优化下界(M步),下图中就是一个不断迭代的过程,不断建立下界来逼近似然函数的极值。



下面给出求解过程:




上面就是引入一个概率分布,利用分子分母同乘它,将概率乘积转换为期望。然后利用上面的Jensen不等式得到下式等式的取得必须是为常数。这样我们就得到了似然函数的一个下界函数,那么怎么样才能在处是常数呢,只能是分子分母成比例,分式才能是一个常数,前面已经假定了是一个概率分布,所以必须满足,再看看分子,只能是,分式在处为,显然是一个常数。将带入不等式得到:



再作进一步推导如下:



倒数第三步是因为 θ  无关。这就是M步。E步其实就是利用M步得到的θ来计算,之前看了一次EM算法,被那些玄乎的推导,搞的一头雾水,现在再来看一边,感觉好多了。

有了上面的知识,我们可以把EM算法高度概括如下:

(1)E步骤:求隐含变量Given当前估计的参数条件下的后验概率即

(2)M步骤:最大化Complete data对数似然函数的期望,此时我们使用E步骤里计算的隐含变量的后验概率,得到新的参数值。

两步迭代进行直到收敛。

先解释一下什么是Incomplete data和complete data。Zhai老师在一篇经典的EM算法Notes中讲到,当原始数据的似然函数很复杂时,我们通过增加一些隐含变量来增强我们的数据,得到“complete data”,而“complete data”的似然函数更加简单,方便求极大值。于是,原始的数据就成了“incomplete data”。我们将会看到,我们可以通过最大化“complete data”似然函数的期望来最大化"incomplete data"的似然函数,以便得到求似然函数最大值更为简单的计算途径


上面所有参考如下:

http://blog.youkuaiyun.com/yangliuy/article/details/8330640

http://blog.tomtung.com/2011/10/em-algorithm/

http://www.cnblogs.com/rocketfan/archive/2011/07/03/2096953.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值