文章目录

  • 一、EM算法的引入
    • 1、极大似然估计
    • 2、EM入场
  • 二、EM算法推导
    • 1、Jensen不等式
    • 2、EM推导过程
      • (1)统计学习方法EM推导
      • (2)Andrew NG关于EM算法的推导
    • 3、统计学习方法EM算法流程
    • 4、EM算法直观解释
    • 5、EM算法在非监督学习中的应用
  • 三、EM算法的收敛性
  • 四、高斯混合模型GMM
  • 五、EM算法的推广

EM内容较多,方便阅读,分成2个部分
下接:09_期望极大法EM2_统计学习方法

EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望(exception);M步,求极大(maximization)。所以这一算法称为期望极大算法,简称EM算法。

一、EM算法的引入

概率模型有时既含有观测变量,又含有隐变量或潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法估计模型参数;当模型含有隐变量时,就不能简单地使用这些估计方法,EM算法就是含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计法。下文以讨论极大似然估计为例,极大后验概率估计与其类似。

在朴素贝叶斯算法里面已经讲解过极大似然估计和贝叶斯估计,今天再对极大似然估计做一个详细的介绍,因为实在是太常见了。

1、极大似然估计

总体样本服从P(X∣θ)P(X|\theta)P(X∣θ)分布,现有NNN个样本,估计模型的参数θ\thetaθ。那么得到的参数θ\thetaθ应该是使现有的NNN个样本最容易出现的参数,这就是极大似然估计的思想(模型已定,参数未知)。每个样本之间是相互独立的,那么可以得到这NNN个样本的联合概率即极大似然函数,用下式表示:
L(θ)=L(x1,⋯,xn∣θ)=∏i=1Np(xi∣θ),θ∈Θ(1)L(\theta) = L(x_1,\cdots ,x_n|\theta) = \prod_{i=1}^N p(x_i|\theta),\space \theta \in \Theta \tag{1}L(θ)=L(x1​,⋯,xn​∣θ)=i=1∏N​p(xi​∣θ), θ∈Θ(1)
对数似然函数:
l(θ)=lnL(θ)=∑i=1Nlnp(xi∣θ),θ∈Θ(2)l(\theta)=lnL(\theta) = \sum_{i=1}^N ln\space p(x_i|\theta),\space \theta \in \Theta \tag{2}l(θ)=lnL(θ)=i=1∑N​ln p(xi​∣θ), θ∈Θ(2)
求极大似然函数估计值的一般步骤:

  • (1)写出似然函数;
  • (2)对似然函数取对数,并整理;
  • (3)求导数,令导数为0,得到似然方程;
  • (4)解似然方程,得到的参数即为所求;

简单实例说明,实例来自博客。假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为P1,P2P_1,P_2P1​,P2​。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,记录下结果,如下:

可以很容易地估计出P1P_1P1​和P2P_2P2​,如下:

P1=(3+1+2)/15=0.4P2=(2+3)/10=0.5\begin{aligned} & P1 = (3+1+2)/ 15 = 0.4\\ & P2= (2+3)/10 = 0.5 \end{aligned}​P1=(3+1+2)/15=0.4P2=(2+3)/10=0.5​
上面的计算很简单很理所当然,但上面是用了极大似然估计的。可以见证明,极大似然估计证明先验概率

2、EM入场

还是上面的问题,现在我们抹去每轮投掷时使用的硬币标记,如下:

问题还是要估计两枚硬币随机抛掷后正面朝上概率P1,P2P_1,P_2P1​,P2​。

显然,此时我们多了一个隐变量ZZZ,可以把它认为是一个5维的向量(z1,z2,z3,z4,z5)(z_1,z_2,z_3,z_4,z_5)(z1​,z2​,z3​,z4​,z5​),代表每次投掷时所使用的硬币,比如z1z_1z1​,就代表第一轮投掷时使用的硬币是1还是2。但是,这个变量ZZZ不知道,就无法去估计P1P_1P1​和P2P_2P2​,所以,我们必须先估计出ZZZ,然后才能进一步估计P1P_1P1​和P2P_2P2​。
但要估计ZZZ,我们又得知道P1P_1P1​和P2P_2P2​,这样我们才能用最大似然概率法则去估计ZZZ,这不是鸡生蛋和蛋生鸡的问题吗?如何破?

答案就是先随机初始化一个P1P_1P1​和P2P_2P2​,用它来估计ZZZ,然后基于ZZZ,按照最大似然概率法则去估计新的P1P_1P1​和P2P_2P2​。这就是最开始说的E步(P1,P2⟶Z)(P_1,P_2 \longrightarrow Z)(P1​,P2​⟶Z)和M步(Z⟶P1,P2)(Z \longrightarrow P_1,P_2)(Z⟶P1​,P2​),如此反复下去,直到收敛到一个不再改变的参数θ\thetaθ。

二、EM算法推导

1、Jensen不等式

