上一节介绍了广义EM算法,本节将介绍广义EM算法的其他变种形式。
回顾狭义EM算法的推导结果。即:
log
P
(
X
∣
θ
)
=
E
L
B
O
+
K
L
[
Q
(
Z
)
∣
∣
P
(
Z
∣
X
,
θ
)
]
\log P(\mathcal X \mid \theta) = ELBO + \mathcal K\mathcal L[\mathcal Q(\mathcal Z) || P(\mathcal Z \mid \mathcal X,\theta)]
logP(X∣θ)=ELBO+KL[Q(Z)∣∣P(Z∣X,θ)]
其中:
E
L
B
O
=
∫
Z
Q
(
Z
)
log
[
P
(
X
,
Z
∣
θ
)
Q
(
Z
)
]
d
Z
=
E
Q
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
]
+
H
[
Q
(
Z
)
]
K
L
[
Q
(
Z
)
∣
∣
P
(
Z
∣
X
,
θ
)
]
=
−
∫
Z
Q
(
Z
)
log
[
P
(
Z
∣
X
,
θ
)
Q
(
Z
)
]
d
Z
ELBO = \int_{\mathcal Z} \mathcal Q(\mathcal Z) \log \left[\frac{P(\mathcal X,\mathcal Z \mid \theta)}{\mathcal Q(\mathcal Z)}\right] d\mathcal Z = \mathbb E_{\mathcal Q(\mathcal Z)}[\log P(\mathcal X,\mathcal Z \mid \theta)] + \mathcal H[\mathcal Q(\mathcal Z)] \\ \mathcal K\mathcal L[\mathcal Q(\mathcal Z) || P(\mathcal Z \mid \mathcal X,\theta)] = - \int_{\mathcal Z}\mathcal Q(\mathcal Z) \log \left[\frac{P(\mathcal Z \mid \mathcal X,\theta)}{\mathcal Q(\mathcal Z)}\right] d\mathcal Z
ELBO=∫ZQ(Z)log[Q(Z)P(X,Z∣θ)]dZ=EQ(Z)[logP(X,Z∣θ)]+H[Q(Z)]KL[Q(Z)∣∣P(Z∣X,θ)]=−∫ZQ(Z)log[Q(Z)P(Z∣X,θ)]dZ
其迭代求解最优模型参数 θ ( t + 1 ) \theta^{(t+1)} θ(t+1)转化为如下两个步骤:
狭义EM在求解过程中的难点在于: P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ)无法求解。其根本原因在于我们定义的隐变量 Z \mathcal Z Z本身的概率分布 P ( Z ) P(\mathcal Z) P(Z)也是非常复杂的。
广义EM的核心思想在于:既然 P ( Z ∣ X , θ ) P(\mathcal Z\mid \mathcal X,\theta) P(Z∣X,θ)无法求解,干脆找一个与 P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ)最接近的概率分布 Q ^ ( Z ) \hat {\mathcal Q}(\mathcal Z) Q^(Z)分布替换 P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ):
由于
K
L
[
Q
(
Z
)
∣
∣
P
(
Z
∣
X
,
θ
)
]
≥
0
\mathcal K\mathcal L[\mathcal Q(\mathcal Z) || P(\mathcal Z \mid \mathcal X,\theta)] \geq 0
KL[Q(Z)∣∣P(Z∣X,θ)]≥0恒成立,因而
log
P
(
X
∣
θ
)
≥
L
[
Q
(
Z
)
,
θ
]
\log P(\mathcal X \mid \theta) \geq \mathcal L[\mathcal Q(\mathcal Z),\theta]
logP(X∣θ)≥L[Q(Z),θ]恒成立。
此时的
H
[
Q
(
t
+
1
)
(
Z
)
]
\mathcal H[\mathcal Q^{(t+1)}(\mathcal Z)]
H[Q(t+1)(Z)]中的参数已经确定,可以看作一个常数;
至此,整理广义EM算法迭代过程如下:
{
Q
(
t
+
1
)
(
Z
)
=
arg
max
Q
(
Z
)
L
[
Q
(
Z
)
,
θ
(
t
)
]
θ
(
t
+
1
)
=
arg
max
θ
L
[
Q
(
t
+
1
)
(
Z
)
,
θ
]
{Q(t+1)(Z)=argmaxQ(Z)L[Q(Z),θ(t)]θ(t+1)=argmaxθL[Q(t+1)(Z),θ]
基于上述迭代过程,广义EM算法又称MM算法(Minorize-Maximization algorithm)。
无论求解
Q
(
Z
)
\mathcal Q(\mathcal Z)
Q(Z)还是求解
θ
\theta
θ都是求解
L
[
Q
(
Z
)
,
θ
]
\mathcal L[\mathcal Q(\mathcal Z),\theta]
L[Q(Z),θ]的最大值。
继续观察上述迭代过程:
根据迭代过程,我们会得到这样一组结果:
θ
i
n
i
t
,
Q
(
1
)
(
Z
)
,
θ
(
1
)
,
Q
(
2
)
(
Z
)
,
θ
(
2
)
,
⋯
,
θ
(
t
)
,
Q
(
t
+
1
)
(
Z
)
,
θ
(
t
+
1
)
,
⋯
\theta_{init},\mathcal Q^{(1)}(\mathcal Z),\theta^{(1)},\mathcal Q^{(2)}(\mathcal Z),\theta^{(2)},\cdots,\theta^{(t)},\mathcal Q^{(t+1)}(\mathcal Z),\theta^{(t+1)},\cdots
θinit,Q(1)(Z),θ(1),Q(2)(Z),θ(2),⋯,θ(t),Q(t+1)(Z),θ(t+1),⋯
这种基于同一函数,交互固定变量,使得函数结果最大的方法称为坐标上升法(Coordinate Ascent),同理,也存在坐标下降法(Coordinate Descent)。取决于对函数求解最大值还是最小值。
从维度角度解释,其主要思想是每一次迭代时,只对一个维度方向进行优化,其他维度信息固定不变,从而使多变量优化问题转化为迭代的单变量优化问题。
整个EM算法框架的核心仍然是对隐变量
Z
\mathcal Z
Z最优后验的求解:
P
^
(
Z
∣
X
,
θ
)
\hat P(\mathcal Z \mid \mathcal X,\theta)
P^(Z∣X,θ)
基于
P
(
Z
∣
X
,
θ
)
P(\mathcal Z \mid \mathcal X,\theta)
P(Z∣X,θ)难求解的问题,广义EM算法框架给出它的近似方法:
Q
(
t
+
1
)
(
Z
)
=
arg
max
Q
(
Z
)
L
[
Q
(
Z
)
,
θ
(
t
)
]
\mathcal Q^{(t+1)}(\mathcal Z) = \mathop{\arg\max}\limits_{\mathcal Q(\mathcal Z)} \mathcal L[\mathcal Q(\mathcal Z),\theta^{(t)}]
Q(t+1)(Z)=Q(Z)argmaxL[Q(Z),θ(t)]
如果仅针对 P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ)的近似求解,我们还有其他方式,例如近似推断:
对应的EM框架称为:VBEM方法(变分贝叶斯EM方法)
对应的EM框架称为:MCEM方法(蒙特卡洛EM算法)
至此,EM算法的介绍结束,下一节将介绍第一个基于EM算法求解的概率生成模型——高斯混合模型(Gaussian Mixture Model)。
相关参考:
机器学习-EM算法6(EM的变种)