Chapter 09 Mixture Models and EM
本章《PRML》主要介绍的概念是期望最大化算法(Expectation Maximization Algorithm, EM),该方法主要用于含有隐变量(latent variable)的概率模型参数的极大似然估计。混合高斯模型即是利用EM算法进行的计算。
文章目录
EM
a. Expectation Maximization Algorithm
一般地,如果概率模型的变量都是观测变量(observable variable),无隐变量,那么可以直接使用极大似然估计或者贝叶斯估计,解析地求得模型的参数。但是,当含有隐变量时,以上方法就得不到解析解了,就只能够得到模型参数关于隐变量的一个函数。
通常来说,对于观测数据 X X X,参数 θ \theta θ,我们希望通过最大化对数似然函数 l o g p ( X ∣ θ ) log p(X | \theta) logp(X∣θ)得到参数 θ \theta θ的估计,当有隐变量 Z Z Z时,我们希望能够最大化 l o g p ( X , Z ∣ θ ) log p(X,Z|\theta) logp(X,Z∣θ)。一般地,对于含隐变量的情况,我们定义 X X X为观测随机变量数据, Z Z Z表示隐随机变量数据,
- 完全数据(complete-data): Y Y Y和 Z Z Z在一起;
- 不完全数据(incomplete-data):只有观测数据 Y Y Y。
EM算法求解 L ( θ ) = l o g p ( X , Z ∣ θ ) L(\theta)= log p(X,Z|\theta) L(θ)=logp(X,Z∣θ)主要分为两步,E步,求期望;M步,求极大化。其具体形式如下,
- 输入:观测变量 X X X,隐变量 Z Z Z,联合分布 p ( X , Z ∣ θ ) p(X,Z|\theta) p(X,Z∣θ),条件分布 p ( Z ∣ X , θ ) p(Z|X,\theta) p(Z∣X,θ);
- 输出:模型参数 θ \theta θ;
- 步骤:
- 选择参数的初值 θ ( 0 ) \theta^{(0)} θ(0),开始迭代;
- E步:记
θ
(
i
)
\theta^{(i)}
θ(i)为第
i
i
i次迭代参数
θ
\theta
θ的估计值,在第
i
+
1
i+1
i+1次迭代的
E
E
E步,计算
(9.1) Q ( θ , θ ( i ) ) = E Z [ l o g p ( X , Z ∣ θ ) ∣ X , θ ( i ) ] = ∑ Z l o g p ( X , Z ∣ θ ) p ( Z ∣ X , θ ( i ) ) \begin{aligned} \mathcal{Q}(\theta,\theta^{(i)}) &= E_Z [log p(X,Z|\theta)|X,\theta^{(i)}] \\ &= \sum_Z log p(X,Z|\theta)p(Z|X,\theta^{(i)}) \end{aligned} \tag{9.1} Q(θ,θ(i))=EZ[logp(X,Z∣θ)∣X,θ(i)]=Z∑logp(X,Z∣θ)p(Z∣X,θ(i))(9.1)
这里, p ( Z ∣ X , θ ( i ) ) p(Z|X,\theta^{(i)}) p(Z∣X,θ(i))是在给定观测数据 X X X和当前参数估计 θ ( i ) \theta^(i) θ(i)下隐变量数据 Z Z Z的条件概率分布; - M步:求使得式(9.1)极大化的
θ
\theta
θ,确定第
i
+
1
i+1
i+1次迭代的参数的估计值
θ
(
i
+
1
)
\theta^{(i+1)}
θ(i+1),
(9.2) θ ( i + 1 ) = arg max θ Q ( θ , θ ( i ) ) \theta^{(i+1)} = \arg \max_{\theta} \mathcal{Q}(\theta,\theta^{(i)}) \tag{9.2} θ(i+1)=argθmaxQ(θ,θ(i))(9.2) - 重复前两个步骤,直到收敛。
其中,我们定义,
-
Q
函
数
\mathcal{Q}函数
Q函数:完全数据的对数似然函数
l
o
g
p
(
X
,
Z
∣
θ
)
log p(X,Z|\theta)
logp(X,Z∣θ)关于在给定观测数据
X
X
X和当前参数
θ
(
i
)
\theta^{(i)}
θ(i)下对为观测数据
Z
Z
Z的条件概率分布
p
(
Z
∣
X
,
θ
(
i
)
)
p(Z|X,\theta^{(i)})
p(Z∣X,θ(i))的期望称为
Q
\mathcal{Q}
Q函数,即,
(9.3) Q ( θ , θ ( i ) ) = E Z [ l o g p ( X , Z ∣ θ ) ∣ X , θ ( i ) ] \mathcal{Q}(\theta, \theta^{(i)})=E_Z [log p(X, Z|\theta)|X, \theta^{(i)}] \tag{9.3} Q(θ,θ(i))=EZ[logp(X,Z∣θ)∣X,θ(i)](9.3)
总结来看,EM算法首先对隐变量的后验分布求期望,再对这个期望最大化来获得参数的更新。
b. Validity & Convergence of EM
EM算法的正确性(validity)可以通过对目标函数进行分解得到,对于联合分布 p ( X , Z ∣ θ ) p(X,Z|\theta) p(X,Z∣θ)由参数 θ \theta θ控制,我们的目标是最大化似然函数,
(9.3) p ( X ∣ θ ) = ∑ Z p ( X , Z ∣ θ ) p(X|\theta) = \sum_Z p(X,Z|\theta) \tag{9.3} p(X∣θ)=Z∑p(X,Z∣θ)(9.3)
一般地,我们会考虑式(9.3)的对数形式,并且对其进行分解可以得到式(9.4),
(9.4) ln p ( X ∣ θ ) = L ( q , θ ) + K L ( q ∣ ∣ p ) \ln p(X|\theta) = \mathcal{L}(q,\theta) + KL(q||p) \tag{9.4} lnp(X∣θ)=L(q,θ)+KL(q∣∣p)(9.4)
其中,我们定义,
(9.5) L ( q , θ ) = ∑ Z q ( Z ) ln ( p ( X , Z ∣ θ ) q ( Z ) ) \mathcal{L}(q,\theta) = \sum_Z q(Z) \ln \left ( \frac{p(X,Z|\theta)}{q(Z)} \right ) \tag{9.5} L(q,θ)=Z∑q(Z)ln(q(Z)p(X,Z∣θ))(9.5)
(9.6) K L ( q ∣ ∣ p ) = − ∑ Z q ( Z ) ln ( p ( Z ∣ X , θ ) q ( Z ) ) KL(q||p) = -\sum_Z q(Z) \ln \left ( \frac{p(Z|X,\theta)}{q(Z)} \right ) \tag{9.6} KL(q∣∣p)=−Z∑q(Z)ln(q(Z)p(Z∣X,θ))(9.6)
对于式(9.4)的分解,我们可以将式(9.7)带入(9.5)证得,
(9.7) ln p ( X , Z ∣ θ ) = ln p ( Z ∣ X , θ ) + ln p ( X ∣ θ ) \ln p(X,Z|\theta) = \ln p(Z|X,\theta) + \ln p(X|\theta) \tag{9.7} lnp(X,Z∣θ)=lnp(Z∣X,θ)+lnp(X∣θ)(9.7)
考虑到Kullback-Leibler散度 K L ( q ∣ ∣ p ) ≥ 0 KL(q||p) \geq 0 KL(q∣∣p)≥0,且当且仅当 q ( Z ) = p ( Z ∣ X , θ ) q(Z) = p(Z|X,\theta) q(Z)=p(Z∣X,θ)时等号成立,因此,根据公式(9.4),我们可以知道, ln p ( X ∣ θ ) ≥ L ( q , θ ) \ln p(X|\theta) \geq \mathcal{L}(q,\theta) lnp(X∣θ)≥L(q,θ),即 L ( q , θ ) \mathcal{L}(q,\theta) L(q,θ)是 ln p ( X ∣ θ ) \ln p(X|\theta) lnp(X∣θ)的一个下界,其分解形式如下,
我们可以使用式(9.4)的分解,证明在EM算法中,通过不断的求解下界式(9.5)的极大值来逼近求解似然函数的极大化,
-
E步:假设参数的当前值为 θ ( o l d ) \theta^{(old)} θ(old),在E步骤中,下界 L ( q , θ ( o l d ) ) \mathcal{L}(q,\theta^{(old)}) L(q,θ(old))关于 q ( Z ) q(Z) q(Z)被最大化,且 ln ( X ∣ θ ( o l d ) ) \ln(X|\theta^{(old)}) ln(X∣θ(old))不依赖于 q ( Z ) q(Z) q(Z)而依赖于固定不变的 θ ( o l d ) \theta^{(old)} θ(old),因此其值保持不变。所以 L ( q , θ ( o l d ) ) \mathcal{L}(q,\theta^{(old)}) L(q,θ(old))的最大值为KL散度为零的时候,即最大值出现在 q ( Z ) q(Z) q(Z)与后验概率分布 p ( Z ∣ X , θ ( o l d ) ) p(Z|X,\theta^{(old)}) p(Z∣X,θ(old))相等的时候,此时下界为对数似然函数,如下图所示,
-
M步:分布的 q ( Z ) q(Z) q(Z)保持不变,下界 L ( q , θ ( o l d ) ) \mathcal{L}(q,\theta^{(old)}) L(q,θ(old))关于 θ \theta θ求最大值,得到 θ ( n e w ) \theta^{(new)} θ(new),这会使得下界 L \mathcal{L} L增大,这也会使得似然函数增大。同时,因为 q ( Z ) q(Z) q(Z)不变且依然由旧参数得到,因此其和 p ( Z ∣ X , θ ( n e w ) ) p(Z|X,\theta^{(new)}) p(Z∣X,θ(new))不可能相同,进而, K L KL KL散度非零,其结构如下图。
综上,可以看出,EM算法是在不断的提升下界以逼近极大似然的结果。如果我们把 q ( Z ) = p ( Z ∣ X , θ ( o l d ) ) q(Z)=p(Z|X,\theta^{(old)}) q(Z)=p(Z∣X,θ(old))带入式(9.5),在E步之后,下界为,
((9.8)) L ( q , θ ) = ∑ 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 ) ) + c o n s t \begin{aligned} \mathcal{L}(q,\theta) &=\sum_Z p(Z|X,\theta^{(old)}) \ln p(X,Z|\theta)-\sum_Zp(Z|X,\theta^{(old)})\ln p(Z|X,\theta^{(old)}) \\ &= \mathcal{Q}(\theta,\theta^{(old)}) + const \end{aligned} \tag{(9.8)} L(q,θ)=Z∑p(Z∣X,θ(old))lnp(X,Z∣θ)−Z∑p(Z∣X,θ(old))lnp(Z∣X,θ(old))=Q(θ,θ(old))+const((9.8))
可以看到,E步最大化求的还是隐变量 Z Z Z的后验概率期望值。
Mixture Gaussian Models
混合高斯模型的求解过程中,使用到了EM算法,通过对其最大似然函数求导,得到了其所有参数都为隐变量的函数,因此在E步,先求解隐变量的估计,在M步求解各个参数的更新。具体的推导,《PRML》上相当详尽。