在支持向量机里面介绍过凸函数。今天讲下Jensen不等式。

看到很多博客里面有不同的评论说凹凸函数用混了,这边为了不引起歧义在使用的时候直接带上条件,那么肯定就不会弄混了。

如果f(x)f(x)f(x)是凸函数(f′′(x)≥0f''(x) \geq 0f′′(x)≥0),那么有:
f(x1)+f(x2)+⋯+f(xn)n≥f(x1+x2+⋯+xnn)\dfrac{f(x_1) + f(x_2) + \cdots + f(x_n)}{n} \geq f(\dfrac{x_1+x_2+\cdots + x_n}{n}) nf(x1​)+f(x2​)+⋯+f(xn​)​≥f(nx1​+x2​+⋯+xn​​)
当且仅当x1=x2=⋯=xnx_1 = x_2 = \cdots = x_nx1​=x2​=⋯=xn​时上式取等号。

加权形式:
∑i=1Nαif(xi)≥f(∑i=1Nαixi),∑i=1Nα=1(3)\sum_{i=1}^N \alpha_i f(x_i) \geq f(\sum_{i=1}^N \alpha_i x_i),\space \sum_{i=1}^N\alpha = 1 \tag{3}i=1∑N​αi​f(xi​)≥f(i=1∑N​αi​xi​), i=1∑N​α=1(3)
Jensen不等式证明

推得若f(x)f(x)f(x)是凸函数,X是随机变量,有
E[f(X)]≥f(E[X])E[f(X)] \geq f(E[X]) E[f(X)]≥f(E[X])
当且仅当X是常量时,上式取等号。

如果f(x)f(x)f(x)是凹函数(f′′(x)≤0f''(x) \leq 0f′′(x)≤0),那么同理有:
E[f(X)]≤f(E[X])(4)E[f(X)] \leq f(E[X]) \tag{4}E[f(X)]≤f(E[X])(4)

考虑到E(X)=∑Xp(x)×x,x∈XE(X) = \sum_{X} p(x)\times x,x\in XE(X)=∑X​p(x)×x,x∈X,则有E(f(X))=∑Xp(x)×f(x),x∈XE(f(X)) = \sum_{X} p(x)\times f(x) ,x\in XE(f(X))=∑X​p(x)×f(x),x∈X,f(X)f(X)f(X)是XXX的函数。

2、EM推导过程

(1)统计学习方法EM推导

第一部分内容,看看文字描述,能理解EM算法大概是怎么回事,是在解决一个什么问题。但是具体要使用,就需要数学公式推导,证明这个想法确实可行。这一部分内容看课本的时候很难理解。然后找到一篇讲解和带部分公式推导还可以的博客。但是我决定最终用来总结推导的内容还是以参考课本为主。对其中理解起来较困难的地方展开和进一步解释。

一般地,用ZZZ表示隐随机变量的数据,YYY表示观测随机变量的数据又称为不完全数据,YYY和ZZZ连在一起称为完全数据。假设给定观测数据YYY,其概率分布是P(Y∣θ)P(Y|\theta)P(Y∣θ),其中θ\thetaθ是需要估计的模型参数,那么不完全数据YYY的似然函数是P(Y∣θ)P(Y|\theta)P(Y∣θ),对数似然l(θ)=lnP(Y∣θ)l(\theta) = lnP(Y|\theta)l(θ)=lnP(Y∣θ);假设YYY和ZZZ的联合概率分布是P(Y,Z∣θ)P(Y,Z|\theta)P(Y,Z∣θ),那么完全数据的对数似然函数是lnP(Y,Z∣θ)lnP(Y,Z|\theta)lnP(Y,Z∣θ)。

面对一个含有隐变量的概率模型,目标是极大化观测数据(不完全数据)YYY关于参数θ\thetaθ的对数似然函数,即极大化
l(θ)=lnP(Y∣θ)=ln∑ZP(Y,Z∣θ)=ln(∑ZP(Y∣Z,θ)P(Z∣θ))(5)\begin{aligned}l(\theta) &= lnP(Y|\theta) = ln \sum_{Z} P(Y,Z|\theta) \\ & =ln\left(\sum_{Z} P(Y|Z,\theta)P(Z|\theta) \right) \tag{5} \end{aligned}l(θ)​=lnP(Y∣θ)=lnZ∑​P(Y,Z∣θ)=ln(Z∑​P(Y∣Z,θ)P(Z∣θ))​(5)
注意这一极大化的主要困难是式(5)中有未观测数据并有包含和的对数。事实上,EM算法是通过迭代逐步近似极大化l(θ)l(\theta)l(θ)的。假设在第iii次迭代后θ\thetaθ的估值是θ(i)\theta^{(i)}θ(i)。我们希望新估计值θ\thetaθ能使l(θ)l(\theta)l(θ)增加,即l(θ)≥l(θ(i))l(\theta) \geq l(\theta^{(i)})l(θ)≥l(θ(i)),并逐步达到极大值。
l(θ)−l(θ(i))=ln(∑ZP(Y∣Z,θ)P(Z∣θ))−lnP(Y∣θ(i))=ln(∑ZP(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)P(Y∣Z,θ(i)))−lnP(Y∣θ(i))\begin{aligned}l(\theta) - l(\theta^{(i)}) & = ln\left(\sum_{Z} P(Y|Z,\theta)P(Z|\theta) \right) - lnP(Y|\theta^{(i)})\\ & = ln\left(\sum_Z P(Y|Z,\theta^{(i)}) \dfrac{P(Y|Z,\theta) P(Z|\theta)}{P(Y|Z,\theta^{(i)})} \right) - lnP(Y|\theta^{(i)})\\ \end{aligned}l(θ)−l(θ(i))​=ln(Z∑​P(Y∣Z,θ)P(Z∣θ))−lnP(Y∣θ(i))=ln(Z∑​P(Y∣Z,θ(i))P(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)​)−lnP(Y∣θ(i))​

