文章目录

  • 三硬币模型
  • EM推导背景
  • EM算法步骤
  • EM算法的导出
  • EM算法的收敛性

如果概率模型都是观测变量,那么给定数据就可以用极大似然估计法或者贝叶斯估计发去获得模型。但是,有时候概率模型既有观测变量,又有隐变量或者潜在变量,这样就不能用这些估计方法了。本文要介绍的EM算法可以解决这类问题。

三硬币模型

为了更好的描述EM算法,先提出一个实际的问题。问题描述如下:

假设有3枚硬币,分别记作A,B和C。 这些硬币正面向上的概率分别是 π\piπ、ppp和qqq 。进行如下抛硬币试验:先抛硬币A, 根据其结果选出硬币B或者硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,抛硬币的结果,出现正面记作1,出现反面记作0;独立重复10次试验。结果如下:

1,1,0,1,0,0,1,0,1,1

假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率。

我们用θ=(π,p,q)\theta = (\pi,p,q)θ=(π,p,q)表示模型的参数,y表示某次得到的0或者1的观测结果,z表示隐变量,表示某次A的结果。一般地,用Y表示观测变量数据,用Z表示隐变量的数据。在上面的问题中,Y=(y1,y2,…,yn)TY=(y_1, y_2,…,y_n)^TY=(y1​,y2​,…,yn​)T表示观测到硬币B、C的0,1序列,Z=(z1,z2,…,zn)TZ=(z_1,z_2,…,z_n)^TZ=(z1​,z2​,…,zn​)T表示未观测到的硬币A的0,1序列。

考虑用极大似然估计求模型参数θ^=(π,p,q)\hat \theta=(\pi,p,q)θ^=(π,p,q)的, 即:
L(θ)=log⁡P(Y∣θ)=log⁡∑ZP(Y,Z∣θ)=∑j=110log∑i=12P(yj,zi∣θ)(1)\begin{aligned} L(\theta) &= \log P(Y|\theta) \\ &= \log \sum\limits_{Z}P(Y,Z|\theta) \\&= \sum_{j=1}^{10}log\sum_{i=1}^{2} P(y_j,z_i|\theta) \end{aligned} \tag 1 L(θ)​=logP(Y∣θ)=logZ∑​P(Y,Z∣θ)=j=1∑10​logi=1∑2​P(yj​,zi​∣θ)​(1)

θ^=arg⁡max⁡θL(θ)(2)\hat \theta = \arg\max\limits_{\theta} L(\theta) \tag 2 θ^=argθmax​L(θ)(2)

直接求(2)的参数θ会比较困难,因为上式存在隐含随机变量Z。如果Z是个已知的数,那么使用极大似然估计来估算会很容易。在这种Z不确定的情形下,EM算法就派上用场了。

EM推导背景

对于式子1,我们做如下变形:
L(θ)=∑j=110log∑i=12P(yj,zi∣θ)=∑j=110log∑i=12Dj(zi)P(yj,zi∣θ)Dj(zi)(3)≥∑j=110∑i=12Dj(zi)logP(yj,zi∣θ)Dj(zi)(4)\begin{aligned}L(\theta) &= \sum_{j=1}^{10}log\sum_{i=1}^{2} P(y_j,z_i|\theta) \\&=\sum_{j=1}^{10}log\sum_{i=1}^{2}D_j(z_i)\frac{P(y_j,z_i|\theta) }{D_j(z_i)} \qquad (3) \\&\geq \sum_{j=1}^{10}\sum_{i=1}^{2}D_j(z_i)log\frac{P(y_j,z_i|\theta) }{D_j(z_i)} \qquad (4)\end{aligned} L(θ)​=j=1∑10​logi=1∑2​P(yj​,zi​∣θ)=j=1∑10​logi=1∑2​Dj​(zi​)Dj​(zi​)P(yj​,zi​∣θ)​(3)≥j=1∑10​i=1∑2​Dj​(zi​)logDj​(zi​)P(yj​,zi​∣θ)​(4)​
其中,对于每个实例i,用DiD_iDi​表示样本实例隐含变量z的某种分布,且DiD_iDi​满足条件∑zDi(z)=1,Di(z)≥0\sum_zD_i(z)=1,D_i(z)\geq0∑z​Di​(z)=1,Di​(z)≥0。由于对数函数是凹函数,则根据詹森不等式可以从(3)缩放为(4)。

