EM算法的目标
EM算法是一种求解含有隐变量概率模型的最大似然解的方法。我们知道,当概率模型中含有隐变量时,其最大似然解是很难直接求解的。为什么很难直接求解呢?
考虑一个概率模型,我们将所有的观测变量统称为
X
,参数统称为
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