上一节介绍了引入隐变量的本质,本节将狭义EM算法推广至广义EM算法。
引入EM算法本质上是基于频率学派的思想,针对概率模型
P
(
X
∣
θ
)
P(\mathcal X \mid \theta)
P(X∣θ)中模型参数
θ
\theta
θ的估计问题。
learning 问题。
找到这个最优模型参数
θ
^
\hat \theta
θ^的底层逻辑是极大似然估计(Maximum Likelihood Estimate,MLE):
θ
^
=
arg
max
θ
log
P
(
X
∣
θ
)
\hat \theta = \mathop{\arg\max}\limits_{\theta} \log P(\mathcal X \mid \theta)
θ^=θargmaxlogP(X∣θ)
但通常情况是:如果将
P
(
X
∣
θ
)
P(\mathcal X \mid \theta)
P(X∣θ)看成概率模型,那么该概率模型产生的真实样本
X
\mathcal X
X过于复杂,导致使用极大似然估计无法有效地求出最优解析解
θ
^
\hat \theta
θ^。
针对这种情况,我们需要对
P
(
X
∣
θ
)
P(\mathcal X \mid \theta)
P(X∣θ)做出一些假设:假设存在概率模型
P
(
Z
)
P(\mathcal Z)
P(Z),真实样本
X
\mathcal X
X是以概率模型
P
(
Z
)
P(\mathcal Z)
P(Z)的条件下产生出来的。数学符号表达即:
P
(
X
∣
Z
)
P(\mathcal X \mid \mathcal Z)
P(X∣Z)
概率图表示为:

