一般形式的EM算法
期望最大化算法,或者EM算法,是寻找具有潜在变量的概率模型的最大似然解的一种通用的方法(Dempster et al., 1977; MaLachlan and Krishman, 1997), 同时也构成了变分推断框架推导的基础。
考虑一个概率模型,其中将所有的观测变量联合起来记作X, 将所有的隐含变量记作Z。联合概率分布
p(X,Z|θ)
由一组参数控制,记作
θ
。我们的目标是最大化似然函数
这里先假设Z是离散的。
我们假设直接最优化
p(X|θ)
比较困难,但是最优化
p(X,Z|θ)
会容易很多。接下来,我们引入一个定义在潜在变量Z上的概率分布
q(Z)
。可以观察到,对于任意的
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步骤中保持固定,因此它不会等于新的后验概率分布
此时我们将
q(Z)=p(Z|X,θold)
代入公式,在E步骤后,下界的形式为
其中,常数就是分布 q 的熵,因此与
Reference
Chapter 9 of PRML : Mixture Models and EM