Expectation–Maximization Algorithm

本文主要介绍EM算法的推导思路。

introduction

此算法是一种寻找含有隐藏变量的概率模型的最大似然估计的通用方法。

derivation

对于含有显式变量 X 和隐藏变量Z的联合分布,考虑 X 为连续型、Z为离散型的情况,其关于 X 的边缘分布可以表示为

p(X|θ)=Zp(X,Z|θ)
如果 Z 为连续型,只需要把上式中的求和替换为积分即可。存在隐藏变量的情况下,直接求p(X|θ)的最大似然估计及其困难,所以考虑将其转化为求 Zp(X,Z|θ) 的最大似然估计。

为了得到 θ 的估计,假设样本集合 X={x1,,xn} 是独立同分布的,隐变量集合 Z={z1,,zm} ,则由最大似然估计有

argmaxθ=i=1np(xi|θ)=i=1nlogj=1mp(xi,zj|θ)

引入关于 Z 的边缘分布q(Z),易知 Zq(Z)=1 ,同时 logp(X|θ)=logp(X,Z|θ)p(Z|X,θ) ,则有

logp(X|θ)=Zq(Z)logp(X|θ)=Zq(Z)logp(X,Z|θ)p(Z|X,θ)=Zq(Z)logp(X,Z|θ)q(Z)+Zq(Z)logq(Z)p(Z|X,θ)=(q,θ)+D(q||p)

相对熵:又称KL距离,是描述两个分布 q p差异的一种度量,记为 D(qp)=qlogqlogp ,具有非负性。

因为 D(q||p) 非负,由 logp(X|θ)(q,θ) ,得 (q,θ) logp(X|θ) 的下界;当 D(q||p)=0 时,即 q(Z) p(Z|X,θ) 为相同的分布时,有 logp(X|θ)=(q,θ)

由上述式子可知, logp(X|θ) 的值与 q(Z) 无关,所以当 θ 固定时,可以通过令 D(q||p)=0 来提高 logp(X|θ) ,从而得到更大的似然函数。即 maxlogp(X|θold)=(q,θold),q=p ,这就是EM算法中的E步骤。

q 固定时,可以通过调整θ使得 (q,θ) 最大化,注意到 D(q||p)=0 非负,那么 logp(X|θ) 也会被提高。即 maxlogp(X|θ)=(q,θnew)+D(q||p),θnew=argmaxθ(q,θ) ,这就是EM算法中的M步骤。

通过E和M步骤的反复执行,可以使 p(X|θ) 不断提高直至最大,当 p(X|θ) 的值不再变化时算法结束。

另外,可以通过构造Jensen不等式的方法进行推导,在最后列出作为一个参考。

summary

此算法的思想是每次只改变一个变量,不同步骤对不同变量进行调整,同时保证每一步处理后的似然函数非减,这样就能够使其在有限步内收敛到最大值——对于含有隐藏变量的概率模型的极大似然估计问题而言,经过转换之后的变量为 θ q <script type="math/tex" id="MathJax-Element-45">q</script>,这里所说的变量是广义变量。当问题的变量数目大于2时,可以将EM算法进一步推广,采用相同的思路进行解决,当然为了获得适当(可以求取)的变量,相应的推导过程是至关重要的。

reference

  1. Pattern Recognization and Maching Learning
  2. 高斯混合模型與最大期望算法
  3. (EM算法)The EM Algorithm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值