具体来说,问题简化为如何求解随机变量的期望。假如我们的期望表达式为:
E(x)=∑x∗p(x)E(x)=\sum x*p(x) E(x)=∑x∗p(x)
我们可以把(3)式当中的Dj(zi)D_j(z_{i})Dj​(zi​)看上式中的概率p(x)p(x)p(x),把P(yj,zi∣θ)Dj(zi)\frac{P(y_j,z_i|\theta) }{D_j(z_i)}Dj​(zi​)P(yj​,zi​∣θ)​看作是Dj(zi)D_j(z_{i})Dj​(zi​)的取值x,可以得到:
∑ZDj(zi)P(yj,zi∣θ)Dj(zi)\sum\limits_Z D_j(z_i)\frac{P(y_j,z_i|\theta) }{D_j(z_i)} Z∑​Dj​(zi​)Dj​(zi​)P(yj​,zi​∣θ)​
就是P(yj,zi∣θ)Dj(zi)\frac{P(y_j,z_i|\theta) }{D_j(z_i)}Dj​(zi​)P(yj​,zi​∣θ)​的期望。经过詹森不等式变形之后,就得到了式子(4),于是似然函数L(θ)可以简写成:
L(θ)≥J(z,D)(5)L(θ) \geq J(z,D) \tag 5 L(θ)≥J(z,D)(5)
的形式,那么:

我们可以不断优化L(θ)的下界J(z,D)J(z,D)J(z,D)来达到优化L(θ)的目的

现在有了两个问题:

1,式子(5)什么时候取等?

在詹森不等式中说到,当自变量X=E(X)时,即为常数的时候,等式成立。也就是:
P(yj,zi∣θ)Dj(zi)=c(6)\frac{P(y_j,z_i|\theta) }{D_j(z_i)} = c \tag 6 Dj​(zi​)P(yj​,zi​∣θ)​=c(6)
2,D函数怎么来的?

前面提到∑zDi(z)=1\sum_zD_i(z)=1∑z​Di​(z)=1,则有以下的推导过程:
P(yj,zi∣θ)=Dj(zi∣θ)c∑ZP(yj,zi∣θ)=∑ZDj(zi∣θ)cP(y_j,z_i|\theta) = D_j(z_i|\theta) c \\ \sum\limits_Z P(y_j,z_i|\theta) = \sum\limits_Z D_j(z_i|\theta) c P(yj​,zi​∣θ)=Dj​(zi​∣θ)cZ∑​P(yj​,zi​∣θ)=Z∑​Dj​(zi​∣θ)c

∑ZP(yj,zi∣θ)=c(7)\sum\limits_Z P(y_j,z_i|\theta) = c \\ \tag 7 Z∑​P(yj​,zi​∣θ)=c(7)

将(7)代入(6)得到:
Dj(zi)=P(yj,zi∣θ)∑ZP(yj,zi∣θ)=P(yj,zi∣θ)P(yj∣θ)=P(zi∣yj,θ)\begin{aligned} D_j(z_i) &= \frac{P(y_j,z_i|\theta)}{\sum\limits_Z P(y_j,z_i|\theta)} \\ &= \frac{P(y_j,z_i|\theta)}{ P(y_j|\theta)} \\ &= P(z_i|y_j,\theta) \end{aligned} Dj​(zi​)​=Z∑​P(yj​,zi​∣θ)P(yj​,zi​∣θ)​=P(yj​∣θ)P(yj​,zi​∣θ)​=P(zi​∣yj​,θ)​
所以D函数本质上是隐变量z的后验概率:
Dj(zi)=P(zi∣yj,θ)D_j(z_i) = P(z_i|y_j,\theta) Dj​(zi​)=P(zi​∣yj​,θ)
到此为止,我们对式子(1)、(5)有了更多的了解,也就是有:
L(θ)≥J(z,D)=∑j=110∑i=12Dj(zi)logP(yj,zi∣θ)Dj(zi)=∑j=110∑i=12P(zi∣yj,θ)logP(yj,zi∣θ)P(zi∣yj,θ)\begin{aligned} L(θ)& \geq J(z,D) \\ &=\sum_{j=1}^{10}\sum_{i=1}^{2}\color{green} D_j(z_i) \color{black}log\frac{P(y_j,z_i|\theta) }{\color{green}D_j(z_i)} \\ &=\sum_{j=1}^{10}\sum_{i=1}^{2} \color{green}P(z_i|y_j,\theta) \color{black}log\frac{P(y_j,z_i|\theta) }{ \color{green}P(z_i|y_j,\theta) } \end{aligned} L(θ)​≥J(z,D)=j=1∑10​i=1∑2​Dj​(zi​)logDj​(zi​)P(yj​,zi​∣θ)​=j=1∑10​i=1∑2​P(zi​∣yj​,θ)logP(zi​∣yj​,θ)P(yj​,zi​∣θ)​​
将上面的式子一般化可以得到:
L(θ)≥∑ZP(Z∣Y,θ(i))log⁡P(Y,Z∣θ)P(Z∣Y,θ(i))=∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))(8)\begin{aligned} L(\theta) &\geq \sum_Z \color{green}P(Z|Y,\theta^{(i)})\color{black}\log \frac{P(Y,Z|\theta)}{\color{green}P(Z|Y,\theta^{(i)})\color{black}}\\ &= \sum_Z \color{green}P(Z|Y,\theta^{(i)})\color{black}\log \frac{P(Y|Z,\theta)P(Z|\theta)}{\color{green}P(Z|Y,\theta^{(i)})\color{black}} \end{aligned} \tag 8 L(θ)​≥Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y,Z∣θ)​=Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)​​(8)
了解了上面的基础知识,下面就可以了解实际的EM算法了。

