概率模型(一):极大似然估计与EM算法

本文介绍了极大似然估计的基本原理及应用,并通过实例详细解释了EM算法的工作流程及其数学推导过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

极大似然估计

对于随机事件,在确定了概率模型,但是不确定模型参数的时候,可以用最大似然估计法来估计模型的参数。

比如,对于离散型随机事件,已知事件的概率分布函数为P(x;θ)P(x;\theta)P(x;θ)(分号左边是随机变量,分号右边是模型的参数,这个符号的意思是随机变量x的概率分布函数是以θ\thetaθ为参数的函数),我们随机采样得到nnn个样本值x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn,这n个样本值满足独立同分布,则这些样本值的联合概率为:

P(x1,x2,...,xn;θ)=P(x1;θ)∗P(x2;θ)∗...P(xn;θ)=∏i=1nP(xi;θ)P(x_1,x_2,...,x_n;\theta)=P(x_1;\theta)*P(x_2;\theta)*...P(x_n;\theta)=\prod_{i=1}^{n}P(x_i;\theta)P(x1,x2,...,xn;θ)=P(x1;θ)P(x2;θ)...P(xn;θ)=i=1nP(xi;θ)

但是对于该事件的概率分布函数P(x;θ)P(x;\theta)P(x;θ)的参数θ\thetaθ的取值我们并不知道,如何估计一个合理的θ\thetaθ值呢?

最大似然估计法是可以这样取θ\thetaθ的值:

θ=argmax∏i=1nP(xi;θ)\theta=argmax\prod_{i=1}^{n}P(x_i;\theta)θ=argmaxi=1nP(xi;θ)

背后的思想就是在众多的θ\thetaθ取值中,取使得样本出现概率最大的θ\thetaθ值。

我们定义似然函数为:

L(θ)=∏i=1nP(xi;θ)L(\theta)=\prod_{i=1}^{n}P(x_i;\theta)L(θ)=i=1nP(xi;θ)

有时为了计算方便,会加上对数函数,得到对数似然函数:

lnL(θ)=ln∏i=1nP(xi;θ)=∑i=1nlnP(xi;θ)lnL(\theta)=ln\prod_{i=1}^{n}P(x_i;\theta)=\sum_{i=1}^{n}lnP(x_i;\theta)lnL(θ)=lni=1nP(xi;θ)=i=1nlnP(xi;θ)

对数似然函数取平均之后得到对数平均似然函数:

ℓ^=1n∑i=1nlnP(xi;θ)\widehat \ell = \frac{1}{n}\sum_{i=1}^{n}lnP(x_i;\theta)=n1i=1nlnP(xi;θ)

下面通过一个例子来说明最大似然估计方法的用途:例如有一大箱苹果,有部分苹果坏了,但是坏苹果的比例未知,我们想知道有多少苹果是坏的,但是不方便把所有的苹果都倒出来数一遍。现在我们从箱子中任意拿出一个苹果来,记录苹果是否坏了,然后放回去,把苹果摇匀后再拿出来一个,记录苹果是否坏了。如果反复,假设我们记录了100次,其中有10次拿到的苹果是坏的,那么箱子中坏的苹果的比例是多少呢?是10%吗?为什么呢?

我们假设箱子中坏苹果的比例是p,每次从箱子中取出一个苹果,记录是否为坏苹果,然后再返回去摇匀,说明每次取苹果是独立同分布事件,100次中取出10次的坏苹果的似然函数是:

P=p10(1−p)90P = p^{10}(1-p)^{90}P=p10(1p)90

为了是似然函数取值最大,p该去什么值呢?

∂P∂p=10p9(1−p)90−90p10(1−p)89=0\frac{\partial P}{\partial p} = 10p^9(1-p)^{90}-90p^{10}(1-p)^{89}=0pP=10p9(1p)9090p10(1p)89=0

解出方程的解:

p=0.1p=0.1p=0.1

所以10%是对坏苹果比例的极大似然估计值。