由于
P
(
Z
)
P(\mathcal Z)
P(Z)是人为假设的概率分布,从而可以将原始的概率模型
P
(
X
)
P(\mathcal X)
P(X)转化为关于真实样本
X
\mathcal X
X,隐变量
Z
\mathcal Z
Z的混合概率模型
P
(
X
,
Z
)
P(\mathcal X,\mathcal Z)
P(X,Z):
P
(
X
,
Z
)
=
P
(
X
∣
Z
)
P
(
Z
)
P(\mathcal X,\mathcal Z) = P(\mathcal X \mid \mathcal Z)P(\mathcal Z)
P(X,Z)=P(X∣Z)P(Z)
从而可以通过概率模型
P
(
Z
)
P(\mathcal Z)
P(Z)作为媒介,将复杂的样本分布
P
(
X
∣
θ
)
P(\mathcal X \mid \theta)
P(X∣θ)求解出来:
P
(
X
)
=
∫
Z
P
(
X
,
Z
)
d
Z
=
E
Z
[
P
(
X
,
Z
)
]
P(\mathcal X) = \int_{\mathcal Z} P(\mathcal X,\mathcal Z)d\mathcal Z = \mathbb E_{\mathcal Z}\left[P(\mathcal X,\mathcal Z)\right]
P(X)=∫ZP(X,Z)dZ=EZ[P(X,Z)]
在确立了目标函数:
log
P
(
X
∣
θ
)
\log P(\mathcal X \mid \theta)
logP(X∣θ)之后,我们将隐变量
Z
\mathcal Z
Z引入,对目标函数进行展开:
详细的展开过程见传送门,这里就不赘述了。
log
P
(
X
∣
θ
)
=
log
P
(
X
,
Z
∣
θ
)
−
log
P
(
Z
∣
X
,
θ
)
=
log
P
(
X
,
Z
∣
θ
)
−
log
Q
(
Z
)
−
[
log
P
(
Z
∣
X
,
θ
)
−
log
Q
(
Z
)
]
=
log
P
(
X
,
Z
∣
θ
)
Q
(
Z
)
−
log
P
(
Z
∣
X
,
θ
)
Q
(
Z
)
同时对等式左右两端基于
Q
(
Z
)
\mathcal Q(\mathcal Z)
Q(Z)求解期望:
等式左端:
E
Q
(
Z
)
[
log
P
(
X
∣
θ
)
]
=
∫
Z
Q
(
Z
)
log
P
(
X
∣
θ
)
d
Z
=
log
P
(
X
∣
θ
)
∫
Z
Q
(
Z
)
d
Z
=
log
P
(
X
∣
θ
)
等式右端:
E
Q
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
Q
(
Z
)
−
log
P
(
Z
∣
X
,
θ
)
Q
(
Z
)
]
=
E
Q
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
Q
(
Z
)
]
−
E
Q
(
Z
)
[
log
P
(
Z
∣
X
,
θ
)
Q
(
Z
)
]
=
∫
Z
Q
(
Z
)
log
P
(
X
,
Z
∣
θ
)
Q
(
Z
)
d
Z
−
∫
Z
Q
(
Z
)
log
P
(
Z
∣
X
,
θ
)
Q
(
Z
)
d
Z
称第一项为证据下界(Evidence Lower Bound,ELBO)
E
L
B
O
=
∫
Z
Q
(
Z
)
log
P
(
X
,
Z
∣
θ
)
Q
(
Z
)
d
Z
ELBO = \int_{\mathcal Z}\mathcal Q(\mathcal Z) \log \frac{P(\mathcal X,\mathcal Z \mid \theta)}{\mathcal Q(\mathcal Z)}d \mathcal Z
ELBO=∫ZQ(Z)logQ(Z)P(X,Z∣θ)dZ
第二项(带负号)为表示
Q
(
Z
)
\mathcal Q(\mathcal Z)
Q(Z)和
P
(
Z
∣
X
,
θ
)
P(\mathcal Z \mid \mathcal X,\theta)
P(Z∣X,θ)的
K
L
\mathcal K\mathcal L
KL散度:
−
∫
Z
Q
(
Z
)
log
P
(
Z
∣
X
,
θ
)
Q
(
Z
)
d
Z
=
K
L
[
Q
(
Z
)
∣
∣
P
(
Z
∣
X
,
θ
)
]
- \int_{\mathcal Z}\mathcal Q(\mathcal Z) \log \frac{P(\mathcal Z \mid \mathcal X,\theta)}{\mathcal Q(\mathcal Z)}d \mathcal Z = \mathcal K\mathcal L\left[\mathcal Q(\mathcal Z) || P(\mathcal Z \mid \mathcal X,\theta)\right]
−∫ZQ(Z)logQ(Z)P(Z∣X,θ)dZ=KL[Q(Z)∣∣P(Z∣X,θ)]
核心部分:至此, log P ( X ∣ θ ) \log P(\mathcal X \mid \theta) logP(X∣θ)分解成了两项:ELBO和 K L \mathcal K\mathcal L KL散度两项。
从而引出狭义EM的朴素想法:
继续观察狭义EM的朴素想法,主要问题出现在步骤1:核心问题出现在: 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,θ)是否可以求解取决于生成模型的复杂程度,核心在于我们定义的隐变量 Z \mathcal Z Z它的复杂程度:
因此,这些模型它们定义的隐变量
Z
\mathcal Z
Z的概率分布是结构化的、简单的,因而可以直接 求解
P
(
Z
∣
X
,
θ
)
P(\mathcal Z \mid \mathcal X,\theta)
P(Z∣X,θ),最终使用狭义EM进行求解;
但是,更多模型隐变量
Z
\mathcal Z
Z的概率分布是复杂的,使得
P
(
Z
∣
X
,
θ
)
P(\mathcal Z \mid \mathcal X,\theta)
P(Z∣X,θ)无法求解,因而无法使用狭义EM算法求解。从而衍生出其他求解概率分布方法,如近似推断(主要有变分推断、马尔可夫链蒙特卡洛方法等)
广义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,θ)。
具体迭代过程如下。基于第 t + 1 t+1 t+1步迭代,有:
这意味着 ELBO + KL-Divergence 的结果是固定的,因此求解最小化的KL-Divergence等价于求解最大化的ELBO;此时的
θ
(
t
)
\theta^{(t)}
θ(t)是已知量,看做常数;虽然依然不知道
P
(
Z
∣
X
,
θ
(
t
)
)
P(\mathcal Z \mid \mathcal X,\theta^{(t)})
P(Z∣X,θ(t))的具体结果,但不影响我们求解
K
L
[
Q
(
Z
)
∣
∣
P
(
Z
∣
X
,
θ
(
t
)
)
]
\mathcal K\mathcal L[\mathcal Q(\mathcal Z) || P(\mathcal Z \mid \mathcal X,\theta^{(t)})]
KL[Q(Z)∣∣P(Z∣X,θ(t))]整理:广义EM的E部和M部分别表示如下:
{
Q
^
(
t
+
1
)
(
Z
)
=
arg
max
Q
(
Z
)
∫
Z
Q
(
Z
)
log
P
(
X
,
Z
∣
θ
(
t
)
)
Q
(
Z
)
d
Z
θ
(
t
+
1
)
=
arg
max
θ
∫
Z
Q
^
(
t
+
1
)
(
Z
)
log
P
(
X
,
Z
∣
θ
)
Q
^
(
t
+
1
)
(
Z
)
d
Z
我们和狭义EM做一个对比:
核心区别在于E部:狭义EM默认 P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ)可求解,并令 Q ( Z ) = P ( Z ∣ X , θ ) \mathcal Q(\mathcal Z) = P(\mathcal Z \mid \mathcal X,\theta) Q(Z)=P(Z∣X,θ)作为条件;而广义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)^,并令 Q ( Z ) = Q ( Z ) ^ \mathcal Q(\mathcal Z) = \hat {\mathcal Q(\mathcal Z)} Q(Z)=Q(Z)^。
实际上从狭义和广义的M部求解公式中观察出区别。
因此,关于M部,广义EM比狭义EM多了一项:
无论是狭义EM中的
P
(
Z
∣
X
,
θ
(
t
)
)
P(\mathcal Z \mid \mathcal X,\theta^{(t)})
P(Z∣X,θ(t))还是广义EM中的
Q
^
(
t
+
1
)
(
Z
)
\hat {\mathcal Q}^{(t+1)}(\mathcal Z)
Q^(t+1)(Z),均视为当前迭代步骤关于隐变量后验概率的最优解,统一用·
Q
^
(
Z
)
\hat {\mathcal Q}(\mathcal Z)
Q^(Z)表示。
{
arg
max
θ
{
E
Q
^
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
]
}
arg
max
θ
{
E
Q
^
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
]
+
H
[
Q
^
(
Z
)
]
}
如果
Q
^
(
Z
)
\hat {\mathcal Q}(\mathcal Z)
Q^(Z)未知,广义EM的M部需要多求解一项;但如果
Q
^
(
Z
)
\hat {\mathcal Q}(\mathcal Z)
Q^(Z)是已知项,那么
H
[
Q
^
(
Z
)
]
\mathcal H [\hat {\mathcal Q}(\mathcal Z)]
H[Q^(Z)]相当于常数,和
θ
\theta
θ无关。从而将上式进行如下变换:
arg
max
θ
{
E
Q
^
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
]
+
H
[
Q
^
(
Z
)
]
}
=
arg
max
θ
{
E
Q
^
(
Z
)
[
log
P
(
X
,
Z
∣
θ
)
]
}
\mathop{\arg\max}\limits_{\theta} \left\{\mathbb E_{\hat {\mathcal Q}(\mathcal Z)}[\log P(\mathcal X,\mathcal Z \mid \theta)] + \mathcal H [\hat {\mathcal Q}(\mathcal Z)]\right\} = \mathop{\arg\max}\limits_{\theta} \left\{\mathbb E_{\hat {\mathcal Q}(\mathcal Z)}[\log P(\mathcal X,\mathcal Z \mid \theta)]\right\}
θargmax{EQ^(Z)[logP(X,Z∣θ)]+H[Q^(Z)]}=θargmax{EQ^(Z)[logP(X,Z∣θ)]}
因此,可以得出这样一个结论:狭义EM可看作后验概率 P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ)已知条件下的广义EM,狭义EM是广义EM的一种特殊情况。
实际上,上式实际上对一个情况加深了印象:广义EM中对于 P ( Z ∣ X , θ ) P(\mathcal Z \mid \mathcal X,\theta) P(Z∣X,θ)的近似解: Q ^ ( t + 1 ) ( Z ) \hat {\mathcal Q}^{(t+1)}(\mathcal Z) Q^(t+1)(Z)即便是近似解,但该解与 θ \theta θ有明确的关联关系。
相关参考:
机器学习-EM算法5(广义EM)