• 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

    L(θ)=logp(x,y|θ)dx" role="presentation">L(θ)=logp(x,y|θ)dx
    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
    L(θ)=logq(x)p(x,y|θ)q(x)dx" role="presentation">L(θ)=logq(x)p(x,y|θ)q(x)dx
    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 ) , θ )
    L(θ)=logq(x)p(x,y|θ)q(x)dxq(x)logp(x,y|θ)q(x)dxF(q(x),θ)" role="presentation">L(θ)=logq(x)p(x,y|θ)q(x)dxq(x)logp(x,y|θ)q(x)dxF(q(x),θ)
    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),

  • 相关阅读:
    【无标题】
    Transformer学习
    STCH8高级PWM定时器输入捕获功能脉宽测量
    Axure基础详解二十二:随机点名效果
    Unity之MVC思想(通过普通方法和使用MVC思想完成同一个小案例:掌握MVC简单框架)
    Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记
    JEE.XML配置文件
    spring之基于p命名c命名空间的注入
    SpringBoot整合redis做缓存案例
    阵列信号处理——研究背景与现状
  • 原文地址:https://blog.csdn.net/Petersburg/article/details/127812292