(lnx)′′=−1x2≤0(lnx)'' = -\dfrac{1}{x^2} \leq 0(lnx)′′=−x21​≤0,为凹函数,∑ZP(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)P(Y∣Z,θ(i))\sum_Z P(Y|Z,\theta^{(i)}) \dfrac{P(Y|Z,\theta) P(Z|\theta)}{P(Y|Z,\theta^{(i)})}∑Z​P(Y∣Z,θ(i))P(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)​是P(Y∣Z,θ)P(Z∣θ)P(Y∣Z,θ(i))\dfrac{P(Y|Z,\theta) P(Z|\theta)}{P(Y|Z,\theta^{(i)})}P(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)​的期望,利用Jensen不等式可得凹函数有f(E[X])≥E[f(X)]f(E[X]) \geq E[f(X)]f(E[X])≥E[f(X)],则得到上式下界:
l(θ)−l(θ(i))=ln(∑ZP(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)P(Y∣Z,θ(i)))−lnP(Y∣θ(i))(5.1)≥∑ZP(Z∣Y,θ(i))lnP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−lnP(Y∣θ(i))=∑ZP(Z∣Y,θ(i))lnP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i))\begin{aligned}l(\theta) - l(\theta^{(i)}) = & ln\left(\sum_Z P(Y|Z,\theta^{(i)}) \dfrac{P(Y|Z,\theta) P(Z|\theta)}{P(Y|Z,\theta^{(i)})} \right) - lnP(Y|\theta^{(i)}) & \space\space (5.1)\\ & \geq \sum_{Z} P(Z|Y,\theta^{(i)})ln \dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})} - lnP(Y|\theta^{(i)}) \\ & = \sum_{Z} P(Z|Y,\theta^{(i)})ln \dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})} \end{aligned}l(θ)−l(θ(i))=​ln(Z∑​P(Y∣Z,θ(i))P(Y∣Z,θ(i))P(Y∣Z,θ)P(Z∣θ)​)−lnP(Y∣θ(i))≥Z∑​P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)​−lnP(Y∣θ(i))=Z∑​P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ)​​  (5.1)

为什么这么凑Jensen不等式?从后面Q函数的意义可以知道为什么。


B(θ,θ(i))=^l(θ(i))+∑ZP(Z∣Y,θ(i))lnP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i))(6)B(\theta,\theta^{(i)}) \hat= l(\theta^{(i)}) + \sum_{Z}P(Z|Y,\theta^{(i)})ln\dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})} \tag{6}B(θ,θ(i))=^l(θ(i))+Z∑​P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ)​(6)

