《统计学习方法》笔记——EM公式推导

EM算法

问题描述

EM算法是一种利用数据估计生成模型的算法。即求解目标为数据满足的概率模型
假设观测变量为 Y = { y 1 , y 2 , … , y N } Y=\{y_1,y_2,\dots,y_N\} Y={ y1,y2,,yN},隐藏变量为 Z Z Z,估计参数为 θ \theta θ
根据最大似然估计的思想,很自然的想法就是寻找合适的参数 θ \theta θ,使得取得观测值的概率最大。
arg ⁡ max ⁡ θ P ( Y ∣ θ ) (1) \arg \max_\theta P(Y|\theta)\tag{1} argθmaxP(Yθ)(1)
一般我们认为样本之间独立同分布,因此有
P ( Y ∣ θ ) = ∏ j = 1 N P ( y j ∣ θ ) (2) P(Y|\theta)=\prod_{j=1}^NP(y_j|\theta)\tag{2} P(Yθ)=j=1NP(yjθ)(2)
为了方便运算,一般将 ( 1 ) (1) (1)式改写为如下形式
arg ⁡ max ⁡ θ log ⁡ P ( Y ∣ θ ) (3) \arg \max_\theta \log P(Y|\theta)\tag{3} argθmaxlogP(Yθ)(3)
由于隐藏变量的存在,这个最值问题无法直接求解,因此使用EM算法来迭代

算法导出

首先定义 L ( θ ) L(\theta) L(θ)
L ( θ ) ≜ log ⁡ P ( Y ∣ θ ) (4) L(\theta) \triangleq \log P(Y|\theta) \tag{4} L(θ)logP(Yθ)(4)
迭代过程中我们希望求得的 θ ( 1 ) , θ ( 2 ) , ⋯   , θ ( i ) , ⋯ \theta^{(1)},\theta^{(2)},\cdots,\theta^{(i)},\cdots θ(1),θ(2),,θ(i),保证 L ( θ ) L(\theta) L(θ)能够单调递增。为此,考虑 L ( θ ) − L ( θ ( i ) ) L(\theta)-L(\theta^{(i)}) L(θ)L(θ(i))
L ( θ ) − L ( θ ( i ) ) = log ⁡ ( P ( Y ∣ θ ) ) − log ⁡ ( P ( Y ∣ θ ( i ) ) ) = log ⁡ ( P ( Y ∣ Z , θ ) P ( Z ∣ θ ) ) − log ⁡ ( P ( Y ∣ θ ( i ) ) ) = log ⁡ ( P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ) − log ⁡ ( P ( Y ∣ θ ( i ) ) ) = log ⁡ ( E P ( Z ∣ Y , θ ( i ) ) [ P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ] ) − log ⁡ ( P ( Y ∣ θ ( i ) ) ) ⩾ E P ( Z ∣ Y , θ ( i ) ) [ log ⁡ ( P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) ) ] − E P ( Z ∣ Y , θ ( i ) ) [ log ⁡ ( P ( Y ∣ θ ( i ) ) ) ] = E P ( Z ∣ Y , θ ( i ) ) [ log ⁡ ( P ( Y ∣ Z , θ ) P ( Z ∣ θ ) P ( Z ∣ Y , θ ( i ) ) P ( Y ∣ θ ( i ) ) ) ] \begin{aligned} L(\theta)-L(\theta^{(i)}) & = \log(P(Y|\theta))-\log(P(Y|\theta^{(i)}))\\ & =\log(P(Y|Z,\theta)P(Z|\theta))-\log(P(Y|\theta^{(i)}))\\ &=\log(P(Z|Y,\theta^{(i)})\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})})-\log(P(Y|\theta^{(i)}))\\ &=\log(E_{P(Z|Y,\theta^{(i)})}[ \frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})}])-\log(P(Y|\theta^{(i)}))\\ &\geqslant E_{P(Z|Y,\theta^{(i)})}[\log(\frac{P(Y|Z,\theta)P(Z|\theta)}{P(Z|Y,\theta^{(i)})})]-E_{P(Z|Y,\theta^{(i)})}[\log(P(Y|\theta^{(i)}))]\\ &=E_{P(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(P(Yθ))log(P(Yθ(i)))=log(P(YZ,θ)P(Zθ))log(P(Yθ(i)))=log(P(ZY,θ(i))P(ZY,θ(i))P(YZ,θ)P(Zθ))log(P(Yθ(i)))=log(EP(ZY,θ(i))[P(ZY,θ(i))P(YZ,θ)P(Zθ)])log(P(Yθ(i)))EP(ZY,θ(i))[log(P(ZY,θ(i))P(YZ,θ)P(Zθ))]EP(ZY,θ(i))[log(P(Yθ(i)))]=EP(ZY,θ(i))[log(P(ZY,θ(i))P(Yθ(i))P(YZ,θ)P

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值