期望最大化算法(EM算法)
1. 背景
极大似然估计 (MLE) 是一种非常有效的参数估计方法,但当分布中有多余参数或数据为截尾或缺失时,其 MLE 的求取是比较困难的。Dempster 等人于 1977 年提出了 EM 算法,它是寻找具有潜变量的概率模型的最大似然解的一种通用方法。其出发点是把求 MLE 的过程分两步走,第一步求期望,以便把多余的部分去掉,第二部分求极大值。
2. 一个例子引出 EM 算法
假设我们投掷一个不均匀的四面体骰子,将四个面分别标记为 A A A、 B B B、 C C C、 D D D,其朝上发生的概率分别为 1 2 − θ 4 \frac{1}{2} - \frac{\theta }{4} 21−4θ, 1 − θ 4 \frac{{1 - \theta }}{4} 41−θ, 1 + θ 4 \frac{{1 + \theta }}{4} 41+θ, θ 4 \frac{\theta }{4} 4θ,其中 θ ∈ ( 0 , 1 ) \theta \in \left( {0,1} \right) θ∈(0,1) ,现进行了 197 次实验,四种结果发生的次数分别为 75,18,70,34。试求 θ \theta θ的 MLE。
2.1 采用极大似然估计的方法
以
x
1
{x_1}
x1,
x
2
{x_2}
x2,
x
3
{x_3}
x3,
x
4
{x_4}
x4表示四种结果发生的次数,它们的集合记为
X
{\mathbf{X}}
X,记参数的集合为
θ
{\pmb{\theta}}
θθ,由于该例子中参数只有一个
θ
\theta
θ,因此
θ
=
{
θ
}
{\pmb{\theta}} = \left\{ \theta \right\}
θθ={θ}。此时总体分布为多项分布,故其对数似然函数
ln
p
(
X
∣
θ
)
∝
(
1
2
−
θ
4
)
x
1
(
1
−
θ
4
)
x
2
(
1
+
θ
4
)
x
3
(
θ
4
)
x
4
∝
(
2
−
θ
)
x
1
(
1
−
θ
)
x
2
(
1
+
θ
)
x
3
θ
x
4
\ln p({\mathbf{X}}\mid {\pmb{\theta}}) \propto {\left( {\frac{1}{2} - \frac{\theta }{4}} \right)^{{x_1}}}{\left( {\frac{{1 - \theta }}{4}} \right)^{{x_2}}}{\left( {\frac{{1 + \theta }}{4}} \right)^{{x_3}}}{\left( {\frac{\theta }{4}} \right)^{{x_4}}} \propto {(2 - \theta )^{{x_1}}}{(1 - \theta )^{{x_2}}}{(1 + \theta )^{{x_3}}}{\theta ^{{x_4}}}
lnp(X∣θθ)∝(21−4θ)x1(41−θ)x2(41+θ)x3(4θ)x4∝(2−θ)x1(1−θ)x2(1+θ)x3θx4
其对数似然方程是一个三次多项式。
2.2 采用 EM 算法
我们可以通过引入 2 个变量 z 1 , z 2 {{z}_{1}},{{z}_{2}} z1,z2后,使得求解变得比较容易, z 1 , z 2 {{z}_{1}},{{z}_{2}} z1,z2的集合记为 Z \mathbf{Z} Z。现假设第一种结果可以分成两部分,其发生的概率分别为 1 − θ 4 \frac{1-\theta }{4} 41−θ和 1 4 \frac{1}{4} 41,令 z 1 {{z}_{1}} z1和 x 1 − z 1 {{x}_{1}}-{{z}_{1}} x1−z1分别表示落入这两部分的次数;再假设第三种结果分成两部分,其发生的概率分别为 θ 4 \frac{\theta }{4} 4θ和 1 4 \frac{1}{4} 41,令 z 2 {{z}_{2}} z2和 x 3 − z 2 {{x}_{3}}-{{z}_{2}} x3−z2分别表示落入这两部分的次数。
那为什么可以这样分呢,我们可以想象将不均匀的四面体骰子的 A A A 面和 C C C 面又分别分成了两个面 A 1 A1 A1, A 2 A2 A2 和 C 1 C1 C1, C 2 C2 C2,于是我们可以将上述不均匀的四面体骰子假想成一个六面体骰子,六个面分别记为 A 1 A1 A1、 A 2 A2 A2、 B B B、 C 1 C1 C1、 C 2 C2 C2、 D D D,其朝上发生的概率分别为 1 − θ 4 \frac{1-\theta }{4} 41−θ, 1 4 \frac{1}{4} 41, 1 − θ 4 \frac{1-\theta }{4} 41−θ, θ 4 , 1 4 \frac{\theta }{4},\frac{1}{4} 4θ,41, θ 4 \frac{\theta }{4} 4θ,其中 θ ∈ ( 0 , 1 ) \theta \in \left( 0,1 \right) θ∈(0,1),那么四面体骰子 A A A 面朝上的概率等价于六面体骰子 A 1 A1 A1 面朝上或 A 2 A2 A2 面朝上的概率,四面体骰子 B B B 面朝上的概率等价于六面体骰子 B 1 B1 B1 面朝上或 B 2 B2 B2 面朝上的概率。
Z {\mathbf{Z}} Z在文献中被称为 l a t e n t latent latent v a r i a b l e variable variable, 即潜变量。称数据 { X , Z } \{\mathbf{X},\mathbf{Z}\} {X,Z}为完全数据,而观测到的数据 X \mathbf{X} X称为不完全数据。此时,完全数据的对数似然函数为
ln p ( X , Z ∣ θ ) = ( z 2 + x 4 ) ln θ + ( z 1 + x 2 ) ln ( 1 − θ ) \ln p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})=\left( {{z}_{2}}+{{x}_{4}} \right)\ln \theta +\left( {{z}_{1}}+{{x}_{2}} \right)\ln (1-\theta ) lnp(X,Z∣θθ)=(z2+x4)lnθ+(z1+x2)ln(1−θ)
可以看到上式的形式更加简单,然而,这样的六面体骰子是人为假想出来的,在真实的观测中,我们无法观测到 A 1 A1 A1 面朝上的次数 z 1 {{z}_{1}} z1和 C 1 C1 C1 面朝上的次数 z 2 {{z}_{2}} z2,也就是说,我们没有完整数据集 { X , Z } \{\mathbf{X},\mathbf{Z}\} {X,Z},只有不完整数据 X \mathbf{X} X。我们关于潜在变量 的取值的知识仅仅来源于后验分布 p ( Z ∣ X , θ ) p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta}) p(Z∣X,θθ)。由于我们不能使⽤完整数据的对数似然函数,因此我们反过来考虑在潜在变量的后验概率分布下,它的期望值,这对应于 EM 算法中的 E 步骤(稍后会看到)。在接下来的 M 步骤中,我们最⼤化这个期望。当 X \mathbf{X} X及 θ \pmb{\theta} θθ已知时,潜在变量的后验分布 p ( Z ∣ X , θ ) p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta}) p(Z∣X,θθ)为 z 1 ∼ b ( y 1 , 1 − θ 2 − θ ) , z 2 ∼ b ( y 3 , θ 1 + θ ) {z_1} \sim b\left( {{y_1},\frac{{1 - \theta }}{{2 - \theta }}} \right),{z_2} \sim b\left( {{y_3},\frac{\theta }{{1 + \theta }}} \right) z1∼b(y1,2−θ1−θ),z2∼b(y3,1+θθ),于是,Dempster 等人建议分两步进行迭代求解。
E 步:在已有的观测数据
X
\mathbf{X}
X及上一步估计值
θ
=
θ
o
l
d
\pmb{\theta}={{\pmb{\theta}}^{old}}
θθ=θθold的条件下,求基于完全数据的对数似然函数的期望(即把其中与
Z
\mathbf{Z}
Z有关的部分积分掉):
Q
(
θ
∣
X
,
θ
o
l
d
)
=
E
Z
(
ln
p
(
X
,
Z
∣
θ
)
)
=
∑
Z
(
p
(
Z
∣
X
,
θ
o
l
d
)
ln
p
(
X
,
Z
∣
θ
)
)
Q\left( \pmb{\theta}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)={{E}_{\mathbf{Z}}}\left( \ln p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta}) \right)=\sum\limits_{\mathbf{Z}}{\left( p\left( \mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)\ln p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta}) \right)}
Q(θθ∣X,θθold)=EZ(lnp(X,Z∣θθ))=Z∑(p(Z∣X,θθold)lnp(X,Z∣θθ))
M 步:求
Q
(
θ
∣
X
,
θ
o
l
d
)
Q\left( \pmb{\theta}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)
Q(θθ∣X,θθold)关于
θ
\pmb{\theta}
θθ的最大值
θ
n
e
w
{{\pmb{\theta}}^{new}}
θθnew,即找
θ
n
e
w
{{\pmb{\theta}}^{new}}
θθnew使得
θ
n
e
w
=
max
θ
Q
(
θ
∣
X
,
θ
o
l
d
)
{{\pmb{\theta}}^{new}}={{\max }_{\pmb{\theta}}}Q\left( \pmb{\theta}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)
θθnew=maxθθQ(θθ∣X,θθold)
检查是否收敛,如果不收敛,则令
θ
o
l
d
=
θ
n
e
w
{{\pmb{\theta}}^{old}}={{\pmb{\theta}}^{new}}
θθold=θθnew,重复上述步骤直到收敛即可得到
θ
\theta
θ的 MLE。
对于本例,其 E 步为
Q
(
θ
∣
X
,
θ
o
l
d
)
=
(
E
(
z
2
∣
X
,
θ
o
l
d
)
+
x
4
)
ln
θ
+
(
E
(
z
1
∣
X
,
θ
o
l
d
)
+
x
2
)
ln
(
1
−
θ
)
=
(
θ
o
l
d
1
+
θ
o
l
d
x
3
+
x
4
)
ln
θ
+
(
1
−
θ
o
l
d
2
−
θ
o
l
d
x
1
+
x
2
)
ln
(
1
−
θ
)
\begin{aligned} Q\left( \pmb{\theta}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)&=\left( E\left( {{z}_{2}}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)+{{x}_{4}} \right)\ln \theta +\left( E\left( {{z}_{1}}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)+{{x}_{2}} \right)\ln (1-\theta ) \\ & =\left( \frac{{{\theta }^{old}}}{1+{{\theta }^{old}}}{{x}_{3}}+{{x}_{4}} \right)\ln \theta +\left( \frac{1-{{\theta }^{old}}}{2-{{\theta }^{old}}}{{x}_{1}}+{{x}_{2}} \right)\ln (1-\theta ) \\ \end{aligned}
Q(θθ∣X,θθold)=(E(z2∣X,θθold)+x4)lnθ+(E(z1∣X,θθold)+x2)ln(1−θ)=(1+θoldθoldx3+x4)lnθ+(2−θold1−θoldx1+x2)ln(1−θ)
其 M 步即为上式对于
θ
\theta
θ求导,并令其等于 0,即
θ
o
l
d
1
+
θ
o
l
d
x
3
+
x
4
θ
n
e
w
−
1
−
θ
o
l
d
2
−
θ
o
l
d
x
1
+
x
2
1
−
θ
n
e
w
=
0
\frac{\frac{{{\theta }^{old}}}{1+{{\theta }^{old}}}{{x}_{3}}+{{x}_{4}}}{{{\theta }^{new}}}-\frac{\frac{1-{{\theta }^{old}}}{2-{{\theta }^{old}}}{{x}_{1}}+{{x}_{2}}}{1-{{\theta }^{new}}}=0
θnew1+θoldθoldx3+x4−1−θnew2−θold1−θoldx1+x2=0
解之可得如下迭代公式
θ
n
e
w
=
θ
o
l
d
1
+
θ
o
l
d
x
3
+
x
4
θ
o
l
d
1
+
θ
o
l
d
x
3
+
x
4
+
1
−
θ
o
l
d
2
−
θ
o
l
d
x
1
+
x
2
{{\theta }^{new}}=\frac{\frac{{{\theta }^{old}}}{1+{{\theta }^{old}}}{{x}_{3}}+{{x}_{4}}}{\frac{{{\theta }^{old}}}{1+{{\theta }^{old}}}{{x}_{3}}+{{x}_{4}}+\frac{1-{{\theta }^{old}}}{2-{{\theta }^{old}}}{{x}_{1}}+{{x}_{2}}}
θnew=1+θoldθoldx3+x4+2−θold1−θoldx1+x21+θoldθoldx3+x4
那么,对完整数据的对数似然函数,我们考虑其在潜在变量的后验概率分布下的期望值,这个做法的合理性是什么呢,有没有更加合理能够令人信服的解释,EM 算法在迭代过程中究竟是怎么发挥作用的。
3. EM 算法的再思考
考虑一个概率模型,其中我们将所有的观测变量联合起来记作
X
\mathbf{X}
X,将所有的隐含变量记作
Z
\mathbf{Z}
Z。联合概率分布
p
(
X
,
Z
∣
θ
)
p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})
p(X,Z∣θθ) 由一组参数控制,记作
θ
\pmb{\theta}
θθ。我们的目标是最大化似然函数
ln
p
(
X
∣
θ
)
=
∑
Z
q
(
Z
)
ln
p
(
X
∣
θ
)
=
∑
Z
q
(
Z
)
ln
p
(
X
∣
θ
)
+
∑
Z
q
(
Z
)
ln
{
p
(
Z
∣
X
,
θ
)
q
(
Z
)
}
−
∑
Z
q
(
Z
)
ln
{
p
(
Z
∣
X
,
θ
)
q
(
Z
)
}
=
∑
Z
q
(
Z
)
ln
{
p
(
Z
∣
X
,
θ
)
p
(
X
∣
θ
)
q
(
Z
)
}
−
∑
Z
q
(
Z
)
ln
{
p
(
Z
∣
X
,
θ
)
q
(
Z
)
}
=
∑
Z
q
(
Z
)
ln
{
p
(
X
,
Z
∣
θ
)
q
(
Z
)
}
−
∑
Z
q
(
Z
)
ln
{
p
(
Z
∣
X
,
θ
)
q
(
Z
)
}
=
L
(
q
,
θ
)
+
KL
(
q
∥
p
)
\begin{aligned} \ln p(\mathbf{X}\mid \pmb{\theta}) &=\sum\limits_{\mathbf{Z}}{q(\mathbf{Z})\ln p(\mathbf{X}\mid \pmb{\theta})} \\ & =\sum\limits_{\mathbf{Z}}{q(\mathbf{Z})\ln p(\mathbf{X}\mid \pmb{\theta})}+\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta})}{q(\mathbf{Z})} \right\}-\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta})}{q(\mathbf{Z})} \right\} \\ & =\sum\limits_{\mathbf{Z}}{q(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta})p(\mathbf{X}\mid \pmb{\theta})}{q(\mathbf{Z})} \right\}}-\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta})}{q(\mathbf{Z})} \right\} \\ & =\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})}{q(\mathbf{Z})} \right\}-\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta})}{q(\mathbf{Z})} \right\} \\ & =\mathcal{L}(q,\pmb{\theta})+\text{KL}(q\left\| p \right.) \\ \end{aligned}
lnp(X∣θθ)=Z∑q(Z)lnp(X∣θθ)=Z∑q(Z)lnp(X∣θθ)+Z∑q(Z)ln{q(Z)p(Z∣X,θθ)}−Z∑q(Z)ln{q(Z)p(Z∣X,θθ)}=Z∑q(Z)ln{q(Z)p(Z∣X,θθ)p(X∣θθ)}−Z∑q(Z)ln{q(Z)p(Z∣X,θθ)}=Z∑q(Z)ln{q(Z)p(X,Z∣θθ)}−Z∑q(Z)ln{q(Z)p(Z∣X,θθ)}=L(q,θθ)+KL(q∥p)
令
L
(
q
,
θ
)
=
∑
Z
q
(
Z
)
ln
{
p
(
X
,
Z
∣
θ
)
q
(
Z
)
}
KL
(
q
∥
p
)
=
−
∑
Z
q
(
Z
)
ln
{
p
(
Z
∣
X
,
θ
)
q
(
Z
)
}
\begin{aligned} \mathcal{L}(q,\pmb{\theta})& =\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})}{q(\mathbf{Z})} \right\} \\ \text{KL}(q\left\| p \right.)& =-\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{Z}\mid \mathbf{X},\pmb{\theta})}{q(\mathbf{Z})} \right\} \\ \end{aligned}
L(q,θθ)KL(q∥p)=Z∑q(Z)ln{q(Z)p(X,Z∣θθ)}=−Z∑q(Z)ln{q(Z)p(Z∣X,θθ)}
则
ln
p
(
X
∣
θ
)
=
L
(
q
,
θ
)
+
KL
(
q
∥
p
)
(1)
\ln p(\mathbf{X}\mid \pmb{\theta})=\mathcal{L}(q,\pmb{\theta})+\text{KL}(q\left\| p \right.)\tag{1}
lnp(X∣θθ)=L(q,θθ)+KL(q∥p)(1)
KL
(
q
∥
p
)
\text{KL}(q\left\| p \right.)
KL(q∥p)是
q
(
Z
)
{q({\mathbf{Z}})}
q(Z)和后验概率分布
p
(
Z
∣
X
,
θ
)
{p({\mathbf{Z}}\mid {\mathbf{X}},{\pmb{\theta}})}
p(Z∣X,θθ)之间的 Kullback-Leibler 散度,Kullback-Leibler 散度满足
KL
(
q
∥
p
)
≥
0
\text{KL}(q\left\| p \right.)\ge 0
KL(q∥p)≥0,当且仅当
p
(
Z
∣
X
,
θ
)
{p({\mathbf{Z}}\mid {\mathbf{X}},{\pmb{\theta}})}
p(Z∣X,θθ)时等号成立。因此,根据公式(1),
L
(
q
,
θ
)
≤
ln
p
(
X
∣
θ
)
\mathcal{L}(q,\pmb{\theta})\le \ln p(\mathbf{X}\mid \pmb{\theta})
L(q,θθ)≤lnp(X∣θθ)(利用 Jensen 不等式也可得到该结果),也即
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)是
ln
p
(
X
∣
θ
)
\ln p(\mathbf{X}\mid \pmb{\theta})
lnp(X∣θθ)的一个下界。图 1 说明了公式(1)的分解
图 1 由公式(1)给出的分解的说明,它对于分布
q
(
Z
)
{q({\mathbf{Z}})}
q(Z)的任意选择都成立。由于 Kullback-Leibler 散度满足
KL
(
q
∥
p
)
≥
0
\text{KL}(q\left\| p \right.)\ge 0
KL(q∥p)≥0,因此我们看到
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)是对数似然函数
ln
p
(
X
∣
θ
)
\ln p(\mathbf{X}\mid \pmb{\theta})
lnp(X∣θθ)的一个下界。
EM 算法是一个两阶段的迭代优化算法,用于寻找最大似然解。我们可以使用公式(1)来定义EM算法,证明它确实最大化了对数似然函数。
假设参数向量的当前值为
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold。在 E 步骤中,
ln
p
(
X
∣
θ
o
l
d
)
\ln p(\mathbf{X}\mid {{\pmb{\theta}}^{old}})
lnp(X∣θθold)与
q
(
Z
)
{q({\mathbf{Z}})}
q(Z)无关,因此任意改变
q
(
Z
)
{q({\mathbf{Z}})}
q(Z)不影响
ln
p
(
X
∣
θ
o
l
d
)
\ln p(\mathbf{X}\mid {{\pmb{\theta}}^{old}})
lnp(X∣θθold)的值。所以根据公式 (1),
ln
p
(
X
∣
θ
o
l
d
)
\ln p(\mathbf{X}\mid {{\pmb{\theta}}^{old}})
lnp(X∣θθold)不变,对
L
(
q
,
θ
o
l
d
)
\mathcal{L}(q,{{\pmb{\theta}}^{old}})
L(q,θθold)关于
q
(
Z
)
{q({\mathbf{Z}})}
q(Z)的最大化,只需要使得
KL
(
q
∥
p
)
{\text{KL}}(q\left\| p \right.)
KL(q∥p)最小,也就是
KL
(
q
∥
p
)
=
0
\text{KL}(q\left\| p \right.)=0
KL(q∥p)=0,也即
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold。此时,下界
L
(
q
,
θ
o
l
d
)
\mathcal{L}(q,{{\pmb{\theta}}^{old}})
L(q,θθold)等于对数似然函数
ln
p
(
X
∣
θ
o
l
d
)
\ln p(\mathbf{X}\mid {{\pmb{\theta}}^{old}})
lnp(X∣θθold),如图 2 所示。
图 2 EM 算法的 E 步骤的说明。q 分布被设置为当前参数值
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold下的后验概率分布,这使得下界上移到与对数似然函数值相同的位置,此时 KL 散度为零。
在接下来的 M 步骤中,固定
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold后,下界的形式为
L
(
q
,
θ
)
=
∑
Z
q
(
Z
)
ln
{
p
(
X
,
Z
∣
θ
)
q
(
Z
)
}
=
∑
Z
p
(
Z
∣
X
,
θ
o
l
d
)
ln
{
p
(
X
,
Z
∣
θ
)
p
(
Z
∣
X
,
θ
o
l
d
)
}
=
∑
Z
p
(
Z
∣
X
,
θ
o
l
d
)
ln
p
(
X
,
Z
∣
θ
)
−
∑
Z
p
(
Z
∣
X
,
θ
o
l
d
)
ln
p
(
Z
∣
X
,
θ
o
l
d
)
=
Q
(
θ
,
θ
o
l
d
)
+
const
\begin{aligned} \mathcal{L}(q,\pmb{\theta})& =\sum\limits_{\mathbf{Z}}{q}(\mathbf{Z})\ln \left\{ \frac{p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})}{q(\mathbf{Z})} \right\} \\ & =\sum\limits_{\mathbf{Z}}{p(\mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}})\ln \left\{ \frac{p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})}{p(\mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}})} \right\}} \\ & =\sum\limits_{\mathbf{Z}}{p}\left( \mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)\ln p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})-\sum\limits_{\mathbf{Z}}{p}\left( \mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)\ln p\left( \mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right) \\ & =\mathcal{Q}\left( \pmb{\theta},{{\pmb{\theta}}^{old}} \right)+\text{const} \\ \end{aligned}
L(q,θθ)=Z∑q(Z)ln{q(Z)p(X,Z∣θθ)}=Z∑p(Z∣X,θθold)ln{p(Z∣X,θθold)p(X,Z∣θθ)}=Z∑p(Z∣X,θθold)lnp(X,Z∣θθ)−Z∑p(Z∣X,θθold)lnp(Z∣X,θθold)=Q(θθ,θθold)+const
下界
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)关于
θ
{\pmb{\theta}}
θθ进行最大化等价于
Q
(
θ
,
θ
o
l
d
)
=
∑
Z
p
(
Z
∣
X
,
θ
o
l
d
)
ln
p
(
X
,
Z
∣
θ
)
\mathcal{Q}\left( \pmb{\theta},{{\pmb{\theta}}^{old}} \right)=\sum\limits_{\mathbf{Z}}{p}\left( \mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{old}} \right)\ln p(\mathbf{X},\mathbf{Z}\mid \pmb{\theta})
Q(θθ,θθold)=Z∑p(Z∣X,θθold)lnp(X,Z∣θθ)关于
θ
{\pmb{\theta}}
θθ进行最大化,由此可得到某个新值
θ
n
e
w
{{\pmb{\theta}}^{new}}
θθnew。这会使得下界
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)增大,也即
L
(
q
,
θ
n
e
w
)
>
L
(
q
,
θ
o
l
d
)
\mathcal{L}(q,{{\pmb{\theta}}^{new}})>\mathcal{L}(q,{{\pmb{\theta}}^{old}})
L(q,θθnew)>L(q,θθold)(除非已经达到了极大值)。由于概率分布
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold由旧的参数值
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold确定,并且在 M 步骤中保持固定,因此它不会等于新的后验概率分布
p
(
Z
∣
X
,
θ
n
e
w
)
p(\mathbf{Z}\mid \mathbf{X},{{\pmb{\theta}}^{new}})
p(Z∣X,θθnew),从而 KL 散度非零。于是,对数似然函数
ln
p
(
X
∣
θ
)
\ln p({\mathbf{X}}\mid {\pmb{\theta}})
lnp(X∣θθ)的增加量包括
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)的增量和 的增量两部分,因此
ln
p
(
X
∣
θ
)
\ln p({\mathbf{X}}\mid {\pmb{\theta}})
lnp(X∣θθ)大于下界
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)的增加量,如图 3 所示。
图 3: EM 算法的 M 步骤的说明。分布
θ
o
l
d
{{\pmb{\theta}}^{old}}
θθold保持固定,下界
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θθ)关于参数向量
θ
\pmb{\theta}
θθ最大化,得到修正值
θ
n
e
w
{{\pmb{\theta}}^{new}}
θθnew。由于 KL 散度非负,因此这使得对数似然函数
ln
p
(
X
∣
θ
)
\ln p({\mathbf{X}}\mid {\pmb{\theta}})
lnp(X∣θθ)的增量至少与下界的增量相等。
EM 算法的计算也可以被看做参数空间中的运算,如图 4 所示。这里,红色曲线表示(不完整数据)对数似然函数 ln p ( X ∣ θ ) \ln p(\mathbf{X}\mid \pmb{\theta}) lnp(X∣θθ),我们希望找到一个参数 θ {\pmb{\theta}} θθ使其最大。我们首先选择某个初始的参数值 θ o l d {{\pmb{\theta}}^{old}} θθold,然后在第一个 E 步骤中,得到了下界 L ( q , θ ) \mathcal{L}(q,\pmb{\theta}) L(q,θθ)(事实上是其等价的优化函数 Q ( θ , θ o l d ) \mathcal{Q}\left( {{\pmb{\theta}},{{\pmb{\theta}}^{old}}} \right) Q(θθ,θθold),但用 L ( q , θ ) \mathcal{L}(q,\pmb{\theta}) L(q,θθ)更方便描述整个过程),用蓝色曲线表示。注意,下界 L ( q , θ ) \mathcal{L}(q,\pmb{\theta}) L(q,θθ)与不完全数据的对数似然函数 ln p ( X ∣ θ ) \ln p({\mathbf{X}}\mid {\pmb{\theta}}) lnp(X∣θθ)在 θ o l d {{\pmb{\theta}}^{old}} θθold处以切线的方式连接,因此两条曲线的梯度相同。这个下界 L ( q , θ ) \mathcal{L}(q,\pmb{\theta}) L(q,θθ)是一个凹函数,对于指数族分布的混合分布来说,有唯一的最大值。在 M 步骤中,下界 L ( q , θ ) \mathcal{L}(q,\pmb{\theta}) L(q,θθ)被最大化,得到了新的值 θ n e w {{\pmb{\theta}}^{new}} θθnew,这个值给出了比 θ o l d {{\pmb{\theta}}^{old}} θθold处更大的对数似然函数值。接下来的 E 步骤又通过 θ n e w {{\pmb{\theta}}^{new}} θθnew构建了一个新的下界 L ( q , θ ) \mathcal{L}(q,\pmb{\theta}) L(q,θθ),它在 θ n e w {{\pmb{\theta}}^{new}} θθnew处与对数似然函数切线连接,用绿色曲线表示。如此循环往复直到收敛。
图 4 EM 算法涉及到交替计算当前参数值下的对数似然函数的下界以及最大化下界的值得到新的参数值。