EM算法步骤

输入: 观测变量数据YYY,隐变量数据ZZZ,联合分布P(Y,Z∣θ)P(Y,Z|\theta)P(Y,Z∣θ),条件分布P(Z∣Y,θ)P(Z|Y,\theta)P(Z∣Y,θ)

输出: 模型参数θ\thetaθ

1,选择参数的初值θ(0)\theta^{(0)}θ(0),开始迭代

2,E步:记θ(i)\theta^{(i)}θ(i)为第 iii 次迭代参数θ\thetaθ的估计值,在第i+1i+1i+1次迭代的EEE步,计算
Q(θ,θ(i))=∑ZP(Z∣Y,θ(i))log⁡P(Y,Z∣θ)\begin{aligned} Q(\theta, \theta^{(i)}) =& \sum_Z\color{green}P(Z|Y, \theta^{(i)})\color{red}\log P(Y,Z|\theta) \end{aligned} Q(θ,θ(i))=​Z∑​P(Z∣Y,θ(i))logP(Y,Z∣θ)​
3,M步:求使Q(θ,θ(i))Q(\theta, \theta^{(i)})Q(θ,θ(i))最大化的θ\thetaθ,确定第i+1i+1i+1次迭代的参数估计值
θ(i+1)=arg⁡max⁡θQ(θ,θ(i))\theta^{(i+1)}=\arg\max_\theta Q(\theta, \theta^{(i)}) θ(i+1)=argθmax​Q(θ,θ(i))
4,重复2,3两步,直到收敛。

上面的步骤中提到了Q函数,它是指完全数据(Y,Z)的对数似然函数log⁡P(Y,Z∣θ)\log P(Y, Z|\theta)logP(Y,Z∣θ)关于给定观测数据YYY的当前参数θ(i)\theta^{(i)}θ(i)下,对观测数据ZZZ的条件概率分布P(Z∣Y,θ(i))P(Z|Y,\theta^{(i)})P(Z∣Y,θ(i))的期望表达式

也就是说对于期望函数E(x)=∑x∗p(x)E(x)=\sum x*p(x)E(x)=∑x∗p(x)而言,log⁡P(Y,Z∣θ)\log P(Y, Z|\theta)logP(Y,Z∣θ) 是x,P(Z∣Y,θ(i))P(Z|Y,\theta^{(i)})P(Z∣Y,θ(i)) (也就是上一节提到的D函数)是p(x)。

要注意的是,Q(θ,θ(i))Q(\theta, \theta^{(i)})Q(θ,θ(i))中的θ表示是要极大化的参数。EM算法,或者说期望最大化算法的两个步骤实际在:

  1. 给定θ(i)\theta^{(i)}θ(i)后,求期望的表达式,也就是Q函数的具体形式(先优化Z)
  2. 求得到的Q函数(期望表达式)取到极大值的新参数θ(i+1)\theta^{(i+1)}θ(i+1) (再优化θ)

EM算法的导出

为什么EM算法能近似实现对观测数据的极大似然估计?Q函数又是怎么来的?