类似的,对于连续型随机变量,已知概率密度函数为f(x;θ)f(x;\theta)f(x;θ),对于随机采样得到的n个样本x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn,满足独立同分布的条件,但是对于连续性变量求取某个特定值的概率没有意义,我们需要求落在某个值附近区域的概率,随意n次采样落到x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn附近区域的联合概率为:

f(x1;θ)Δxf(x2;θ)Δx...f(xn;θ)Δx=Δxn∏i=1nf(xi;θ)f(x_1;\theta)\Delta xf(x_2;\theta)\Delta x...f(x_n;\theta)\Delta x=\Delta x^n\prod_{i=1}^{n}f(x_i;\theta)f(x1;θ)Δxf(x2;θ)Δx...f(xn;θ)Δx=Δxni=1nf(xi;θ)

因为Δxn\Delta x^nΔxn是个固定的值,所以我们定义连续型随机事件的似然函数为:

L(θ)=∏i=1nf(xi;θ)L(\theta)=\prod_{i=1}^{n}f(x_i;\theta)L(θ)=i=1nf(xi;θ)

类似的,也可以定义它的对数平均似然函数:

ℓ^=1n∑i=1nlnf(xi;θ)\widehat \ell=\frac{1}{n}\sum_{i=1}^{n}lnf(x_i;\theta)=n1i=1nlnf(xi;θ)

下面我们来通过一个例子看一下连续性随机变量的极大似然估计:例如我们想要知道全国所有男性中,身高在1.7米到1.8之间的有多少人。我们没有办法统计出所有男性的身高,怎么办呢?

我们有理由相信全国男性的身高符合正太分布,也就是身高的概率密度函数为:

f(x)=1σ2πe−(x−μ)22σ2f(x)=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^{2}}{2\sigma^2}}f(x)=σ2π1e2σ2(xμ)2

假如我们采样得到了n份身高样本[x1,x2,...,xn][x_1,x_2,...,x_n][x1,x2,...,xn],如果估计出参数μ,σ2\mu,\sigma^2μ,σ2呢?

采用极大似然估计,似然函数为:

L(μ,σ2)=∏i=1n1σ2πe−(xi−μ)22σ2=(2πσ)−n2e−12σ2∑i=1n(xi−μ)2L(\mu,\sigma^2)=\prod_{i=1}^{n}\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x_i-\mu)^2}{2\sigma^2}}=(2\pi\sigma)^{-\frac{n}{2}}e^{-\frac{1}{2\sigma^2}\sum_{i=1}^{n}(x_i-\mu)^2}L(μ,σ2)=i=1nσ2π1e2σ2(xiμ)2=(2πσ)2ne2σ21i=1n(xiμ)2

对数似然函数为:

lnL(μ,σ2)=−n2ln(2π)−n2ln(σ2)−12σ2∑i=1n(xi−μ)2lnL(\mu,\sigma^2)=-\frac{n}{2}ln(2\pi)-\frac{n}{2}ln(\sigma^2)-\frac{1}{2\sigma^2}\sum_{i=1}^{n}(x_i-\mu)^2lnL(μ,σ2)=2nln(2π)2nln(σ2)2σ21i=1n(xiμ)2

求对数似然函数极值,得到一下方程组:

∂lnL(μ,σ2)∂μ=1σ2∑i=1n(xi−μ)=0\frac{\partial lnL(\mu,\sigma^2)}{\partial \mu}=\frac{1}{\sigma^2}\sum_{i=1}^{n}(x_i-\mu)=0μlnL(μ,σ2)=σ21i=1n(xiμ)=0
∂lnL(μ,σ2)∂σ=−n2σ2+12σ4∑i=1n(xi−μ)2=0\frac{\partial lnL(\mu,\sigma^2)}{\partial \sigma}=-\frac{n}{2\sigma^2}+\frac{1}{2\sigma^4}\sum_{i=1}^{n}(x_i-\mu)^2=0σlnL(μ,σ2)=2σ2n+2σ41i=1n(xiμ)2=0

分别得出解为:

μ=1n∑i=1nxi\mu=\frac{1}{n}\sum_{i=1}^{n}x_iμ=n1i=1nxi

σ2=1n∑i=1n(xi−μ)2\sigma^2=\frac{1}{n}\sum_{i=1}^{n}(x_i-\mu)^2σ2=n1i=1n(xiμ)2

