zoukankan      html  css  js  c++  java
  • EM算法

    一般地,用(Y)表示观测随机变量的数据,(Z)表示隐随机变量的数据,(Y)(Z)连在一起称为完全数据,观测数据(Y)又称为不完全数据。假设给定观测数据(Y),其概率分布是(P(Y| heta)),其中( heta)是需要估计的模型参数。那么不完全数据(Y)的似然函数是(P(Y| heta)),完全数据的联合概率分布是(P(Y,Z| heta))

    算法流程

    EM算法通过迭代求(L( heta)=log P(Y| heta))的极大似然估计。每次迭代包含两步:E步,求期望;M步,求极大化:

    • 输入:观测变量数据(Y),隐变量数据(Z),联合分布(P(Y,Z| heta)),条件分布(P(Z|Y, heta))

    • 输出:模型参数( heta)

      1. 选择参数的初始值( heta^{(0)}),开始迭代

      2. E步:记( heta^{(i)})为第(i)次迭代参数( heta)的估计值,在第(i+1)次迭代的E步,计算(Q)函数

      [egin{aligned} Q( heta, heta^{(i)}) &=E_Z[log P(Y,Z| heta)|Y, heta^{(i)}] \ & =sum_Z log P(Y,Z| heta) P(Z|Y, heta^{(i)}) end{aligned}]

      这里,(P(Z|Y, heta^{(i)}))是在给定观测数据(Y)和当前的参数估计下隐变量数据(Z)的条件概率分布

      1. M步:求使(Q( heta, heta^{(i)}))极大化的( heta),确定第(i+1)次迭代的参数估计值( heta^{(i+1)})

      [ heta^{(i+1)}=mathop{argmax}limits_{ heta} Q( heta, heta^{(i)}) ]

      1. 重复第2和第3步,直到收敛
    • 参数的初始值可以任意选择,但需注意EM算法对初始值是敏感的

    • 终止迭代条件,一般是对较小的正数(epsilon_1,epsilon_2),若满足

      [|| heta^{(i+1)}- heta^{(i)}||<epsilon_1 qquad ||Q( heta^{(i+1)}, heta^{(i)})-Q( heta^{(i)}, heta^{(i)})||<epsilon_2 ]

      则停止迭代

  • 相关阅读:
    web服务器,应用程序服务器,http服务器的区别
    tomcat、weblogic、jboss的区别,容器的作用
    linux系统编辑神器 -vim用法大全
    web弹出对话框
    c#获取打印机列表
    cookie
    lodop打印多页
    lodop判断是否打印成功
    一般处理程序
    让图片在div中居中
  • 原文地址:https://www.cnblogs.com/weilonghu/p/11922346.html
Copyright © 2011-2022 走看看