Chapter 09 Mixture Models and EM

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(ZX,θ)
  • 输出:模型参数 θ \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)]=Zlogp(X,Zθ)p(ZX,θ(i))(9.1)
      这里, p ( Z ∣ X , θ ( i ) ) p(Z|X,\theta^{(i)}) p(ZX,θ(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(ZX,θ(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θ)=Zp(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(qp)(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,θ)=Zq(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(qp)=Zq(Z)ln(q(Z)p(ZX,θ))(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(ZX,θ)+lnp(Xθ)(9.7)

考虑到Kullback-Leibler散度 K L ( q ∣ ∣ p ) ≥ 0 KL(q||p) \geq 0 KL(qp)0,且当且仅当 q ( Z ) = p ( Z ∣ X , θ ) q(Z) = p(Z|X,\theta) q(Z)=p(ZX,θ)时等号成立,因此,根据公式(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(ZX,θ(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(ZX,θ(new))不可能相同,进而, K L KL KL散度非零,其结构如下图。
    在这里插入图片描述

综上,可以看出,EM算法是在不断的提升下界以逼近极大似然的结果。如果我们把 q ( Z ) = p ( Z ∣ X , θ ( o l d ) ) q(Z)=p(Z|X,\theta^{(old)}) q(Z)=p(ZX,θ(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,θ)=Zp(ZX,θ(old))lnp(X,Zθ)Zp(ZX,θ(old))lnp(ZX,θ(old))=Q(θ,θ(old))+const((9.8))

可以看到,E步最大化求的还是隐变量 Z Z Z的后验概率期望值。

Mixture Gaussian Models


混合高斯模型的求解过程中,使用到了EM算法,通过对其最大似然函数求导,得到了其所有参数都为隐变量的函数,因此在E步,先求解隐变量的估计,在M步求解各个参数的更新。具体的推导,《PRML》上相当详尽。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值