l(θ)≥B(θ,θ(i))(7)l(\theta) \geq B(\theta,\theta^{(i)}) \tag{7}l(θ)≥B(θ,θ(i))(7)
即函数B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))是l(θ)l(\theta)l(θ)的一个下界,而且式(6)可知
l(θ(i))=B(θ(i),θ(i))(8)l(\theta^{(i)}) = B(\theta^{(i)},\theta^{(i)}) \tag{8}l(θ(i))=B(θ(i),θ(i))(8)
因此,任何可以使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)=argmax⁡θB(θ,θ(i))(9)\theta^{(i + 1)} = arg\space \max_{\theta}B(\theta,\theta^{(i)}) \tag{9}θ(i+1)=arg θmax​B(θ,θ(i))(9)
现在求θ(i+1)\theta^{(i + 1)}θ(i+1)的表达式。省去对θ\thetaθ的极大化而言是常数的项,由式(6)、式(9),有
θ(i+1)=argmax⁡θ(l(θ(i))+∑ZP(Z∣Y,θ(i))lnP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i)))=argmax⁡θ(∑ZP(Z∣Y,θ(i))lnP(Y∣Z,θ)P(Z∣θ))=argmax⁡θ(∑ZP(Z∣Y,θ(i))lnP(Y,Z∣θ))=argmax⁡θQ(θ,θ(i))(10)\begin{aligned} \theta^{(i+1)} &= arg\space \max_{\theta} \left( l(\theta^{(i)}) + \sum_{Z}P(Z|Y,\theta^{(i)})ln\dfrac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})P(Y|\theta^{(i)})}\right) \\ & = arg\space \max_{\theta} \left(\sum_{Z}P(Z|Y,\theta^{(i)})lnP(Y|Z,\theta)P(Z|\theta)\right) \\ & = arg\space \max_{\theta} \left(\sum_{Z}P(Z|Y,\theta^{(i)})lnP(Y,Z|\theta) \right) \\ & = arg\space \max_{\theta} Q(\theta,\theta^{(i)}) \tag{10} \end{aligned}θ(i+1)​=arg θmax​(l(θ(i))+Z∑​P(Z∣Y,θ(i))lnP(Z∣Y,θ(i))P(Y∣θ(i))P(Y∣Z,θ)P(Z∣θ)​)=arg θmax​(Z∑​P(Z∣Y,θ(i))lnP(Y∣Z,θ)P(Z∣θ))=arg θmax​(Z∑​P(Z∣Y,θ(i))lnP(Y,Z∣θ))=arg θmax​Q(θ,θ(i))​(10)
式(10)等价于EM算法的一次迭代,即求QQQ函数及其极大化。EM算法是通过不断求解下界的极大化逼近求解对数似然函数极大化的算法

(2)Andrew NG关于EM算法的推导

这篇博客里面有介绍Andrew NG关于EM算法的推导,和李航的统计学习方法不一样,可以相互参考着看,异曲同工。不用特意知道为什么那么去凑Jensen不等式。
l(θ)=lnP(Y∣θ)=ln∑ZP(Y,Z∣θ)=∑j=1Nln∑iP(yj,zi∣θ)=∑j=1Nln∑iQP(yj,zi∣θ)Q≥∑j=1N∑iQlnP(yj,zi∣θ)Q(10.1)\begin{aligned}l(\theta) & = lnP(Y|\theta) = ln \sum_{Z} P(Y,Z|\theta) \\ & = \sum_{j=1}^N ln\sum_i P(y_j,z_i|\theta) \\ & = \sum_{j=1}^N ln \sum_i Q \dfrac{P(y_j,z_i|\theta)}{Q} \\ & \geq \sum_{j=1}^N \sum_i Q\space ln\dfrac{P(y_j,z_i|\theta)}{Q} \tag{10.1}\\ \end{aligned}l(θ)​=lnP(Y∣θ)=lnZ∑​P(Y,Z∣θ)=j=1∑N​lni∑​P(yj​,zi​∣θ)=j=1∑N​lni∑​QQP(yj​,zi​∣θ)​≥j=1∑N​i∑​Q lnQP(yj​,zi​∣θ)​​(10.1)
上面θ\thetaθ极大化求解过程中含有隐变量参数以及在对数里面有求和操作,求解会非常复杂,所以上式的变形过程中使用了Jensen不等式,lnxlnxlnx满足凹函数的条件,那么只需要∑iQ=1\sum_i Q = 1∑i​Q=1上式变形就是成立。另外要使对数似然函数l(θ)l(\theta)l(θ)最大,那么需要在上式的变形中取等号,根据Jensen不等式有P(yj,zi∣θ)/Q=c,cP(y_j,z_i|\theta)/Q = c,cP(yj​,zi​∣θ)/Q=c,c是常数的时候等号成立。则有

∑iP(yj,zi∣θ)/c=1⟹∑iP(yj,zi∣θ)=c⟹Q=P(yj,zi∣θ)∑iP(yj,zi∣θ)=P(yj,zi∣θ)P(yj∣θ)=P(zi∣yj,θ)=Qj(zi)(10.2)\begin{aligned}\sum_i P(y_j,z_i|\theta)/c = 1 & \Longrightarrow \sum_i P(y_j,z_i|\theta) = c \\ & \Longrightarrow Q = \dfrac{P(y_j,z_i|\theta)}{\sum_i P(y_j,z_i|\theta)} = \dfrac{P(y_j,z_i|\theta)}{P(y_j|\theta)} = P(z_i|y_j,\theta) = Q_j(z_i) \tag{10.2} \end{aligned}i∑​P(yj​,zi​∣θ)/c=1​⟹i∑​P(yj​,zi​∣θ)=c⟹Q=∑i​P(yj​,zi​∣θ)P(yj​,zi​∣θ)​=P(yj​∣θ)P(yj​,zi​∣θ)​=P(zi​∣yj​,θ)=Qj​(zi​)​(10.2)
其中Qj(zi)Q_j(z_i)Qj​(zi​)为ziz_izi​的后验概率,求解Qj(zi)Q_j(z_i)Qj​(zi​)过程称为E步,即固定参数θ\thetaθ,求出使得Jensen变形中取等号的Qj(zi)Q_j(z_i)Qj​(zi​)。

