《统计学习方法》(第九章)—— EM算法及推广

EM算法的引入

概率模型有时既含有观测变量,又含有隐变量或潜在变量。所以不能直接用极大似然估计去估计参数。EM算法就是对含有隐变量模型的参数的极大似然估计算法。

EM算法

   一般用 Y Y Y表示观测随机变量的数据, Z Z Z表示隐随机变量的数据, Y Y Y Z Z Z连起来称为完全数据, Y Y Y称为不完全数据。假设给定观测数据 Y Y Y,其概率分布 P ( Y ∣ θ ) P(Y|\theta) P(Yθ),其中 θ \theta θ为参数。那么不完全数据 Y Y Y的似然函数是 P ( Y ∣ θ ) P(Y|\theta) P(Yθ),其对数似然函数是 L ( θ ) = log ⁡ P ( Y ∣ θ ) L(\theta)=\log P(Y|\theta) L(θ)=logP(Yθ),假设 Y Y Y Z Z Z的联合改论分布是 P ( Y , Z ∣ θ ) P(Y,Z|\theta) P(Y,Zθ),那么完全数据的对数似然函数是 L ( θ ) = P ( Y , Z ∣ θ ) L(\theta)=P(Y,Z|\theta) L(θ)=P(Y,Zθ)
E M EM EM算法基本思路是先求期望 M M M再进一步最大化,似然函数
算法:
输入:观测变量 Y Y Y,隐变量数据 Z Z Z,联合分布 P ( Y , Z ∣ θ ) P(Y,Z|\theta) P(Y,Zθ),条件分布 P ( Z ∣ Y , θ ) P(Z|Y,\theta) P(ZY,θ)
输出:模型参数 θ \theta θ
( 1 ) (1) (1)选择参数的初始值 θ ( 0 ) , \theta^{(0)}, θ(0),开始迭代
( 2 ) (2) (2) E E E步:记 θ ( i ) \theta^{(i)} θ(i),为第 i i i次迭代的参数估计值,在第 i + 1 i+1 i+1次迭代的 E E E计算
Q ( θ , θ ( i ) ) = E z [ log ⁡ P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] Q(\theta,\theta^{(i)})=E_z[\log P(Y,Z|\theta)|Y,\theta^{(i)}] Q(θ,θ(i))=Ez[logP(Y,Zθ)Y,θ(i)]
= ∑ Z log ⁡ P ( Y , Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) =\sum\limits_{Z}\log P(Y,Z|\theta)P(Z|Y,\theta^{(i)}) =ZlogP(Y,Zθ)P(ZY,θ(i))
( 3 ) (3) (3) M M M步:求使 Q ( θ , θ ( i ) ) Q(\theta,\theta^{(i)}) Q(θ,θ(i))极大化的 θ \theta θ,确定第 i + 1 i+1 i+1次迭代的参数估计值 θ ( i + 1 ) \theta^{(i+1)} θ(i+1)
θ ( i + 1 ) = arg max ⁡ θ Q ( θ , θ ( i ) ) \theta^{(i+1)}=\argmax\limits_{\theta}Q(\theta,\theta^{(i)}) θ(i+1)=θargmaxQ(θ,θ(i))
( 4 ) (4) (4)重复 ( 2 ) , ( 3 ) (2),(3) (2),(3)直到收敛

注意,定义 Q ( θ , θ ( i ) ) = E Z [ log ⁡ P ( Y , Z ∣ θ ) ∣ Y , θ ( i ) ] Q(\theta,\theta^{(i)})=E_Z[\log P(Y,Z|\theta)|Y,\theta^{(i)}] Q(θ,θ(i))=EZ[logP(Y,Zθ)Y,θ(i)]
∣ ∣ θ i + 1 − θ i ∣ ∣ < ϵ 1      o r      ∣ ∣ Q ( θ ( i + 1 ) , θ ( i ) ) − Q ( θ ( i ) , θ ( i ) ) ∣ ∣ < ϵ 2 ||\theta^{i+1}-\theta^{i}|| <\epsilon_1 \ \ \ \ or \ \ \ \ ||Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})||<\epsilon_2 θi+1θi<ϵ1    or    Q(θ(i+1),θ(i))Q(θ(i),θ(i))<ϵ2
算法停止

