EM算法 参考CMU讲义

什么是EM算法

EM算法属于似然思想下,对于模型参数更新的方法。具体而言,我们以神经网络为例,我们记这个神经网络的所有参数为 θ \theta θ,可以观测到的因变量为 y y y,不可观测的因素(隐变量)记为 x x x。通过EM算法,我们可以将参数 θ \theta θ更新到使得可观测变量 y y y的log likelihood变得最大,或者说最贴合我们的数据分布。

问题描述与化简

我们要优化的函数是:
L ( θ ) = log ⁡ p ( y ∣ θ ) \mathcal{L}(\theta) = \log p(y|\theta) L(θ)=logp(yθ)
但是这个函数我们不太好操作,我们对它做一个变换
L ( θ ) = log ⁡ ∫ p ( x , y ∣ θ ) d x \begin{aligned} \mathcal{L}(\theta) & =\log \int p(x,y|\theta)dx \\ \end{aligned} L(θ)=logp(x,yθ)dx
对于任意一个 x x x的分布 q ( x ) q(x) q(x),我们将上式转化为
L ( θ ) = log ⁡ ∫ q ( x ) p ( x , y ∣ θ ) q ( x ) d x \begin{aligned} \mathcal{L}(\theta)=\log \int q(x) \frac{p(x,y|\theta)}{q(x)}dx \end{aligned} L(θ)=logq(x)q(x)p(x,yθ)dx
通过Jensen不等式,我们有关系:
L ( θ ) = log ⁡ ∫ q ( x ) p ( x , y ∣ θ ) q ( x ) d x ≤ ∫ q ( x ) log ⁡ p ( x , y ∣ θ ) q ( x ) d x ≜ F ( q ( x ) , θ ) \begin{aligned} \mathcal{L}(\theta)=&\log \int q(x) \frac{p(x,y|\theta)}{q(x)}dx \\ \leq& \int q(x)\log \frac{p(x,y|\theta)}{q(x)}dx \triangleq \mathcal{F}(q(x),\theta) \end{aligned} L(θ)=logq(x)q(x)p(x,yθ)dxq(x)logq(x)p(x,yθ)dxF(q(x),θ)
这里我们得到的 F ( q ( x ) , θ ) \mathcal{F}(q(x), \theta) F(q(x),

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值