所以有
l(θ)≥∑j=1N∑iP(zi∣yj,θ)lnP(yj,zi∣θ)P(zi∣yj,θ)(10.3)l(\theta) \geq \sum_{j=1}^N \sum_i P(z_i|y_j,\theta)\space ln\dfrac{P(y_j,z_i|\theta)}{P(z_i|y_j,\theta)} \tag{10.3}l(θ)≥j=1∑N​i∑​P(zi​∣yj​,θ) lnP(zi​∣yj​,θ)P(yj​,zi​∣θ)​(10.3)
M步:算出Qj(zi)Q_j(z_i)Qj​(zi​)也就是有了隐变量的后验概率后,就可以通过极大似然估计进行求解最优的参数θ\thetaθ作为θ(i+1)\theta^{(i+1)}θ(i+1)进行下一轮迭代,直到迭代停止条件。

对比式(10)和式(10.3)可以发现统计学习方法里面的QQQ函数实际上是l(θ)l(\theta)l(θ)的一个变形,和Andrew NG推导里面的l(θ)l(\theta)l(θ)形式几乎是一样的,只是因为统计学习方法在M步求解极大化时把常数项参数省去了。两个推导中的QQQ函数意义不一样,只是都用了同一个名字

按上面方式讲解EM算法一篇非常不错的博客(EM算法)The EM Algorithm。

3、统计学习方法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),开始迭代;初值可以任意选择,但需注意EM算法对初值是敏感的
(2)E步:记θ(i)\theta^{(i)}θ(i)为第iii次迭代参数θ\thetaθ的估计值,在第i+1i + 1i+1次迭代的E步,计算
Q(θ,θ(i))=∑ZP(Z∣Y,θ(i))lnP(Y,Z∣θ)=EZ[lnP(Y,Z∣θ)∣Y,θ(i)](11)Q(\theta,\theta^{(i)}) = \sum_{Z}P(Z|Y,\theta^{(i)})lnP(Y,Z|\theta) = E_Z[lnP(Y,Z|\theta)|Y,\theta^{(i)}] \tag{11}Q(θ,θ(i))=Z∑​P(Z∣Y,θ(i))lnP(Y,Z∣θ)=EZ​[lnP(Y,Z∣θ)∣Y,θ(i)](11)

  • 上式的函数Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i))是EM算法的核心,称为QQQ函数。
  • 需要计算P(Z∣Y,θ(i))P(Z|Y,\theta^{(i)})P(Z∣Y,θ(i)),即在给定观测数据YYY和当前的参数估计θ(i)\theta^{(i)}θ(i)下隐变量数据ZZZ的条件概率分布,作为隐变量的现估计值。
  • QQQ函数:完全数据的对数似然函数lnP(Y,Z∣θ)lnP(Y,Z|\theta)lnP(Y,Z∣θ)关于在给定观测数据YYY和当前参数θ(i)\theta^{(i)}θ(i)下对未观测数据ZZZ的条件概率分布P(Z∣Y,θ(i))P(Z|Y,\theta^{(i)})P(Z∣Y,θ(i))的期望称为QQQ函数

(3)M步:求使Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i))极大化的θ\thetaθ,确定第i+1i+1i+1次迭代的参数的估计值θ(i+1)\theta^{(i + 1)}θ(i+1)
θ(i+1)=argmax⁡θQ(θ,θ(i))(12)\theta^{(i+1)} = arg\space \max_{\theta} Q(\theta,\theta^{(i)}) \tag{12}θ(i+1)=arg θmax​Q(θ,θ(i))(12)
(4)重复第(2)步和第(3)步,直到收敛。给出停止迭代的条件,一般是对较小的正数ϵ1,ϵ2\epsilon_1,\epsilon_2ϵ1​,ϵ2​,若满足
∣∣θ(i+1)−θ(i)∣∣<ϵ1or∣∣Q(θ(i+1),θ(i))−Q(θ(i),θ(i))∣∣<ϵ2(13)||\theta^{(i + 1)} - \theta^{(i)}|| < \epsilon_1 \space or \space\space ||Q(\theta^{(i + 1)},\theta^{(i)}) - Q(\theta^{(i)},\theta^{(i)}) ||< \epsilon_2 \tag{13}∣∣θ(i+1)−θ(i)∣∣<ϵ1​ or  ∣∣Q(θ(i+1),θ(i))−Q(θ(i),θ(i))∣∣<ϵ2​(13)

4、EM算法直观解释

在下图中给出了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(θ)的下界。两个函数在点θ=θ(i)\theta = \theta^{(i)}θ=θ(i)处相等。由式(9)和(10),EM算法找到下一个点θ(i+1)\theta^{(i+1)}θ(i+1)使函数B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))极大化,也使函数Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i))极大化。这时由于l(θ)≥B(θ,θ(i))l(\theta) \geq B(\theta,\theta^{(i)})l(θ)≥B(θ,θ(i)),函数B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i))的增加,保证对数似然函数l(θ)l(\theta)l(θ)在每次迭代中也是增加的。EM算法在点θ(i+1)\theta^{(i+1)}θ(i+1)重新计算QQQ函数值,进行下一次迭代。在这个过程中,对数似然函数l(θ)l(\theta)l(θ)不断增大。从图中可以推断出EM算法不能保证找到全局最优值