我们知道:
L(θ)=log⁡P(Y∣θ)=log⁡∑ZP(Y,Z∣θ)=log⁡(∑ZP(Y∣Z,θ)P(Z∣θ))L(\theta)=\log P(Y|\theta)=\log \sum_Z P(Y,Z|\theta)=\log(\sum_Z P(Y|Z,\theta)P(Z|\theta)) L(θ)=logP(Y∣θ)=logZ∑​P(Y,Z∣θ)=log(Z∑​P(Y∣Z,θ)P(Z∣θ))
那么有:
L(θ)−L(θ(i))=log⁡(∑ZP(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)P(Y∣Z,θ(i)))−log⁡P(Y∣θ(i))≥∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−log⁡P(Y∣θ(i))=∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−∑ZP(Z∣Y,θ(i))log⁡P(Y∣θ(i))=∑ZP(Z∣Y,θ(i))log⁡P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i))\begin{aligned} L(\theta)-L(\theta^{(i)})&=\log \left(\sum_Z\color{green}P(Y|Z,\theta^{(i)})\color{black}\frac{P(Y|Z,\theta)P(Z|\theta)}{\color{green}P(Y|Z,\theta^{(i)})}\color{black}\right)-\log P(Y|\theta^{(i)})\\ &\ge\sum_Z \color{green}P(Z|Y,\theta^{(i)})\color{black}\log \frac{P(Y|Z,\theta)P(Z|\theta)}{\color{green}P(Z|Y,\theta^{(i)})\color{black}}-\log P(Y|\theta^{(i)})\\ &=\sum_Z P(Z|Y,\theta^{(i)})\log \frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-\color{red}\sum_ZP(Z|Y,\theta^{(i)})\color{black}\log P(Y|\theta^{(i)})\\ &=\sum_ZP(Z|Y,\theta^{(i)})\log \frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})} \end{aligned} L(θ)−L(θ(i))​=log(Z∑​P(Y∣Z,θ(i))P(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)​)−logP(Y∣θ(i))≥Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)​−logP(Y∣θ(i))=Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)​−Z∑​P(Z∣Y,θ(i))logP(Y∣θ(i))=Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ)​​
上面式子中的P(Y∣Z,θ(i))\color{green}P(Y|Z,\theta^{(i)})P(Y∣Z,θ(i))就是我们之前讨论的D函数,是为了构造期望, 进而应用詹森不等式,具体是怎么来的也讨论过了,这里不再赘述。

