您的位置:首页 > 其它

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

2017-04-22 20:30 316 查看

EM算法的目标

EM算法是一种求解含有隐变量概率模型的最大似然解的方法。我们知道,当概率模型中含有隐变量时,其最大似然解是很难直接求解的。为什么很难直接求解呢?

考虑一个概率模型,我们将所有的观测变量统称为X,参数统称为θ。我们的目标是求解似然函数p(X|θ)。假设该概率模型存在隐变量,统称为Z。所以,p(X|θ)=∑Zp(X,Z|θ)。在求概率模型的最大似然解时,我们一般考虑对lnp(X|θ)进行求导。由于隐变量的存在,lnp(X|θ)=ln∑Zp(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)=1且p(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)三者之间的关系:



由此可知,ζ(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 固定q(Z)=p(Z|X,θold)



说了这么多,该来解决我们这一节最开始提到的问题——“从理论层面,来解释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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: