1.写在前面的话
本文主要涉及以下知识:
- 概率论
- 联合概率
- 条件概率
- 边际概率
- 期望
- 贝叶斯公式
- 极大似然估计
- KL散度的定义及性质
对于本文涉及的上述知识,本文不会用篇幅进行说明。有关极大似然估计和KL散度的内容可以参考
本文仅作为学习记录用,并非专业的教程,内容大多来自参考书目,同时加以自己的理解而作,内容仅供参考。若要详细了解,请参看参考文献书目。文中如有错误,请联系修改。
2.EM算法
2.1.EM算法推导
极大似然估计是在已观测数据上对模型参数进行估计。但在某些场景中,数据存在未观测变量,称之为潜变量或隐变量,用
Z
Z
Z表示,而已观测数据又称为不完全数据,用
X
X
X表示。(X,Z)称之为完全数据。由于
Z
Z
Z并未观测到,这时使用极大似然估计将不可行。为了解决有潜变量的参数估计问题,Dempster et al和McLachlan and Krishnan于1977年提出了EM算法。
先考虑一个概率模型,并将已观测数据联合起来使用
X
X
X表示,将所有隐变量记作
Z
Z
Z,联合概率
p
(
X
,
Z
∣
θ
)
p(\pmb{X},\pmb{Z}|\pmb{\theta})
p(X,Z∣θ)由参数向量
θ
\pmb{\theta}
θ控制,我们的目标是最大化似然函数
p
(
X
∣
θ
)
=
∑
Z
p
(
X
,
Z
∣
θ
)
(1)
p(\pmb{X}|\pmb{\theta})=\sum_{Z}p(\pmb{X},\pmb{Z}|\pmb{\theta}) \tag{1}
p(X∣θ)=Z∑p(X,Z∣θ)(1)
上式的对数似然函数为
ln p ( X ∣ θ ) = ln ∑ Z p ( X , Z ∣ θ ) (2) \ln p(\pmb{X}|\pmb{\theta})=\ln \sum_{Z}p(\pmb{X},\pmb{Z}|\pmb{\theta}) \tag{2} lnp(X∣θ)=lnZ∑p(X,Z∣θ)(2)
对其对数似然函数求导进行优化将非常困难。现在我们假设对完全数据的对数似然函数
ln
p
(
X
,
Z
∣
θ
)
\ln p(\pmb{X},\pmb{Z}|\pmb{\theta})
lnp(X,Z∣θ)进行优化是容易的。接下来我们定义一个在隐变量上的分布
q
(
Z
)
q(\pmb{Z})
q(Z)。考虑到
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ)与
q
(
Z
)
q(\pmb{Z})
q(Z)无关,则有下式成立
ln
p
(
X
∣
θ
)
=
∑
Z
q
(
Z
)
ln
p
(
X
∣
θ
)
(3)
\ln p(\pmb{X}|\pmb{\theta})=\sum_{\pmb{Z}}q(\pmb{Z})\ln p(\pmb{X}|\pmb{\theta}) \tag{3}
lnp(X∣θ)=Z∑q(Z)lnp(X∣θ)(3)
又考虑到
p
(
X
∣
θ
)
=
p
(
X
,
Z
∣
θ
)
p
(
Z
∣
X
,
θ
)
(4)
p(\pmb{X}|\pmb{\theta})=\frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{p(\pmb{Z}|\pmb{X},\pmb{\theta})} \tag{4}
p(X∣θ)=p(Z∣X,θ)p(X,Z∣θ)(4)
将上式代入(3)式右侧得
ln
p
(
X
∣
θ
)
=
∑
Z
q
(
Z
)
ln
p
(
X
,
Z
∣
θ
)
p
(
Z
∣
X
,
θ
)
=
∑
Z
q
(
Z
)
ln
{
p
(
X
,
Z
∣
θ
)
q
(
Z
)
q
(
Z
)
p
(
Z
∣
X
,
θ
)
}
=
∑
Z
q
(
Z
)
{
ln
p
(
X
,
Z
∣
θ
)
q
(
Z
)
+
ln
q
(
Z
)
p
(
Z
∣
X
,
θ
)
}
=
∑
Z
q
(
Z
)
{
ln
p
(
X
,
Z
∣
θ
)
q
(
Z
)
}
+
∑
Z
q
(
Z
)
ln
{
q
(
Z
)
p
(
Z
∣
X
,
θ
)
}
=
L
(
q
,
θ
)
+
D
K
L
(
q
∥
p
)
(5)
\begin{aligned} \ln p(\pmb{X}|\pmb{\theta})&=\sum_{\pmb{Z}}q(\pmb{Z})\ln \frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{p(\pmb{Z}|\pmb{X},\pmb{\theta})} \\ &=\sum_{\pmb{Z}}q(\pmb{Z})\ln \left\{\frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{q(\pmb{Z})}\frac{q(\pmb{Z})}{p(\pmb{Z}|\pmb{X},\pmb{\theta})}\right\}\\ &=\sum_{\pmb{Z}}q(\pmb{Z})\left\{\ln \frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{q(\pmb{Z})}+\ln \frac{q(\pmb{Z})}{p(\pmb{Z}|\pmb{X},\pmb{\theta})}\right\}\\ &=\sum_{\pmb{Z}}q(\pmb{Z})\left\{\ln \frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{q(\pmb{Z})}\right\}+\sum_{\pmb{Z}}q(\pmb{Z})\ln\left\{ \frac{q(\pmb{Z})}{p(\pmb{Z}|\pmb{X},\pmb{\theta})}\right\}\\ &=\mathcal{L}(q,\pmb{\theta})+D_{KL}(q\parallel p) \tag{5} \end{aligned}
lnp(X∣θ)=Z∑q(Z)lnp(Z∣X,θ)p(X,Z∣θ)=Z∑q(Z)ln{q(Z)p(X,Z∣θ)p(Z∣X,θ)q(Z)}=Z∑q(Z){lnq(Z)p(X,Z∣θ)+lnp(Z∣X,θ)q(Z)}=Z∑q(Z){lnq(Z)p(X,Z∣θ)}+Z∑q(Z)ln{p(Z∣X,θ)q(Z)}=L(q,θ)+DKL(q∥p)(5)
其中
L
(
q
,
θ
)
=
∑
Z
q
(
Z
)
{
ln
p
(
X
,
Z
∣
θ
)
q
(
Z
)
}
(6)
\begin{aligned} \mathcal{L}(q,\pmb{\theta})=\sum_{\pmb{Z}}q(\pmb{Z})\left\{\ln \frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{q(\pmb{Z})}\right\} \\ \tag{6} \end{aligned}
L(q,θ)=Z∑q(Z){lnq(Z)p(X,Z∣θ)}(6)
D K L ( q ∥ p ) = ∑ Z q ( Z ) ln { q ( Z ) p ( Z ∣ X , θ ) } (7) D_{KL}(q\parallel p)=\sum_{\pmb{Z}}q(\pmb{Z})\ln\left\{ \frac{q(\pmb{Z})}{p(\pmb{Z}|\pmb{X},\pmb{\theta})}\right\} \tag{7} DKL(q∥p)=Z∑q(Z)ln{p(Z∣X,θ)q(Z)}(7)
显然(5)式右边第二项为
q
q
q到
p
p
p的KL散度,由KL散度的数学性质
D
K
L
(
q
∥
p
)
≥
0
D_{KL}(q\parallel p)\ge 0
DKL(q∥p)≥0(当
q
(
Z
)
=
p
(
Z
∣
X
,
θ
)
q(\pmb{Z})=p(\pmb{Z}|\pmb{X},\pmb{\theta})
q(Z)=p(Z∣X,θ)时等号成立)可得
L
(
q
,
θ
)
≤
ln
p
(
X
∣
θ
)
(8)
\mathcal{L}(q,\pmb{\theta})\le \ln p(\pmb{X}|\pmb {\theta}) \tag{8}
L(q,θ)≤lnp(X∣θ)(8)
换句话说,
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)给出了对数似然
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ)的下界。由于直接极大化对数似然
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ)是困难的,而
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)恰好是对数似然
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ)的下界,故可以极大化
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)以使对数似然
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)极大化。
现在来详细说明EM算法的步骤。
E步: 假设当前迭代参数为
θ
(
i
)
\pmb{\theta}^{(i)}
θ(i)。现固定参数
θ
(
i
)
\pmb{\theta}^{(i)}
θ(i),同时式子
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)关于
Z
Z
Z最大化。根据式子(8),
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)的最大值等于
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ),而要想
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)等于
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ),只需
D
K
L
(
q
∥
p
)
=
0
D_{KL}(q\parallel p)=0
DKL(q∥p)=0,意味着
q
(
Z
)
=
p
(
Z
∣
X
,
θ
(
i
)
)
q(\pmb{Z})=p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})
q(Z)=p(Z∣X,θ(i)),将该式代入式(6)有
L
(
q
,
θ
)
=
∑
Z
p
(
Z
∣
X
,
θ
(
i
)
)
{
ln
p
(
X
,
Z
∣
θ
)
p
(
Z
∣
X
,
θ
(
i
)
)
}
=
∑
Z
p
(
Z
∣
X
,
θ
(
i
)
)
ln
p
(
X
,
Z
∣
θ
)
−
∑
Z
p
(
Z
∣
X
,
θ
(
i
)
)
ln
p
(
Z
∣
X
,
θ
(
i
)
)
(9)
\begin{aligned} \mathcal{L}(q,\pmb{\theta})&=\sum_{\pmb{Z}}p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})\left\{\ln \frac{p(\pmb{X},\pmb{Z}|\pmb{\theta})}{p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})}\right\} \\ &=\sum_{\pmb{Z}}p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) \ln p(\pmb{X},\pmb{Z}|\pmb{\theta})-\sum_{\pmb{Z}}p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) \ln p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) \tag{9} \end{aligned}
L(q,θ)=Z∑p(Z∣X,θ(i)){lnp(Z∣X,θ(i))p(X,Z∣θ)}=Z∑p(Z∣X,θ(i))lnp(X,Z∣θ)−Z∑p(Z∣X,θ(i))lnp(Z∣X,θ(i))(9)
上式右侧第二项中,参数
θ
(
i
)
,
X
\pmb{\theta}^{(i)},X
θ(i),X已知,因此第二项是一个常数。故上式可改写为
L
(
q
,
θ
)
=
∑
Z
p
(
Z
∣
X
,
θ
(
i
)
)
ln
p
(
X
,
Z
∣
θ
)
+
C
=
Q
(
θ
,
θ
(
i
)
)
+
C
(10)
\begin{aligned} \mathcal{L}(q,\pmb{\theta})&=\sum_{\pmb{Z}}p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) \ln p(\pmb{X},\pmb{Z}|\pmb{\theta})+C \\ &=Q(\pmb{\theta},\pmb{\theta}^{(i)})+C \tag{10} \end{aligned}
L(q,θ)=Z∑p(Z∣X,θ(i))lnp(X,Z∣θ)+C=Q(θ,θ(i))+C(10)
M步: 固定分布
q
(
Z
)
q(\pmb{Z})
q(Z),下界
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)关于
θ
\pmb{\theta}
θ进行极大化,得到新的参数
θ
(
i
+
1
)
\pmb{\theta}^{(i+1)}
θ(i+1)。由于
C
C
C是常数,并不影响极大化
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)的结果,故等价于极大化
Q
(
θ
,
θ
(
i
)
)
Q(\pmb{\theta},\pmb{\theta}^{(i)})
Q(θ,θ(i)),即
θ
(
i
+
1
)
=
a
r
g
max
θ
Q
(
θ
,
θ
(
i
)
)
(11)
\pmb{\theta}^{(i+1)}=arg\max_{\pmb{\theta}}Q(\pmb{\theta},\pmb{\theta}^{(i)}) \tag{11}
θ(i+1)=argθmaxQ(θ,θ(i))(11)
重复以上两个步骤,直至到达指定迭代次数或收敛为止。
上述两个步骤都在对对数似然
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ)的下界
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)进行极大化,区别在于,E步固定参数
θ
(
i
)
\pmb{\theta}^{(i)}
θ(i)关于分布
q
(
Z
)
q(\pmb{Z})
q(Z)极大化
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ),而M步固定分布
q
(
Z
)
q(\pmb{Z})
q(Z)关于参数
θ
\pmb{\theta}
θ极大化
L
(
q
,
θ
)
\mathcal{L}(q,\pmb{\theta})
L(q,θ)。其中,E步极大化的结果产生了
Q
(
θ
,
θ
(
i
)
)
Q(\pmb{\theta},\pmb{\theta}^{(i)})
Q(θ,θ(i))。正是因此,将其称之为期望步。
2.2.图解EM算法
现将上述迭代过程使用图示进行说明。
假设当前迭代参数为
θ
(
i
)
\pmb{\theta}^{(i)}
θ(i),由式(5)知,对数似然是下界
L
(
q
,
θ
(
i
)
)
\mathcal{L}(q,\pmb{\theta}^{(i)})
L(q,θ(i))与KL散度
D
K
L
(
q
∥
p
)
D_{KL}(q\parallel p)
DKL(q∥p)的和。如下图所示:
E步固定参数
θ
(
i
)
\pmb{\theta}^{(i)}
θ(i)关于分布
q
(
Z
)
q(\pmb{Z})
q(Z)极大化
L
(
q
,
θ
(
i
)
)
\mathcal{L}(q,\pmb{\theta}^{(i)})
L(q,θ(i)),也就是令
q
(
Z
)
=
p
(
Z
∣
X
,
θ
(
i
)
)
q(\pmb{Z})=p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})
q(Z)=p(Z∣X,θ(i)),于是
D
K
L
(
q
∥
p
)
=
0
D_{KL}(q\parallel p)=0
DKL(q∥p)=0。从而得到下图
M步固定分布
q
(
Z
)
q(\pmb{Z})
q(Z)关于参数
θ
\pmb{\theta}
θ极大化
L
(
q
,
θ
(
i
)
)
\mathcal{L}(q,\pmb{\theta}^{(i)})
L(q,θ(i)),此时的分布
q
(
Z
)
=
p
(
Z
∣
X
,
θ
(
i
)
)
q(\pmb{Z})=p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})
q(Z)=p(Z∣X,θ(i))。在关于参数
θ
\pmb{\theta}
θ极大化
L
(
q
,
θ
(
i
)
)
\mathcal{L}(q,\pmb{\theta}^{(i)})
L(q,θ(i))之后,
θ
(
i
+
1
)
←
θ
(
i
)
L
(
q
,
θ
(
i
+
1
)
)
←
L
(
q
,
θ
(
i
)
)
\pmb{\theta}^{(i+1)}\leftarrow \pmb{\theta}^{(i)}\\ \mathcal{L}(q,\pmb{\theta}^{(i+1)})\leftarrow\mathcal{L}(q,\pmb{\theta}^{(i)})
θ(i+1)←θ(i)L(q,θ(i+1))←L(q,θ(i))
同时,
q
(
Z
)
q(\pmb{Z})
q(Z)的后验分布更新为
p
(
Z
∣
X
,
θ
(
i
+
1
)
)
←
p
(
Z
∣
X
,
θ
(
i
)
)
p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i+1)})\leftarrow p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})
p(Z∣X,θ(i+1))←p(Z∣X,θ(i))
由于似然函数极大化后,参数及
q
(
Z
)
q(\pmb{Z})
q(Z)的后验分布得到更新,此时,更新后的后验分布与更新前的后验分布
p
(
Z
∣
X
,
θ
(
i
)
)
p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)})
p(Z∣X,θ(i))的KL散度不为零,也即
D
K
L
(
q
∥
p
)
>
0
D_{KL}(q\parallel p)>0
DKL(q∥p)>0。根据式(5)知,对数似然
ln
p
(
X
∣
θ
)
\ln p(\pmb{X}|\pmb{\theta})
lnp(X∣θ)的增加量大于
L
(
q
,
θ
(
i
)
)
\mathcal{L}(q,\pmb{\theta}^{(i)})
L(q,θ(i))的增加量。用图示如下:
在实际应用中,不断重复上述两步,直到达到指定迭代次数或者收敛为止。
上述迭代过程类似于坐标上升法
2.3.EM算法总结
现将EM算法的步骤总结如下:
EM算法:
输入:观测数据
X
\pmb{X}
X,隐变量数据
Z
\pmb{Z}
Z,初始化参数
θ
(
0
)
\pmb{\theta}^{(0)}
θ(0)
输出:模型参数
θ
\pmb{\theta}
θ
(1)
E
E
E步:
记
θ
(
i
)
\pmb{\theta}^{(i)}
θ(i)为第
i
i
i次迭代参数
θ
\pmb{\theta}
θ的估计,则在第
i
+
1
i+1
i+1次迭代的
E
E
E步中,计算下式
Q
(
θ
,
θ
(
i
)
)
=
∑
Z
p
(
Z
∣
X
,
θ
(
i
)
)
ln
p
(
X
,
Z
∣
θ
)
Q(\pmb{\theta},\pmb{\theta}^{(i)})=\sum_{\pmb{Z}}p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) \ln p(\pmb{X},\pmb{Z}|\pmb{\theta})
Q(θ,θ(i))=Z∑p(Z∣X,θ(i))lnp(X,Z∣θ)
(2)
M
M
M步:
求使得
Q
(
θ
,
θ
(
i
)
)
Q(\pmb{\theta},\pmb{\theta}^{(i)})
Q(θ,θ(i))极大化的参数
θ
(
i
+
1
)
\pmb{\theta}^{(i+1)}
θ(i+1),即
θ
(
i
+
1
)
=
a
r
g
max
θ
Q
(
θ
,
θ
(
i
)
)
\pmb{\theta}^{(i+1)}=arg\max_{\pmb{\theta}}Q(\pmb{\theta},\pmb{\theta}^{(i)})
θ(i+1)=argθmaxQ(θ,θ(i))
(3) 重复(1)和(2),直至收敛。
3.总结
本文对EM算法的过程进行推导,并给出了EM算法的一般过程。
参考文献
[1] Goodfellow I, Bengio Y, Courville A. Deep learning[M]. MIT press, 2016.
[2] Bishop C M, Nasrabadi N M. Pattern recognition and machine learning[M]. New York: springer, 2006.
[3] 李航. 统计学习方法[M]. Qing hua da xue chu ban she, 2012.