EM算法(期望最大化)——理论部分

EM算法的目标

EM算法是一种求解含有隐变量概率模型的最大似然解的方法。我们知道,当概率模型中含有隐变量时,其最大似然解是很难直接求解的。为什么很难直接求解呢?
考虑一个概率模型,我们将所有的观测变量统称为 X ,参数统称为θ。我们的目标是求解似然函数 p(X|θ) 。假设该概率模型存在隐变量,统称为 Z 。所以,p(X|θ)=Zp(X,Z|θ)。在求概率模型的最大似然解时,我们一般考虑对 lnp(X|θ) 进行求导。由于隐变量的存在, lnp(X|θ)=lnZp(X,Z|θ) ,求和符号在对数运算内部,对其进行求导是很困难的。

EM算法的步骤

由于含有隐变量概率模型的最大似然解很难直接求得,EM算法考虑用一种强大且优雅的方式来间接得到,这种方式就是迭代。EM算法通过两步迭代的方式,通过最大化“对数联合概率期望”,得到最大似然解。这里,我们先给出EM算法的一般步骤,之后一节从理论方面推导出该种方式的合理性。
EM算法主要分为两大步:
(1)E步骤:计算条件概率分布 p(Z|X,θold) ,由此可推知联合概率分布对数在条件概率 p(Z|X,θold) 下的期望 Q(θ,θold)=Zlnp(X,Z|θ)p(Z|X,θold)
(2)M步骤:计算 θnew ,使得 Q(θ,θold) 最大化;即 argmaxθQ(θ,θold)
不断迭代(1)(2)步,直到 Q(θ,θold) 收敛;否则 θold=θnew

EM算法的理论推导

从“EM算法的步骤”这一节,我们知道EM算法其实执行起来很简单。那么,为什么最大化联合概率分布的对数 Q(θ,θold) 求得的 θ 就是最大似然解呢?

这一节,我们主要是从理论层面,来解释EM算法的两步迭代的合理性。
首先我们知道有条件概率公式 ln[p(X|θ)]=lnp(X,Z|θ)p(Z|X,θ) 成立。在隐变量上,我们引入分布 q(Z)

Zq(Z)=1p(X|θ)q(Z)ln[p(X|θ)]=lnp(X,Z|θ)p(Z|X,θ)Zq(Z)=Zq(Z)lnp(X,Z|θ)p(Z|X,θ)ln[p(X|θ)]=Zq(Z)ln[p(X,Z|θ)q(Z)q(Z)p(Z|X,θ)]ln[p(X|θ)]=Zq(Z)lnp(X,Z|θ)q(Z)Zq(Z)lnp(Z|X,θ)q(Z)
ζ(q,θ)=Zq(Z)lnp(X,Z|θ)q(Z),KL(q||p)=Zq(Z)lnp(Z|X,θ)q(Z)
则有 ln[p(X|θ)]=ζ(q,θ)+KL(q||p)

其中 KL(q||p) 表示 q(Z) p(Z|X,θ) KL 散度。 KL 散度有如下性质:
(1) q,KL(q||p)0
(2)当且仅当 q=p 时, KL(q||p)=0

下图1表示 ln[p(X|θ)]ζ(q,θ)KL(q||p) 三者之间的关系:
图片1
由此可知, ζ(q,θ) ln[p(X|θ)] 的一个下界。

我们最初目的是为了求解 argmaxθln[p(X|θ)] ,这个问题可进行转化:寻找这样一个概率分布 q(Z) ,使得 q(Z)=p(Z|X,θ) ,从而有等价关系 ln[p(X|θ)]=ζ(q,θ) ,这时 argmaxθln[p(X|θ)] 可转化为 argmaxθζ(q,θ)

我们如何寻找这个 q(Z) 呢?我们知道 p(Z|X,θ) 是不能直接得到的。
注意到 ln[p(X|θ)] 其实不依赖概率分布 q(Z) ,如果我们固定 θ0 ,那么 argmaxqζ(q,θ0) 的解其实就是 p(Z|X,θ0)

因为对于任意 q(Z) ln[p(X|θ0)] 为定值,而 ζ(q,θ0) ln[p(X|θ0)] 的下界,那么理所应当的是 ζ(q,θ0) 的最大值为 ln[p(X|θ0)] ,也就是 KL(q||p)=0 ,由 KL 散度性质可知 q(Z)=p(Z|X,θ0)

由上述描述,我们可知转化后的问题涉及到两个“固定”:(1)固定 θ=θold ,求解 argmaxqζ(q,θold) ,也就是计算 q(Z)=p(Z|X,θold) ;(2)固定 q(Z)=p(Z|X,θold) ,求解 argmaxθζ(q,θ) 。通过这两个固定不断迭代最大化 ζ(q,θ) ,从而得到最大似然解 θopt 。终于,我们期待的“优雅而强大”的迭代操作揭开了面纱。这两个“固定”,我们也可以用两张图来反应:
图1 固定 θ=θold
图2
图2 固定 q(Z)=p(Z|X,θold)
图3

说了这么多,该来解决我们这一节最开始提到的问题——“从理论层面,来解释EM算法步骤的两步迭代的合理性”。虽说,我们在理论上证明了EM算法确实是两步迭代操作,但是它是否有涉及到“最大化对数联合分布的期望”呢?
由于E步骤和固定(1)是完全一样的,我们需要说明的是 固定(2): argmaxθζ(q,θ) 和 M步骤: argmaxθQ(θ,θold) 是否为等价操作呢?

和前面一样,我们从公式来给出说明:
ζ(q,θ)=Zq(Z)lnp(X,Z|θ)q(Z)

q(Z)=p(Z|X,θold)
ζ(q,θ)=Zp(Z|X,θold)lnp(X,Z|θ)p(Z|X,θold)
ζ(q,θ)=Zp(Z|X,θold)lnp(X,Z|θ)Zp(Z|X,θold)lnp(Z|X,θold)
ζ(q,θ)=Q(θ,θold)const

所以,二者是等价的。
至此,EM算法通过两步迭代的方式最大化“对数联合分布期望”来求解含隐变量的概率模型的最大似然解,有了很好的理论解释。

之后两篇博客,会介绍常用EM算法的应用:GMM(Gaussian Mixture Model,高斯混合模型)以及GMM的特例:K-Means(K均值)算法

相关文章:
EM算法(期望最大化)——应用:GMM http://blog.csdn.net/tingyue_/article/details/70576025
EM算法(期望最大化)——从EM算法角度理解K-Means与GMM的区别http://blog.csdn.net/tingyue_/article/details/70739671

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值