0. 前言
以下针对《统计学习方法(第二版)》的中的内容
1. 背景介绍
2. EM公式推导
记可观测变量为Y,隐变量为Z,参数为θ 。根据对Y的n次观测,估计θ
-
最大似然MLE:
θ^=θargmax j=1∏nP(yj∣θ)=θargmax j=1∑nlogP(yj∣θ)(2.1)
-
记第j个样本对应的似然函数 Lj(θ)=logP(yj∣θ)
Lj(θ)−Lj(θ(i))=logP(yj∣θ)−logP(yj∣θ(i))=logzj∑P(yj,zj∣θ)−logP(yj∣θ(i))=log(zj∑P(zj∣yj,θ(i))⋅P(zj∣yj,θ(i))P(yj,zj∣θ))−logP(yj∣θ(i))(2.2)
-
应用Jenson不等式,见书《统计学习方法》p179
logi∑λi yi⩾i∑λi log(yi)
其中,i∑λi=1,λi⩾0. 带入(2.2)得到
Lj(θ)−Lj(θ(i))=logzj∑P(zj∣yj,θ(i))⋅P(zj∣yj,θ(i))P(yj,zj∣θ)−logP(yj∣θ(i))⩾zj∑P(zj∣yj,θ(i))⋅logP(zj∣yj,θ(i))P(yj,zj∣θ)−logP(yj∣θ(i))=zj∑P(zj∣yj,θ(i))⋅logP(zj∣yj,θ(i))P(yj,zj∣θ)−zj∑P(zj∣yj,θ(i))⋅logP(yj∣θ(i))=zj∑P(zj∣yj,θ(i))⋅logP(zj∣yj,θ(i))P(yj,zj∣θ)−zj∑P(zj∣yj,θ(i))⋅logP(yj∣θ(i))=zj∑P(zj∣yj,θ(i))⋅logP(zj∣yj,θ(i))⋅P(yj∣θ(i))P(yj,zj∣θ)=zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ(i))P(yj,zj∣θ)(2.3)
-
记Lj(θ) 的下界为Bj(θ,θ(i))
Bj(θ,θ(i))=Lj(θ(i))+zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ(i))P(yj,zj∣θ)(2.4)
通过提升下界为Bj(θ,θ(i))的方式,提升L(θ),即
Lj(θ)=maxBj(θ,θ(i))
于是,
θi+1=θargmaxB(θ,θ(i))=θargmax(L(θ(i))+zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ(i))P(yj,zj∣θ))=θargmax(L(θ(i))+zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ)−zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ(i)))
其中,当θ(i)给定时,L(θ(i)),P(zj∣yj,θ(i)), P(yj,zj∣θ(i))均为定值
所以,
θi+1=θargmaxj=1∑n(zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ))=θargmaxEZ∣Y, θ(i)[logP(Y,Z∣θ)](2.5)
-
最终简化得到的函数为Q(θ,θ(i))
Q(θ,θ(i))=j=1∑n(zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ))=EZ∣Y, θ(i)[logP(Y,Z∣θ)](2.6)
3. 三硬币问题分析
-
记P(zi=B)=π, P(yi∣zi=B)=p, P(yi∣zi=C)=q
Q(θ,θ(i))=j=1∑n(zj∑P(zj∣yj,θ(i))⋅logP(yj,zj∣θ))=j=1∑n(P(zj=B∣yj,θ(i))⋅logP(yj,zj=B∣θ)+P(zj=C∣yj,θ(i))⋅logP(yj,zj=C∣θ))(3.1)
-
记 μj(i+1)=P(zj=B∣yj,θ(i)), (表示根据第i次得到的参数值,在第i+1次迭代中,在yj条件下确定zj的概率),则1−μj(i+1)=P(zj=C∣yj,θ(i)).
μj(i+1)=P(zj=B∣yj,θ(i))=P(yj∣zj=B,θ(i))⋅P(zj=B∣θ(i))+P(yj∣zj=C,θ(i))⋅P(zj=C∣θ(i))P(yj∣zj=B,θ(i))⋅P(zj=B∣θ(i))(3.2)
注意,因为 θ(i)给定,所以μj(i+1)也是确定的
-
P(yj∣zj=B,θ(i)) 的计算 (yj=1表示硬币为上)
P(yj∣zj=B,θ(i))={p(i)1−p(i),,yj=1yj=0=(p(i))yj(1−p(i))1−yj
同理,
P(yj∣zj=C,θ(i))=(q(i))yj(1−q(i))1−yj
带入(3.2)得到,
μj(i+1)=P(yj∣zj=B,θ(i))⋅P(zj=B∣θ(i))+P(yj∣zj=C,θ(i))⋅P(zj=C∣θ(i))P(yj∣zj=B,θ(i))⋅P(zj=B∣θ(i))=π(i)⋅(p(i))yj(1−p(i))1−yj+(1−π(i))⋅(q(i))yj(1−q(i))1−yjπ(i)⋅(p(i))yj(1−p(i))1−yj
-
计算 P(yj,zj=B∣θ)
P(yj,zj=B∣θ)=P(yj∣zj=B,θ)⋅P(zj=B,θ)=pyj⋅(1−p)1−yj⋅π
同理,
P(yj,zj=C∣θ)=P(yj∣zj=C,θ)⋅P(zj=C,θ)=qyj⋅(1−q)1−yj⋅(1−π)
-
将第2,3,4步结果带入(3.1)
Q(θ,θ(i))=j=1∑n(P(zj=B∣yj,θ(i))⋅logP(yj,zj=B∣θ)+P(zj=C∣yj,θ(i))⋅logP(yj,zj=C∣θ))=j=1∑n(μj(i+1)⋅log(pyj⋅(1−p)1−yj⋅π)+(1−μj(i+1))⋅log(qyj⋅(1−q)1−yj⋅(1−π)))
-
求导
-
∂π∂Q=0
∂π∂Q=j=1∑n(πμj(i+1)+(−1)⋅1−π1−μj(i+1))=0
可得,
π(i+1)=nj=1∑nμj(i+1)
-
∂p∂Q=0
∂p∂Q=∂p∂j=1∑n(μj(i+1)⋅log(pyj⋅(1−p)1−yj⋅π))=∂p∂j=1∑n(μj(i+1)⋅(yj⋅logp+(1−yj)⋅log(1−p)+logπ))=j=1∑n(μj(i+1)⋅(pyj−1−p1−yj))=0
可得,
p(i+1)=j=1∑nμj(i+1)j=1∑nμj(i+1)⋅yj
-
∂q∂Q=0
同理,
∂p∂Q=∂q∂j=1∑n((1−μj(i+1))⋅(yj⋅log(1−q)+(1−yj)⋅log(1−q)+log(1−π)))=j=1∑n((1−μj(i+1))⋅(qyj−1−q1−yj))=0
可得,
q(i+1)=j=1∑n(1−μj(i+1))j=1∑n(1−μj(i+1))⋅yj
4. GMM高斯混合模型应用EM估计参数
-
模型定义
P(yj∣θ)=k=1∑Kak⋅ϕ(yj∣θk)
ϕ(yj∣θk)表示由第k个高斯分布生成yi的概率。为方便,小王简记为ϕjk
ϕ(yj∣θk)=2πσ21e−2σ2(yj−μk)2
-
Q函数
Q(θ,θ(i))=j=1∑Nk=1∑KP(rj=rjk∣yj,θ(i))⋅logP(rj=rjk,yj∣θ)(4.1)
-
计算 $ P(r_j = r_{jk} | y_j, \theta^{(i)}) $, 记为 $ \hat r_{jk} $
r^jk=P(rj=rjk∣yj,θ(i))=k′=1∑KP(yj∣rj=rjk′,θ(i))⋅P(rj=rjk′∣θ(i))P(yj∣rj=rjk,θ(i))⋅P(rj=rjk∣θ(i))=k′=1∑Kϕjk′(i)⋅ak′(i)ϕjk(i)⋅ak(i)(4.2)
分析r^jk, nk 表示N个样本中有nk个样本是由第k个分量生成的
nk=j=1∑Nrjk(4.3)
N=k=1∑Knk(4.4)
-
计算P(rj=rjk,yj∣θ)
P(rj=rjk,yj∣θ)=P(yj∣rj=rjk,θ)⋅P(rj=rjk∣θ)=ϕjk⋅ak(4.5)
-
将第3,4步带入(4.1)
Q(θ,θ(i))=j=1∑Nk=1∑KP(rj=rjk∣yj,θ(i))⋅logP(rj=rjk,yj∣θ)=j=1∑Nk=1∑Kr^jk⋅log(ϕjk⋅ak)=k=1∑Kj=1∑N(r^jk⋅logak+r^jk⋅logϕjk)=k=1∑K(j=1∑Nr^jk⋅logak+j=1∑Nr^jk⋅logϕjk)=k=1∑K(n^k⋅logak+j=1∑Nr^jk⋅logϕjk)=k=1∑K(n^k⋅logak+j=1∑Nr^jk⋅(−21log2π−21logσk2−2σk2(yj−μk)2))(4.6)
考虑约束条件 k=1∑Kak=1,使用拉格朗日算子
Q′(θ,θ(i))=k=1∑K(n^k⋅logak+j=1∑Nr^jk⋅(−21log2π−21logσk2−2σk2(yj−μk)2))+λ(k=1∑Kak−1)(4.7)
-
求导
-
∂ak∂Q′=0
∂ak∂Q′=k=1∑K(akn^k+λ)=0
一个可行的解
akn^k+λn^k=0=−λak(4.8)
对(4.8) 两边求和
N=k=1∑Kn^k=−λk=1∑Kak=−λ
因此λ^=−N, 带入(4.8)可得到
a^k=Nn^k
-
∂μk∂Q′=0
∂μk∂Q′=k=1∑Kj=1∑Nr^jk⋅σk2(yj−μk)=0=k=1∑Kσk21j=1∑N(r^jkyj−r^jkμk)=k=1∑Kσk21(j=1∑Nr^jkyj−μkn^k)
一个可行的解,
μ^k=n^kj=1∑Nr^jkyj
-
∂σk2∂Q′=0
∂σk2∂Q′=k=1∑Kj=1∑Nr^jk⋅(−σk21+2σk4(yj−μk)2)=0
令t=σk2, 则
∂t∂Q′=k=1∑Kj=1∑Nr^jk⋅(−t1+2t2(yj−μk)2)=0=k=1∑K2t2j=1∑Nr^jk(yj−μk)2−j=1∑Nr^jkt
一个可能的解(此时自动使用μ^k?)
t^=σ^k2=j=1∑Nr^jkj=1∑Nr^jk(yj−μ^k)2=n^kj=1∑Nr^jk(yj−μ^k)2
参考
- https://www.bilibili.com/video/BV1me4y1j7Uz?p=1