令:
B(θ,θ(i))=L(θ(i))+∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z,θ)P(Z∣Y,θ(i))P(Y∣θ(i))B(\theta,\theta^{(i)}) = L(\theta^{(i)})+ \sum_{Z} P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z,\theta)}{P(Z|Y,\theta^{(i)}) P(Y|\theta^{(i)})} B(θ,θ(i))=L(θ(i))+Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z,θ)​
则有:
L(θ)≥B(θ,θ(i))L(\theta)\ge B(\theta,\theta^{(i)}) L(θ)≥B(θ,θ(i))
也就是B(θ,θi)B(\theta,\theta^{i})B(θ,θi) 是L(θ)L(\theta)L(θ) 的一个下界,又由于:
P(Y,Z∣θ)=P(Y∣Z,θ)P(Z,θ)=P(Z∣Y,θ)P(Y∣θ)P(Y,Z|\theta)=P(Y|Z,\theta)P(Z,\theta)=P(Z|Y,\theta) P(Y|\theta) P(Y,Z∣θ)=P(Y∣Z,θ)P(Z,θ)=P(Z∣Y,θ)P(Y∣θ)
取θ=θ(i)\theta = \theta^{(i)}θ=θ(i) 时等号成立,因为:
B(θ(i),θ(i))=L(θ(i))+∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ(i))P(Z,θ(i))P(Z∣Y,θ(i))P(Y∣θ(i))=L(θ(i))+∑ZP(Z∣Y,θ(i))log1=L(θ(i))\begin{aligned} B(\theta^{(i)},\theta^{(i)}) &= L(\theta^{(i)})+ \sum_{Z} P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta^{(i)})P(Z,\theta^{(i)})}{P(Z|Y,\theta^{(i)}) P(Y|\theta^{(i)})} \\ &= L(\theta^{(i)}) + \sum_{Z} P(Z|Y,\theta^{(i)})log1 \\&=L(\theta^{(i)}) \end{aligned} B(θ(i),θ(i))​=L(θ(i))+Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ(i))P(Z,θ(i))​=L(θ(i))+Z∑​P(Z∣Y,θ(i))log1=L(θ(i))​
所以,任何可以使B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i)) 增大的θ\thetaθ 都可以使L(θ)L(\theta)L(θ) 增大。所以为了使L(θ)L(\theta)L(θ) 尽可能增大,我们选择θ(i+1)\theta^{(i+1)}θ(i+1) 使得B(θ,θi)B(\theta,\theta^{i})B(θ,θi) 尽可能大:
θ(i+1)=arg⁡max⁡θB(θ,θ(i))=L(θ(i))+∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z,θ)P(Y∣Z,θ(i))P(Y∣θ(i))=arg⁡max⁡θ∑ZP(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z,θ)P(Z∣Y,θ(i))P(Y∣θ(i)))=arg⁡max⁡θ∑ZP(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z,θ))−arg⁡max⁡θ∑ZP(Z∣Y,θ(i))log(P(Z∣Y,θi)P(Y∣θ(i)))=argmax⁡θ∑ZP(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z,θ))=argmax⁡θ∑ZP(Z∣Y,θ(i))log(P(Y,Z∣θ))=argmax⁡θQ(θ,θ(i))\begin{aligned} \theta^{(i+1)} &= \arg \max_{\theta} B(\theta,\theta^{(i)})\\ &= L(\theta^{(i)})+ \sum_{Z} P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z,\theta)}{P(Y|Z,\theta^{(i)}) P(Y|\theta^{(i)})} \\&=\arg \max_{\theta}\sum_{Z} P(Z|Y,\theta^{(i)})log(\frac{P(Y|Z,\theta)P(Z,\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}) \\ &=\arg \max_{\theta}\sum_{Z} P(Z|Y,\theta^{(i)})log(P(Y|Z,\theta)P(Z,\theta))-\arg \max_{\theta}\sum_{Z} P(Z|Y,\theta^{(i)})log(P(Z|Y,\theta^i)P(Y|\theta^{(i)}))\\ &=arg \max_{\theta}\sum_{Z} P(Z|Y,\theta^{(i)})log(P(Y|Z,\theta)P(Z,\theta))\\ & =arg \max_{\theta}\sum_{Z} P(Z|Y,\theta^{(i)})log(P(Y,Z|\theta))\\ &=arg \max_{\theta}Q(\theta,\theta^{(i)}) \end{aligned} θ(i+1)​=argθmax​B(θ,θ(i))=L(θ(i))+Z∑​P(Z∣Y,θ(i))logP(Y∣Z,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z,θ)​=argθmax​Z∑​P(Z∣Y,θ(i))log(P(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z,θ)​)=argθmax​Z∑​P(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z,θ))−argθmax​Z∑​P(Z∣Y,θ(i))log(P(Z∣Y,θi)P(Y∣θ(i)))=argθmax​Z∑​P(Z∣Y,θ(i))log(P(Y∣Z,θ)P(Z,θ))=argθmax​Z∑​P(Z∣Y,θ(i))log(P(Y,Z∣θ))=argθmax​Q(θ,θ(i))​
上面式子解释了Q函数的由来,并且完成了EM的一次迭代过程,得到了θ(i+1)\theta^{(i+1)}θ(i+1)。上面的推导过程也说明了:EM算法是通过不断求解使得下界B(θ,θi)B(\theta,\theta^{i})B(θ,θi) 极大化的参数θ,来近似求解对数似然函数L(θ)极大值的算法。

下图给出EM算法的直观解释。图中上方曲线为L(θ)L(\theta)L(θ),下方曲线为B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))。B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))为对数似然函数L(θ)L(\theta)L(θ)的下界。

通过图片我们总结EM算法的迭代过程如下:

(1) 初始状态:在θ=θ(i)\theta = \theta ^{(i)}θ=θ(i) 时,L(θ(i))=B(θ(i),θ(i))L(\theta^{(i)})=B(\theta^{(i)},\theta^{(i)})L(θ(i))=B(θ(i),θ(i))

(2) EM算法的更新过程:寻找θ(i+1))\theta^{(i+1))}θ(i+1)) 使得B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))极大化。因为L(θ)≥B(θ,θ(i))L(\theta)\ge B(\theta,\theta^{(i)})L(θ)≥B(θ,θ(i)),所以得B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))极大化也使得L(θ)L(\theta)L(θ) 增加。

(3) 根据第二步找到的θ(i+1))\theta^{(i+1))}θ(i+1)) 重新计算B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))(或者说重新计算Q函数),进行下一次迭代。

上述过程暴露一个问题:对数似然函数不断增大,但EM算法不能保证找到全局最优解。