估计出正太分布的参数后,在知道人数总量的情况下,就可以计算身高落在1.7到1.8米之间的人数了,假设男性人口总量为M:

N=M∗P(1.7<h<1.8)=M∗∫1.71.8f(x)dxN = M * P(1.7<h<1.8)=M * \int_{1.7}^{1.8}f(x)dxN=MP(1.7<h<1.8)=M1.71.8f(x)dx

EM算法

我们来看一个比较经典的例子:有A,B两块硬币,抛投落地后正面朝上的概率分别记为PA,PBP_A, P_BPA,PB(当然,背面朝上的概率分别为1−PA,1−PB1-P_A,1-P_B1PA,1PB),为了估计两个概率值,我们连续做5次实验,每次实验随机取一个硬币(等概率),随机抛投5次,记录每次抛投的结果:

实验编号硬币实验结果
1A正正反正反
2B反反正正反
3A正反反反反
4B正反反正正
5A反正正反反

采用极大似然估计方法,很容易计算出PA,PBP_A,P_BPAPB的估计值,A硬币的的似然函数为:

L(PA)=PA6(1−PA)9L(P_A)=P_A^{6}(1-P_A)^{9}L(PA)=PA6(1PA)9

求极值得以下方程:

∂L∂PA=6PA5(1−PA)9−9PA6(1−PA)8=0\frac{\partial L}{\partial P_A}=6P_A^5(1-P_A)^9-9P_A^6(1-P_A)^8=0PAL=6PA5(1PA)99PA6(1PA)8=0

得出解:PA=615=0.4P_A=\frac{6}{15}=0.4PA=156=0.4

同理,得出:PB=510=0.5P_B = \frac{5}{10}=0.5PB=105=0.5

下面加大一下问题的难度,假如每次实验我们没办法知道所选的硬币是A还是B,还有办法估计A和B的正面朝上的概率PA,PBP_A,P_BPAPB吗?

实验编号硬币实验结果
1正正反正反
2反反正正反
3正反反反反
4正反反正正
5反正正反反

EM算法就排上用场了,可以按照下列步骤估计PA,PBP_A,P_BPA,PB

  • 设置PAP_APAPBP_BPB的估计初始值,比如PA=0.2,PB=0.7P_A=0.2,P_B=0.7PA=0.2,PB=0.7
  • 设置每次实验选择A,B硬币是等概率的,记为P(z=A)=P(z=B)=0.5P(z=A)=P(z=B)=0.5P(z=A)=P(z=B)=0.5,设随机变量xix_ixi表示每次实验中,硬币的朝向,目前为止我们可以得到下列方程:

P(xi∣z=A)=PA=0.2P(x_i|z=A)=P_A=0.2P(xiz=A)=PA=0.2
P(xi∣z=B)=PB=0.7P(x_i|z=B)=P_B=0.7P(xiz=B)=PB=0.7
P(x1,x2,...,x5∣z=A)=∏i=15P(xi∣z=A)P(x_1,x_2,...,x_5|z=A)=\prod_{i=1}^{5}P(x_i|z=A)P(x1,x2,...,x5z=A)=i=15P(xiz=A)
P(x1,x2,...,x5∣z=B)=∏i=15P(xi∣z=B)P(x_1,x_2,...,x_5|z=B)=\prod_{i=1}^{5}P(x_i|z=B)P(x1,x2,...,x5z=B)=i=15P(xiz=B)
P(x1,x2,...,x5)=P(x1,x2,...,x5∣z=A)P(z=A)+P(x1,x2,...,x5∣z=B)P(z=B)P(x_1,x_2,...,x_5)=P(x_1,x_2,...,x_5|z=A)P(z=A)+P(x_1,x_2,...,x_5|z=B)P(z=B)P(x1,x2,...,x5)=P(x1,x2,...,x5z=A)P(z=A)+P(x1,x2,...,x5z=B)P(z=B)

  • 进入E步,我们计算一下再当前初始值情况下第一次实验选择了A,B硬币的后验概率,计算方式如下:

由贝叶斯公式:

P(A∣B)=P(B∣A)P(A)P(B)P(A|B)=\frac{P(B|A)P(A)}{P(B)}P(AB)=P(B)P(BA)P(A)

得到:

P(z=A∣x1,x2,...,x5)=P(x1,x2,...,x5∣z=A)P(z=A)P(x1,x2,...,x5)P(z=A|x_1,x_2,...,x_5)=\frac{P(x_1,x_2,...,x_5|z=A)P(z=A)}{P(x_1,x_2,...,x_5)}P(z=Ax1,x2,...,x5)=P(x1,x2,...,x5)P(x1,x2,...,x5z=A)P(z=A)

=P(x1,x2,...,x5∣z=A)P(z=A)P(x1,x2,...,x5∣z=A)P(z=A)+P(x1,x2,...,x5∣z=B)P(z=B)=\frac{P(x_1,x_2,...,x_5|z=A)P(z=A)}{P(x_1,x_2,...,x_5|z=A)P(z=A)+P(x_1,x_2,...,x_5|z=B)P(z=B)}=P(x1,x2,...,x5z=A)P(z=A)+P(x1,x2,...,x5z=B)P(z=B)P(x1,x2,...,x5z=A)P(z=A)

P(z=B∣x1,x2,...,x5)=P(x1,x2,...,x5∣z=A)P(z=B)P(x1,x2,...,x5)P(z=B|x_1,x_2,...,x_5)=\frac{P(x_1,x_2,...,x_5|z=A)P(z=B)}{P(x_1,x_2,...,x_5)}P(z=Bx1,x2,...,x5)=P(x1,x2,...,x5)P(x1,x2,...,x5z=A)P(z=B)

=P(x1,x2,...,x5∣z=A)P(z=A)P(x1,x2,...,x5∣z=A)P(z=A)+P(x1,x2,...,x5∣z=B)P(z=B)=\frac{P(x_1,x_2,...,x_5|z=A)P(z=A)}{P(x_1,x_2,...,x_5|z=A)P(z=A)+P(x_1,x_2,...,x_5|z=B)P(z=B)}=P(x1,x2,...,x5z=A)P(z=A)+P(x1,x2,...,x5z=B)P(z=B)P(x1,x2,...,x5z=A)P(z=A)

对所有的实验,采用相同的计算法方式,计算结果如下表:

实验编号硬币实验结果硬币为A概率硬币为B概率
1正正反正反0.140.86
2反反正正反0.610.39
3正反反反反0.940.06
4正反反正正0.140.86
5反正正反反0.610.39
  • 进入M步,估计PA,PBP_A,P_BPA,PB的值,最大化下面函数Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i))

Q(θ,θ(i))=∑i=15P(z(i)∣x1(i),...,x5(i),θ(i))logP(x1(i),...,x5(i),z(i)∣θ)Q(\theta,\theta^{(i)})=\sum_{i=1}^{5}P(z^{(i)}|x_1^{(i)},...,x_5^{(i)},\theta^{(i)})logP(x_1^{(i)},...,x_5^{(i)},z^{(i)}|\theta)Q(θ,θ(i))=i=15P(z(i)x1(i),...,x5(i),θ(i))logP(x1(i),...,x5(i),z(i)θ)

=∑i=15P(z(i)∣x1(i),...,x5(i),θ(i))logP(x1(i),...,x5(i)∣z(i),θ)P(z(i)∣θ)=\sum_{i=1}^{5}P(z^{(i)}|x_1^{(i)},...,x_5^{(i)},\theta^{(i)})logP(x_1^{(i)},...,x_5^{(i)}|z^{(i)},\theta)P(z^{(i)}|\theta)=i=15P(z(i)x1(i),...,x5(i),θ(i))logP(x1(i),...,x5(i)z(i),θ)P(z(i)θ)

