浅谈EM算法

来源:互联网 发布:外观模式 java 编辑:程序博客网 时间:2024/06/08 03:24

一般形式的EM算法

期望最大化算法,或者EM算法,是寻找具有潜在变量的概率模型的最大似然解的一种通用的方法(Dempster et al., 1977; MaLachlan and Krishman, 1997), 同时也构成了变分推断框架推导的基础。

考虑一个概率模型,其中将所有的观测变量联合起来记作X, 将所有的隐含变量记作Z。联合概率分布p(X,Z|θ)由一组参数控制,记作θ。我们的目标是最大化似然函数

p(X|θ)=Zp(X,Z|θ)

这里先假设Z是离散的。

我们假设直接最优化p(X|θ)比较困难,但是最优化p(X,Z|θ)会容易很多。接下来,我们引入一个定义在潜在变量Z上的概率分布q(Z)。可以观察到,对于任意的q(Z),下面的分解成立

lnp(X|θ)=L(q,θ)+KL(q||p)

其中,我们定义了
L(q,θ)=Zq(Z)lnp(X,Z|θ)q(Z)

KL(q||p)=Zq(Z)lnp(Z|X,θ)q(Z)

注意, L(q,θ)是概率分布q(Z)的一个泛函,并且是参数θ的一个函数。并且,以上两者的符号相反,L(q,θ)包含了X和Z的联合概率分布,而KL(q||p) 包含了给定X,θ条件下,Z的条件概率分布。分解公式的证明在这里就不给出了。

根据上面的公式,我们看到KL(q||p)q(Z)和后验概率分布p(Z|X,θ)之间的Kullback-Leibler散度。回忆一下,Kullback-Leibler散度满足KL(q||p)0,当且仅当q(Z)=p(Z|X,θ)时等号成立。因此,L(q,θ)lnp(X|θ), 换句话说,L(q,θ)lnp(X|θ)的一个下界。

EM算法是一个两阶段的迭代优化算法,用于寻找最大似然解。我们可以使用上述公式来定义EM算法,证明它确实最大化了对数似然函数。假设参数向量的当前值为θold

在E步骤中,下界L(q,θld)关于q(Z)被最大化,而θold的最大值出现在Kullback-Leibler散度等于零的时候,换句话说,最大值出现在q(Z)与后验概率分布p(Z|X,θ)相等的时候。此时,下界等于对数似然函数。

这里写图片描述

在M步骤中,分布q(Z)保持固定,下界L(q,θ)关于θ进行最大化,得到了某个新的值θnew。这会使得下界L增大(除非已经达到了极大值),这会使得对应的对数似然函数增大。由于概率分布q由旧的参数值确定,并且在M步骤中保持固定,因此它不会等于新的后验概率分布p(Z|Xθnew),从而KL散度非零。于是,对数似然函数的增加量大于下界的增加量。

这里写图片描述

此时我们将q(Z)=p(Z|X,θold)代入公式,在E步骤后,下界的形式为

L(q,θ)=Zp(Z|X,θold)lnp(X,Z|θ)Zp(Z|X,θold)lnp(Z|X,θold))=Q(θ,θold)+

其中,常数就是分布q的熵,因此与θ无关。从而在M步骤中,最大化的量是完整数据对数似然函数的期望,并且我们进行优化的变量θ只出现在对数运算内部。如果联合概率分布p(Z,X|θ)由指数族分布的成员组成,或者由指数族分布成员的乘积组成,那么我们看到对数运算会抵消指数运算,从而使得M步骤通常比最大化对应的不完整数据对数似然函数p(X|θ)要容易得多。

Reference
Chapter 9 of PRML : Mixture Models and EM

1 0
原创粉丝点击