EM算法的收敛性

我们已经证明了EM算法的合理性,接下来我们来研究一下算法是否收敛。

要证EM算法的收敛性即证:
P(Y∣θ(i+1))≥P(Y∣θ(i))P(Y|\theta^{(i+1)}) \ge P(Y|\theta^{(i)}) P(Y∣θ(i+1))≥P(Y∣θ(i))
同样由:
P(Y,Z∣θ)=P(Y∣Z,θ)P(Z,θ)=P(Z∣Y,θ)P(Y∣θ)P(Y,Z|\theta)=P(Y|Z,\theta)P(Z,\theta)=P(Z|Y,\theta) P(Y|\theta) P(Y,Z∣θ)=P(Y∣Z,θ)P(Z,θ)=P(Z∣Y,θ)P(Y∣θ)
可以得到:
P(Y∣θ)=P(Z,Y∣θ)P(Z∣Y,θ)P(Y|\theta) = \frac{P(Z,Y|\theta)}{P(Z|Y,\theta)} P(Y∣θ)=P(Z∣Y,θ)P(Z,Y∣θ)​
两边同取对数:
logP(Y∣θ)=logP(Z,Y∣θ)−logP(Z∣Y,θ)logP(Y|\theta) = logP(Z,Y|\theta) - logP(Z|Y,\theta) logP(Y∣θ)=logP(Z,Y∣θ)−logP(Z∣Y,θ)
左右两边同时对P(Z∣Y,θ(i))P(Z|Y,\theta^{(i)})P(Z∣Y,θ(i))求期望,则有
logP(Y∣θ)=∑ZP(Z∣Y,θ(i))logP(Y∣θ)=∑ZP(Z∣Y,θ(i))logP(Z,Y∣θ)−∑ZP(Z∣Y,θ(i))logP(Z∣Y,θ)\begin{aligned} logP(Y|\theta) &= \sum_ZP(Z|Y,\theta^{(i)})logP(Y|\theta) \\ &= \sum_ZP(Z|Y,\theta^{(i)})logP(Z,Y|\theta) - \sum_ZP(Z|Y,\theta^{(i)})logP(Z|Y,\theta) \\ \end{aligned} logP(Y∣θ)​=Z∑​P(Z∣Y,θ(i))logP(Y∣θ)=Z∑​P(Z∣Y,θ(i))logP(Z,Y∣θ)−Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ)​
其中,∑ZP(Z∣Y,θ(i))=1\sum_ZP(Z|Y,\theta^{(i)})=1∑Z​P(Z∣Y,θ(i))=1,logP(Y∣θ)logP(Y|\theta)logP(Y∣θ) 是与Z无关的变量。

