EM算法

我所知道的最简单的EM算法推导:

预备知识: jessen不等式

这里不详细讲解Jessen不等式,大家可以google,这里只大概讲解其意思,就是对于凹函数f(x)(即大肚子向上,口子向下,国外和国内的定义不同,特此注明),

f(E(x)) >= E(f(x)); 若是凸函数,不等号的方向相反。等号成立的条件是x是常变量,即各个值相等

推导:

    假设X是已知变量,H是隐藏变量,\theta是参数

    目标是推断出已知X的情况下,\theta的取值,采用最大似然的方法,我们的目标是求取MAX log p(X| \theta),

EM算法采用迭代的方法去求取。

log p(X|\theta) =log \sum_H  p(X,H|\theta) = log \sum_H q(H)*p(X,H|\theta)/ q(H) = log E(p(X,H| \theta)/q(H))

                       >= \sum_H q(H) log(p(X,H| \theta)/q(H)), 这时只要这个下界取得最大即可使得所求最大,那么等式成立的条件是

p(X,H| \theta)/q(H)) = c , c是常数

即p(X,H| \theta) = c* q(H), 两边同时取和,可以得到c = \sum_H p(X,H| \theta)

可以求得q(H)= p(X,H|\theta)/c = p(X,H|\theta)/ \sum_H P(X,H|\theta) = p(H|X,\theta), 这里大家一定要仔细理解

即当q(H)取p(H|X,\theta)时,我们的所求能得到最大值,这里有个隐含的假设,即\theta是已知的。这即就是EM算法中的E步骤,E即就是期望,我们看看下界,是否是期望,我们求取q(H)的过程是否是使得期望最大?这就是E的来源。

现在推导M步骤,在得知H的分布后,我们继续求取最大值,这时我们假设\theta未知,要用已知的H去求取最大的\theta

这时,求取下界\sum_H q(H) log(p(X,H| \theta)/q(H))最大的过程就是EM算法中的M步骤,依赖具体的应用。

 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值