EM算法详解

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θ)=Zp(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θ)=lnZp(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θ)=Zq(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(ZX,θ)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θ)=Zq(Z)lnp(ZX,θ)p(X,Zθ)=Zq(Z)ln{q(Z)p(X,Zθ)p(ZX,θ)q(Z)}=Zq(Z){lnq(Z)p(X,Zθ)+lnp(ZX,θ)q(Z)}=Zq(Z){lnq(Z)p(X,Zθ)}+Zq(Z)ln{p(ZX,θ)q(Z)}=L(q,θ)+DKL(qp)(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,θ)=Zq(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(qp)=Zq(Z)ln{p(ZX,θ)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(qp)0(当 q ( Z ) = p ( Z ∣ X , θ ) q(\pmb{Z})=p(\pmb{Z}|\pmb{X},\pmb{\theta}) q(Z)=p(ZX,θ)时等号成立)可得
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(qp)=0,意味着 q ( Z ) = p ( Z ∣ X , θ ( i ) ) q(\pmb{Z})=p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) q(Z)=p(ZX,θ(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,θ)=Zp(ZX,θ(i)){lnp(ZX,θ(i))p(X,Zθ)}=Zp(ZX,θ(i))lnp(X,Zθ)Zp(ZX,θ(i))lnp(ZX,θ(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,θ)=Zp(ZX,θ(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(qp)的和。如下图所示:

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(ZX,θ(i)),于是 D K L ( q ∥ p ) = 0 D_{KL}(q\parallel p)=0 DKL(qp)=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(ZX,θ(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(ZX,θ(i+1))p(ZX,θ(i))

由于似然函数极大化后,参数及 q ( Z ) q(\pmb{Z}) q(Z)的后验分布得到更新,此时,更新后的后验分布与更新前的后验分布 p ( Z ∣ X , θ ( i ) ) p(\pmb{Z}|\pmb{X},\pmb{\theta}^{(i)}) p(ZX,θ(i))的KL散度不为零,也即 D K L ( q ∥ p ) > 0 D_{KL}(q\parallel p)>0 DKL(qp)>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))=Zp(ZX,θ(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.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuzl_wm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值