EM算法的导出

对数似然函数为
L ( θ ) = log ⁡ P ( Y ∣ θ ) = log ⁡ ∑ Z P ( Y , Z ∣ θ ) L(\theta)=\log P(Y|\theta)=\log \sum\limits_Z P(Y,Z|\theta) L(θ)=logP(Yθ)=logZP(Y,Zθ)
= log ⁡ ( ∑ P ( Y ∣ Z , θ ) P ( Z ∣ θ ) ) =\log(\sum\limits_P(Y|Z,\theta)P(Z|\theta)) =log(P(YZ,θ)P(Zθ))
我们希望新值 L ( θ ) > L ( θ ( i ) ) L(\theta)>L(\theta^{(i)}) L(θ)>L(θ(i))于是
L ( θ ) − L ( θ ( i ) ) = log ⁡ ( ∑ Z P ( Y ∣ Z , θ ) P ( Z ∣ θ ) ) − log ⁡ P ( Y ∣ θ ( i ) ) L(\theta)-L(\theta^{(i)})=\log (\sum\limits_ZP(Y|Z,\theta)P(Z|\theta))-\log P(Y|\theta^{(i)}) L(θ)L(θ(i))=log(ZP(YZ,θ)P(Zθ))logP(Yθ(i))
利用 J e n s e n Jensen Jensen不等式得
L ( θ ) − L ( θ ( i ) ) = log ⁡ ( ∑ Z P ( Z ∣ Y , θ i ) P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ i ) ) − log ⁡ P ( Y ∣ θ ( i ) ) L(\theta)-L(\theta^{(i)})=\log(\sum\limits_ZP(Z|Y,\theta^{i})\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{i})})-\log P(Y|\theta^{(i)}) L(θ)L(θ(i))=log(ZP(ZY,θi)P(ZY,θi)P(YZ,θ)P(Zθ))logP(Yθ(i))
≥ ∑ Z P ( Z ∣ Y , θ ( i ) ) log ⁡ P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ i ) − log ⁡ P ( Y ∣ θ ( i ) ) \ge \sum\limits_ZP(Z|Y,\theta^{(i)})\log \frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{i})}-\log P(Y|\theta^{(i)}) ZP(ZY,θ(i))logP(ZY,θi)P(YZ,θ)P(Zθ)logP(Yθ(i))
= ∑ Z P ( Z ∣ Y , θ ( i ) ) log ⁡ P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) =\sum\limits_ZP(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θ)

B ( θ , θ ( i ) ) = L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) log ⁡ P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) B(\theta,\theta^{(i)})=L(\theta^{(i)})+\sum\limits_ZP(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))+ZP(ZY,θ(i))logP(ZY,θ(i))P(Yθ(i))P(YZ,θ)P(Zθ)

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

L ( θ ( i ) ) = B ( θ ( i ) , θ ( i ) ) L(\theta^{(i)})= B(\theta^{(i)},\theta^{(i)}) L(θ(i))=B(θ(i),θ(i))
因此我们可以使 B ( θ , θ ( i ) ) B(\theta,\theta^{(i)}) B(θ,θ(i))增大
θ ( i + 1 ) = arg max ⁡ θ B ( θ , θ ( i ) ) \theta^{(i+1)}=\argmax\limits_{\theta}B(\theta,\theta^{(i)}) θ(i+1)=θargmaxB(θ,θ(i))
θ ( i + 1 ) = arg max ⁡ θ ( L ( θ ( i ) ) + ∑ Z P ( Z ∣ Y , θ ( i ) ) log ⁡ P ( Y ∣ Z , θ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值