根据Q函数的定义:
Q(θ,θ(i))=∑ZlogP(Y,Z∣θ)P(Z∣Y,θ(i))Q(\theta,\theta^{(i)}) = \sum_Z logP(Y,Z|\theta)P(Z|Y,\theta^{(i)}) Q(θ,θ(i))=Z∑​logP(Y,Z∣θ)P(Z∣Y,θ(i))
以及这里我们令:
H(θ,θ(i))=∑ZP(Z∣Y,θ(i))logP(Z∣Y,θ)H(\theta,\theta^{(i)}) = \sum_ZP(Z|Y,\theta^{(i)})logP(Z|Y,\theta) H(θ,θ(i))=Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ)
所以:
logP(Y∣θ)=∑ZP(Z∣Y,θ(i))logP(Z,Y∣θ)−∑ZP(Z∣Y,θ(i))logP(Z∣Y,θ)=Q(θ,θ(i))−H(θ,θ(i))\begin{aligned} logP(Y|\theta) &= \sum_ZP(Z|Y,\theta^{(i)})logP(Z,Y|\theta) - \sum_ZP(Z|Y,\theta^{(i)})logP(Z|Y,\theta) \\ &= Q(\theta,\theta^{(i)}) - H(\theta,\theta^{(i)}) \end{aligned} logP(Y∣θ)​=Z∑​P(Z∣Y,θ(i))logP(Z,Y∣θ)−Z∑​P(Z∣Y,θ(i))logP(Z∣Y,θ)=Q(θ,θ(i))−H(θ,θ(i))​
进而有:
logP(Y,θ(i+1))−logP(Y,θ(i))=Q(θ(i+1),θ(i)−H(θ(i+1),θ(i))−(Q(θ(i),θ(i))−H(θ(i),θ(i)))=Q(θ(i+1),θ(i))−Q(θ(i),θ(i))−(H(θ(i+1),θ(i))−H(θ(i),θ(i)))\begin{aligned} & \quad logP(Y,\theta^{(i+1)})-logP(Y,\theta^{(i)}) \\ &= Q(\theta^{(i+1)},\theta^{(i)}-H(\theta^{(i+1)},\theta^{(i)}) - (Q(\theta^{(i)},\theta^{(i)})-H(\theta^{(i)},\theta^{(i)}))\\ &= Q(\theta^{(i+1)},\theta^{(i)})- Q(\theta^{(i)},\theta^{(i)}) -( H(\theta^{(i+1)},\theta^{(i)}) - H(\theta^{(i)},\theta^{(i)})) \end{aligned} ​logP(Y,θ(i+1))−logP(Y,θ(i))=Q(θ(i+1),θ(i)−H(θ(i+1),θ(i))−(Q(θ(i),θ(i))−H(θ(i),θ(i)))=Q(θ(i+1),θ(i))−Q(θ(i),θ(i))−(H(θ(i+1),θ(i))−H(θ(i),θ(i)))​
因为θi+1\theta^{i+1}θi+1 使得 Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i)) 增加,所以
Q(θ(i+1),θ(i))−Q(θ(i),θ(i))≥0Q(\theta^{(i+1)},\theta^{(i)})- Q(\theta^{(i)},\theta^{(i)}) \ge 0 Q(θ(i+1),θ(i))−Q(θ(i),θ(i))≥0
所以,我们的目标是证明H(θ(i+1),θ(i))−H(θ(i),θ(i))≤0H(\theta^{(i+1)},\theta^{(i)}) - H(\theta^{(i)},\theta^{(i)}) \le 0H(θ(i+1),θ(i))−H(θ(i),θ(i))≤0 ,证明如下:
H(θ(i+1),θ(i))−H(θ(i),θ(i))=∑Z(log(P(Z∣Y,θ(i+1))P(Z∣Y,θ(i))))P(Z∣Y,θ(i))≤log(∑ZP(Z∣Y,θ(i+1))P(Z∣Y,θ(i))P(Z∣Y,θ(i)))=logP(Z∣Y,θ(i+1))=log1=0\begin{aligned} & \quad H(\theta^{(i+1)},\theta^{(i)}) - H(\theta^{(i)},\theta^{(i)}) \\&=\sum_{Z}\bigg(log(\frac{P(Z|Y,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})}) \bigg)P(Z|Y,\theta^{(i)}) \\ & \le log\bigg(\sum_{Z}\frac{P(Z|Y,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})}P(Z|Y,\theta^{(i)}) \bigg)\\ &=logP(Z|Y,\theta^{(i+1)})=log1=0 \end{aligned} ​H(θ(i+1),θ(i))−H(θ(i),θ(i))=Z∑​(log(P(Z∣Y,θ(i))P(Z∣Y,θ(i+1))​))P(Z∣Y,θ(i))≤log(Z∑​P(Z∣Y,θ(i))P(Z∣Y,θ(i+1))​P(Z∣Y,θ(i)))=logP(Z∣Y,θ(i+1))=log1=0​
不等号由詹森不等式得到。所以:
logP(Y,θ(i+1))−logP(Y,θ(i))≥0P(Y,θ(i+1))−P(Y,θ(i))≥0P(Y,θ(i+1))≥P(Y,θ(i))logP(Y,\theta^{(i+1)})-logP(Y,\theta^{(i)}) \ge 0 \\ P(Y,\theta^{(i+1)})-P(Y,\theta^{(i)}) \ge 0 \\ P(Y,\theta^{(i+1)})\ge P(Y,\theta^{(i)}) logP(Y,θ(i+1))−logP(Y,θ(i))≥0P(Y,θ(i+1))−P(Y,θ(i))≥0P(Y,θ(i+1))≥P(Y,θ(i))
证明了EM算法的收敛性。

统计学习方法 第九章笔记: EM 算法相关推荐

  1. 【统计学习方法】学习笔记——EM算法及其推广

    统计学习方法学习笔记--EM算法及其推广 1. EM算法的引入 1.1 EM算法 1.2 EM算法的导出 1.3 EM算法在非监督学习中的应用 2. EM算法的收敛性 3. EM算法在高斯混合模型学习 ...

  2. 李航/徐亦达 统计学习方法第九章EM算法及其推广总结和习题答案

    强烈推荐徐亦达老师关于EM算法的讲解视频,本文根据徐老师和李航老师统计学习方法整理,由于公式推导太多,笔记为手写.其中包含混合高斯模型的理解,形象化解释,以及习题链接. 习题 习题9.1和9.3 习题 ...

  3. 统计学习方法第九章作业:三硬币EM算法、GMM高维高斯混合模型 代码实现

    三硬币EM算法 import numpy as np import mathclass Three_coin:def __init__(self,pai=0.0,p=0.0,q=0.0):self.p ...

  4. 统计学习方法(九)EM算法及其推广

    第九章 EM算法及其推广 9.1 EM算法的引入 9.1.1 EM算法 9.1.2 EM算法的导出 9.1.3 EM算法在非监督学习中的应用 9.2 EM算法的收敛性 第九章 EM算法及其推广 EM算 ...

  5. 统计学习方法第一章笔记——统计学习方法概论

    1 统计学习 1.1 统计学习的基本假设   假设同类数据具有一定的统计规律性,即数据具有某种共同性质. 1.2 统计学习的目的   统计学习用于对数据进行预测与分析,特别是新数据的预测与分析. 1. ...

  6. 机器学习理论《统计学习方法》学习笔记:第六章 逻辑斯谛回归与最大熵模型

    机器学习理论<统计学习方法>学习笔记:第六章 逻辑斯谛回归与最大熵模型 6 逻辑斯谛回归与最大熵模型 6.1 逻辑斯谛回归模型 6.1.1 逻辑斯谛分布 6.1.2 二项逻辑斯蒂回归模型 ...

  7. 机器学习理论《统计学习方法》学习笔记:第五章 决策树

    机器学习理论<统计学习方法>学习笔记:第五章 决策树 决策树 5.1 决策树模型与学习 5.1.1 决策树模型 5.1.2 决策树与if-then规则 5.1.3 决策树与条件概率分布 5 ...

  8. 机器学习理论《统计学习方法》学习笔记:第四章 朴素贝叶斯法

    机器学习理论<统计学习方法>学习笔记:第四章 朴素贝叶斯法 4 朴素贝叶斯法 4.1 朴素贝叶斯法的学习与分类 4.1.1 基本方法 4.1.2 后验概率最大化的含义 4.2 朴素贝叶斯法 ...

  9. 机器学习理论《统计学习方法》学习笔记:第三章 k近邻法

    机器学习理论<统计学习方法>学习笔记:第三章 k近邻法 3 k近邻法 3.1 K近邻算法 3.2 K近邻模型 3.2.1 模型 3.2.2 距离度量 3.2.3 K值的选择 3.2.4 分 ...

最新文章

  1. php 支付宝支付 简书,支付宝支付接口
  2. Glide 源码分析与面试提问
  3. Nacos 2.0 升级前后性能对比压测
  4. 关于解决jdbc版本错误问题
  5. HTML5须知的特征和技术
  6. 蓝牙mesh_什么是蓝牙mesh,蓝牙mesh特征,蓝牙mesh应用
  7. Pr 入门教程,如何确保剪辑保持同步?
  8. 为什么我一直强调大家要两条腿走路?
  9. 打开相机用鼠标画框,画下一个时上一个消失
  10. paip.提升安全性-------用户口令密码的检测与生成
  11. URLDecoder用法
  12. 关于购买域名的一些建议
  13. 孙式无极桩站桩要领--林泰年
  14. 黑客与技术提示:电脑出现文中现象说明你已经被黑客入侵
  15. 计算机存储器——内存、外存详解
  16. 最全的博客、网站提交入口(备用)
  17. 【计量经济学导论】04. 多重共线性
  18. dual_contrastive_loss粗略解读
  19. Cause: java.sql.SQLException: connection closed问题排查、解决
  20. SOTIF 预期功能安全ISO21448介绍、功能安全标准ISO26262 与若干安全标准的适用范围和开发流程映射

热门文章

  1. dataframe筛选某列的单元格等于某个值的一行数据
  2. ubuntu下面的背光键盘的使用
  3. 大话数据结构:多路查找
  4. 数组 verilog_SystemVerilog语言简介(与Verilog的30点对比)
  5. java Swing中随机验证码的实现
  6. 用来枚举属性的对象工具函数
  7. 深入浅出Java多线程
  8. volatile 和 synchronized的区别
  9. 在robotframework中连接数据库进行操作
  10. Centos安装Xen总结