5、EM算法在非监督学习中的应用

监督学习是由训练数据{(x1,y1),(x2,y2),⋯,(xN,yN)}\{(x_1,y_1),(x_2,y_2),\cdots ,(x_N,y_N)\}{(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)}学习条件概率分布P(Y∣X)P(Y|X)P(Y∣X)或决策函数Y=f(X)Y = f(X)Y=f(X)作为模型,用于分类、回归、标注等任务。这时训练数据的每个样本点由输入和输出对组成

有时训练数据只有输入没有对应的输出{(x1,),(x2,),⋯,(xN,)}\{(x_1,),(x_2,),\cdots ,(x_N,)\}{(x1​,),(x2​,),⋯,(xN​,)},从这样的数据学习模型称为非监督学习问题。EM算法可以用于生成模型的非监督学习。生成模型由联合概率分布P(X,Y)P(X,Y)P(X,Y)表示,可以认为非监督学习训练数据是联合概率分布产生的数据。XXX为观测数据,YYY为未观测数据。

三、EM算法的收敛性

EM算法提供一种近似计算含有隐变量概率模型的极大似然估计的方法。EM算法的最大优点是简单性和普适性。对EM算法的两个疑问:

  • 1、EM算法得到的估计序列是否收敛?
  • 2、如果收敛,是否收敛到全局最大值或者局部最大值?

EM算法定理1:设P(Y∣θ)P(Y|\theta)P(Y∣θ)为观测数据的似然函数,θ(i)(i=1,2,⋯)\theta^{(i)}(i =1,2,\cdots)θ(i)(i=1,2,⋯)为EM算法得到的参数估计序列,P(Y∣θ(i))(i=1,2,⋯)P(Y|\theta^{(i)})(i =1,2,\cdots)P(Y∣θ(i))(i=1,2,⋯)为对应的似然函数序列,则P(Y∣θ(i))P(Y|\theta^{(i)})P(Y∣θ(i))是单调递增的,即
P(Y∣θ(i+1))≥P(Y∣θ(i))P(Y|\theta^{(i+1)}) \geq P(Y|\theta^{(i)})P(Y∣θ(i+1))≥P(Y∣θ(i))

EM算法定理2:设l(θ)=lnP(Y∣θ)l(\theta) = lnP(Y|\theta)l(θ)=lnP(Y∣θ)为观测数据的对数似然函数,θ(i)(i=1,2,⋯)\theta^{(i)}(i =1,2,\cdots)θ(i)(i=1,2,⋯)为EM算法得到的参数估计序列,l(θ(i))(i=1,2,⋯)l(\theta^{(i)})(i =1,2,\cdots)l(θ(i))(i=1,2,⋯)为对应的对数似然函数序列。

  • (1)如果P(Y∣θ)P(Y|\theta)P(Y∣θ)有上界,则l(θ(i))=lnP(Y∣θ(i))l(\theta^{(i)}) = lnP(Y|\theta^{(i)})l(θ(i))=lnP(Y∣θ(i))收敛到某一值l∗l^*l∗;
  • (2)在函数Q(θ,θ′)Q(\theta,\theta')Q(θ,θ′)与l(θ)l(\theta)l(θ)满足一定条件下,由EM算法得到的参数估计序列θ(i)\theta^{(i)}θ(i)的收敛值θ∗\theta^*θ∗是l(θ)l(\theta)l(θ)的稳定点。

定理1(P(Y∣θ(i+1))≥P(Y∣θ(i)))(P(Y|\theta^{(i+1)}) \geq P(Y|\theta^{(i)}))(P(Y∣θ(i+1))≥P(Y∣θ(i)))的证明

由于
P(Y∣θ)=P(Y,Z∣θ)P(Z∣Y,θ)P(Y|\theta) = \dfrac{P(Y,Z|\theta)}{P(Z|Y,\theta)}P(Y∣θ)=P(Z∣Y,θ)P(Y,Z∣θ)​
取对数有
lnP(Y∣θ)=lnP(Y,Z∣θ)−lnP(Z∣Y,θ)(14)lnP(Y|\theta) = lnP(Y,Z|\theta) - lnP(Z|Y,\theta) \tag{14}lnP(Y∣θ)=lnP(Y,Z∣θ)−lnP(Z∣Y,θ)(14)
根据式(11)有QQQ函数
Q(θ,θ(i))=∑ZP(Z∣Y,θ(i))lnP(Y,Z∣θ)Q(\theta,\theta^{(i)}) = \sum_{Z}P(Z|Y,\theta^{(i)})lnP(Y,Z|\theta)Q(θ,θ(i))=Z∑​P(Z∣Y,θ(i))lnP(Y,Z∣θ)

H(θ,θ(i))=∑ZP(Z∣Y,θ(i))lnP(Z∣Y,θ)(15)H(\theta,\theta^{(i)}) = \sum_{Z}P(Z|Y,\theta^{(i)})lnP(Z|Y,\theta) \tag{15}H(θ,θ(i))=Z∑​P(Z∣Y,θ(i))lnP(Z∣Y,θ)(15)
于是对数似然函数可以写成
lnP(Y∣θ)=Q(θ,θ(i))−H(θ,θ(i))(16)lnP(Y|\theta) = Q(\theta,\theta^{(i)}) - H(\theta,\theta^{(i)}) \tag{16} lnP(Y∣θ)=Q(θ,θ(i))−H(θ,θ(i))(16)
在式(16)中分别取θ\thetaθ为θ(i+1)\theta^{(i+1)}θ(i+1)和θ(i)\theta^{(i)}θ(i)并相减,有
lnP(Y∣θ(i+1))−lnP(Y∣θ(i))=[Q(θ(i+1),θ(i))−Q(θ(i),θ(i))]−[H(θ(i+1),θ(i))−H(θ(i),θ(i))](17)lnP(Y|\theta^{(i+1)}) - lnP(Y|\theta^{(i)}) = [Q(\theta^{(i+1)},\theta^{(i)}) - Q(\theta^{(i)},\theta^{(i)})]-[H(\theta^{(i+1)},\theta^{(i)}) - H(\theta^{(i)},\theta^{(i)})] \tag{17}lnP(Y∣θ(i+1))−lnP(Y∣θ(i))=[Q(θ(i+1),θ(i))−Q(θ(i),θ(i))]−[H(θ(i+1),θ(i))−H(θ(i),θ(i))](17)
由于θ(i+1)\theta^{(i+1)}θ(i+1)使Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i))达到极大,所以有
Q(θ(i+1),θ(i))−Q(θ(i),θ(i))≥0(18)Q(\theta^{(i+1)},\theta^{(i)}) - Q(\theta^{(i)},\theta^{(i)}) \geq 0 \tag{18}Q(θ(i+1),θ(i))−Q(θ(i),θ(i))≥0(18)
对于式(17)等式右边第2项
H(θ(i+1),θ(i))−H(θ(i),θ(i))=∑Z(lnP(Z∣Y,θ(i+1))P(Z∣Y,θ(i)))P(Z∣Y,θ(i))≤ln(∑ZP(Z∣Y,θ(i+1))P(Z∣Y,θ(i))P(Z∣Y,θ(i)))=ln∑ZP(Z∣Y,θ(i+1))=0(19)\begin{aligned} H(\theta^{(i+1)},& \theta^{(i)}) - H(\theta^{(i)},\theta^{(i)}) \\ & = \sum_Z\left( ln\dfrac{P(Z|Y,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})} \right)P(Z|Y,\theta^{(i)}) \\ & \leq ln\left(\sum_Z \dfrac{P(Z|Y,\theta^{(i+1)})}{P(Z|Y,\theta^{(i)})} P(Z|Y,\theta^{(i)})\right) \\ & = ln\sum_Z P(Z|Y,\theta^{(i+1)}) = 0 \tag{19} \end{aligned}H(θ(i+1),​θ(i))−H(θ(i),θ(i))=Z∑​(lnP(Z∣Y,θ(i))P(Z∣Y,θ(i+1))​)P(Z∣Y,θ(i))≤ln(Z∑​P(Z∣Y,θ(i))P(Z∣Y,θ(i+1))​P(Z∣Y,θ(i)))=lnZ∑​P(Z∣Y,θ(i+1))=0​(19)
由式(18)和式(19)可以证明lnP(Y∣θ(i+1))−lnP(Y∣θ(i))≥0lnP(Y|\theta^{(i+1)}) - lnP(Y|\theta^{(i)}) \geq 0lnP(Y∣θ(i+1))−lnP(Y∣θ(i))≥0。证毕。

定理2证明略,EM算法的收敛性包含关于对数似然序列l(θ(i))l(\theta^{(i)})l(θ(i))的收敛性和关于参数估计序列θ(i)\theta^{(i)}θ(i)的收敛性两层意思,前者并不蕴涵后者。定理只能保证参数估计序列收敛到对数似然函数序列的稳定点,不能保证收敛到极大值点。所以在应用中,初值的选择变得很重要,常用的办法是选取几个不同的初值进行迭代,然后对得到的各个估计值加以比较,从中选择最好的。

四、高斯混合模型GMM

见 09_期望极大法EM2_统计学习方法

五、EM算法的推广

见 09_期望极大法EM2_统计学习方法

参考资料:

  • 统计学习方法——李航
  • 如何感性地理解EM算法?
  • 从最大似然到EM算法浅解
  • EM算法学习
  • 高斯混合模型(GMM)

09_期望极大法EM1_统计学习方法相关推荐

  1. 09_期望极大法EM2_统计学习方法

    文章目录 四.高斯混合模型GMM 1.GMM与Adaboost比较 2.GMM参数估计的EM算法 (1)明确隐变量,写出完整数据的对数似然函数 (2)EM算法的E步:确定Q函数 (3)EM算法的M步 ...

  2. 统计学习与方法实战——统计学习方法概论

    统计学习方法概论题 统计学习方法概论 实现统计学习方法的步骤 统计学习方法三要素 模型 策略 损失函数与风险函数 定义 常用损失函数 经验风险最小化(ERM)与结构风险最小化(SRM) 模型评估与模型 ...

  3. 【机器学习百科全书目录】PRML ESL MLAPP 西瓜书 花书 RLAI 统计学习方法 蒲公英书

    文章目录 机器学习百科全书目录 Pattern Recognition and Machine Learning The Elements of Statistical Learning (Secon ...

  4. 统计学习方法笔记 -- 概论

    统计学习方法是基于训练数据构建统计模型,从而对数据进行预测和分析.  统计学习分为,监督学习(supervised learning),非监督学习,半监督学习和强化学习(reinforcement l ...

  5. 统计学习方法笔记(九)-最大熵原理及python实现

    最大熵模型 最大熵模型介绍 最大熵模型原理 代码案例 案例地址 最大熵模型介绍 最大熵模型(maximum entropy model)可以用于二分类,也可以用于多分类.其是由最大熵原理推导实现的,所 ...

  6. 统计学习方法笔记(四)-最大熵模型原理及python实现

    最大熵模型 最大熵模型 最大熵原理 最大熵模型 代码实现 案例地址 最大熵模型 最大熵模型(maximum entropy model)可以用于二分类,也可以用于多分类.其是由最大熵原理推导实现的,所 ...

  7. 统计学习方法笔记(三)-朴素贝叶斯原理及python实现

    朴素贝叶斯 条件概率 特征条件独立假设 朴素贝叶分类器 朴素贝叶斯分类算法原理 学习与分类算法 朴素贝叶斯算法原理 模型 多项式模型 高斯模型 伯努利模型 多项式模型的朴素贝叶斯分类器实现代码 高斯模 ...

  8. 李航-统计学习方法-笔记-1:概论

    写在前面 本系列笔记主要记录<统计学习方法>中7种常用的机器学习分类算法,包括感知机,KNN,朴素贝叶斯,决策树,逻辑斯谛回归与最大熵模型,SVM,boosting. 课本还涉及到3种算法 ...

  9. 复现经典:《统计学习方法》第19章 马尔可夫链蒙特卡罗法

    第19章 马尔可夫链蒙特卡罗法 本文是李航老师的<统计学习方法>一书的代码复现.作者:黄海广 备注:代码都可以在github中下载.我将陆续将代码发布在公众号"机器学习初学者&q ...

最新文章

  1. 【2011-3】【旋转表格】
  2. 鸟哥的Linux私房菜(服务器)- 第十章、申请合法的主机名
  3. Server操作Mxd文件详细讲解
  4. 从mysql到大数据(一)--开宗明义
  5. ES9新特性_ES9扩展运算符与rest参数---JavaScript_ECMAScript_ES6-ES11新特性工作笔记053
  6. util:properties/加载的配置文件中有中文导致乱码,如何通过分析源码解决问题?...
  7. DDL DML DCL 简介
  8. 基于高程的地面点云信息提取
  9. Kubernetes 是什么?为什么也称为 K8S?| 科普
  10. 使用 CP2102通过串口下载程序到STM32F103中 (MCUISP)
  11. win7开机提示由于系统注册表文件丢失或损坏因此无法加载怎么办
  12. 常用APP签名存档以及获取签名的几种方式介绍
  13. Spring中Junit测试启动报错class path resource [xxx.xml] cannot be opened because it does not exist
  14. Linux常用命令精讲
  15. 国外、国内Hadoop的应用现状
  16. 小程序源码:随机头像大全,多分类带历史记录-多玩法安装简单
  17. 屏幕尺寸、分辨率、视口笔记
  18. skipping incompatible xxxx.a when searching for -lxxx问题的解决
  19. 电脑桌面加html格式壁纸,巧妙使用IDM获取精美电脑桌面壁纸
  20. 缓冲液的配制(PBS与PBST)

热门文章

  1. Go语言的interface
  2. springcould结合springbboot微服务 开发@^——^@ 模式讲解
  3. No.1 字符编码数据类型
  4. GNU make使用(二)
  5. vitualbox的一个问题总结
  6. 测试基础-07-测试报告编写
  7. GIT常用快捷键配置
  8. 软件测试基础知识(一)
  9. ggplot2 | 如何对连续型变量使用离散型调色板进行配色
  10. vscode java settings设置_兼容vscode插件的主题服务