=0.14logPA3(1−PA)2Pz+0.86logPB3(1−PB)2(1−Pz)=0.14log P_A^3(1-P_A)^2P_z+0.86logP_B^3(1-P_B)^2(1-P_z)=0.14logPA3(1PA)2Pz+0.86logPB3(1PB)2(1Pz)
+0.61logPA2(1−PA)3Pz+0.39logPB2(1−PB)3(1−Pz)+0.61logP_A^2(1-P_A)^3P_z+0.39logP_B^2(1-P_B)^3(1-P_z)+0.61logPA2(1PA)3Pz+0.39logPB2(1PB)3(1Pz)
+0.94logPA(1−PA)4Pz+0.06logPB(1−PB)4(1−Pz)+0.94logP_A(1-P_A)^4P_z+0.06logP_B(1-P_B)^4(1-P_z)+0.94logPA(1PA)4Pz+0.06logPB(1PB)4(1Pz)
+0.14logPA3(1−PA)2Pz+0.86logPB3(1−PB)2(1−Pz)+0.14logP_A^3(1-P_A)^2P_z+0.86logP_B^3(1-P_B)^2(1-P_z)+0.14logPA3(1PA)2Pz+0.86logPB3(1PB)2(1Pz)
+0.61logPA2(1−PA)3Pz+0.39logPB2(1−PB)3(1−Pz)+0.61logP_A^2(1-P_A)^3P_z+0.39logP_B^2(1-P_B)^3(1-P_z)+0.61logPA2(1PA)3Pz+0.39logPB2(1PB)3(1Pz)

由取极值条件得方程组:

∂Q∂Pz=0\frac{\partial Q}{\partial P_z}=0PzQ=0
∂Q∂PA=0\frac{\partial Q}{\partial P_A}=0PAQ=0
∂Q∂PB=0\frac{\partial Q}{\partial P_B}=0PBQ=0

求得Pz=0.49,PA=0.35,PB=0.53P_z=0.49,P_A=0.35,P_B=0.53Pz=0.49,PA=0.35,PB=0.53

  • 重复以上的E和M步,直到Pz,PA,PBP_z,P_A,P_BPz,PA,PB收敛或QQQ函数收敛为止。

EM算法推导

EM算法希望通过迭代计算,最大化可观测变量的似然函数:

L(θ)=logP(Y∣θ)=log∑ZP(Y,Z∣θ)L(\theta)=logP(Y|\theta)=log\sum_{Z}P(Y,Z|\theta)L(θ)=logP(Yθ)=logZP(Y,Zθ)
=log∑ZP(Y∣Z,θ)P(Z∣θ)=log\sum_{Z}P(Y|Z,\theta)P(Z|\theta)=logZP(YZ,θ)P(Zθ)

但是直接最大化此函数比较困难,函数中存在隐含变量Z.

假设我们初始的估计值为θ(0)\theta^{(0)}θ(0),第iii次的估计值为θ(i)\theta^{(i)}θ(i)

L(θ(i))=logP(Y∣θ(i))L(\theta^{(i)})=logP(Y|\theta^{(i)})L(θ(i))=logP(Yθ(i))

L(θ)−L(θ(i))=log∑ZP(Y,Z∣θ)−logP(Y∣θ(i))L(\theta)-L(\theta^{(i)})=log\sum_{Z}P(Y,Z|\theta)-logP(Y|\theta^{(i)})L(θ)L(θ(i))=logZP(Y,Zθ)logP(Yθ(i))

=log∑ZP(Y∣Z,θ)P(Z∣θ)−logP(Y∣θ(i))=log\sum_{Z}P(Y|Z,\theta)P(Z|\theta)-logP(Y|\theta^{(i)})=logZP(YZ,θ)P(Zθ)logP(Yθ(i))

=log∑ZP(Z∣Y,θ(i))P(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−logP(Y∣θ(i))=log\sum_{Z}P(Z|Y,\theta^{(i)})\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-logP(Y|\theta^{(i)})=logZP(ZY,θ(i))P(ZY,θ(i))P(YZ,θ)P(Zθ)logP(Yθ(i))

≥∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−logP(Y∣θ(i))\ge \sum_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-logP(Y|\theta^{(i)})ZP(ZY,θ(i))logP(ZY,θ(i))P(YZ,θ)P(Zθ)logP(Yθ(i))

=∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))−∑ZP(Z∣Y,θ(i))logP(Y∣θ(i))=\sum_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}-\sum_{Z}P(Z|Y,\theta^{(i)})logP(Y|\theta^{(i)})=ZP(ZY,θ(i))logP(ZY,θ(i))P(YZ,θ)P(Zθ)ZP(ZY,θ(i))logP(Yθ(i))

=∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(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)})}=ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)

综上得出:

L(θ)≥L(θ(i))+∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i))L(\theta)\ge 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)})}L(θ)L(θ(i))+ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)

上式中右侧部分记为B(θ,θ(i))B(\theta,\theta^{(i)})B(θ,θ(i)),则有:

L(θ)≥B(θ,θ(i))L(\theta)\ge B(\theta,\theta^{(i)})L(θ)B(θ,θ(i))

θ(i+1)=argmaxθB(θ,θ(i))\theta^{(i+1)}=argmax_{\theta}B(\theta,\theta^{(i)})θ(i+1)=argmaxθB(θ,θ(i))
=argmaxθ(logP(Y∣θ(i))+∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))P(Y∣θ(i)))=argmax_{\theta}(logP(Y|\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)})})=argmaxθ(logP(Yθ(i))+ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ))

=argmaxθ∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)P(Z∣Y,θ(i))=argmax_{\theta}\sum_{Z}P(Z|Y,\theta^{(i)})log\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}=argmaxθZP(ZY,θ(i))logP(ZY,θ(i))P(YZ,θ)P(Zθ)

=argmaxθ∑ZP(Z∣Y,θ(i))logP(Y∣Z,θ)P(Z∣θ)−∑ZP(Z∣Y,θ(i))logP(Z∣Y,θ(i))=argmax_{\theta}\sum_{Z}P(Z|Y,\theta^{(i)})logP(Y|Z,\theta)P(Z|\theta)-\sum_{Z}P(Z|Y,\theta^{(i)})logP(Z|Y,\theta^{(i)})=argmaxθZP(ZY,θ(i))logP(YZ,θ)P(Zθ)ZP(ZY,θ(i))logP(ZY,θ(i))

=argmaxθ∑ZP(Z∣Y,θ(i))logP(Y,Z∣θ)−∑ZP(Z∣Y,θ(i))logP(Z∣Y,θ(i))=argmax_{\theta}\sum_{Z}P(Z|Y,\theta^{(i)})logP(Y,Z|\theta)-\sum_{Z}P(Z|Y,\theta^{(i)})logP(Z|Y,\theta^{(i)})=argmaxθZP(ZY,θ(i))logP(Y,Zθ)ZP(ZY,θ(i))logP(ZY,θ(i))

省略常数项得:

θ(i+1)=argmaxθ∑ZP(Z∣Y,θ(i))logP(Y,Z∣θ)\theta^{(i+1)}=argmax_{\theta}\sum_{Z}P(Z|Y,\theta^{(i)})logP(Y,Z|\theta)θ(i+1)=argmaxθZP(ZY,θ(i))logP(Y,Zθ)

这里就是上面例子中提到的QQQ函数的定义

总结来说,EM算法的过程为:

  1. 模型包含可观察变量YYY和隐藏变量ZZZ,模型参数θ\thetaθ初始值为θ(0)\theta^{(0)}θ(0),第iii次迭代的值记为θ(i)\theta^{(i)}θ(i)
  2. E步:计算函数Q(θ,θ(i))=∑ZlogP(Y,Z∣θ)P(Z∣θ(i))Q(\theta,\theta^{(i)})=\sum_{Z}logP(Y,Z|\theta)P(Z|\theta^{(i)})Q(θ,θ(i))=ZlogP(Y,Zθ)P(Zθ(i))
  3. M步:求参数θ(i+1)=argmaxθQ(θ,θ(i))\theta^{(i+1)}=argmax_{\theta}Q(\theta,\theta^{(i)})θ(i+1)=argmaxθQ(θ,θ(i))
  4. 重复2,3两步,直到Q函数或参数收敛。

另外还需要注意的是,EM算法对初始化的参数θ\thetaθ是敏感的,不同的初始化值可能会造成最后的收敛值的不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值