您的位置:首页 > 其它

EM算法

2012-03-10 17:38 281 查看
我所知道的最简单的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步骤,依赖具体的应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: