码迷,mamicode.com
首页 > 编程语言 > 详细

EM算法

时间:2019-11-24 15:39:44      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:表示   变量   ||   lin   psi   联合   代参   The   参数估计   

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

算法流程

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

  • 输入:观测变量数据\(Y\),隐变量数据\(Z\),联合分布\(P(Y,Z|\theta)\),条件分布\(P(Z|Y,\theta)\)
  • 输出:模型参数\(\theta\)

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

    2. E步:记\(\theta^{(i)}\)为第\(i\)次迭代参数\(\theta\)的估计值,在第\(i+1\)次迭代的E步,计算\(Q\)函数
      \[\begin{aligned} Q(\theta,\theta^{(i)}) &=E_Z[\log P(Y,Z|\theta)|Y,\theta^{(i)}] \ & =\sum_Z \log P(Y,Z|\theta) P(Z|Y,\theta^{(i)}) \end{aligned}\]
      这里,\(P(Z|Y,\theta^{(i)})\)是在给定观测数据\(Y\)和当前的参数估计下隐变量数据\(Z\)的条件概率分布

    3. M步:求使\(Q(\theta,\theta^{(i)})\)极大化的\(\theta\),确定第\(i+1\)次迭代的参数估计值\(\theta^{(i+1)}\)
      \[\theta^{(i+1)}=\mathop{\arg\max}\limits_{\theta} Q(\theta,\theta^{(i)})\]

    4. 重复第2和第3步,直到收敛

  • 参数的初始值可以任意选择,但需注意EM算法对初始值是敏感的
  • 终止迭代条件,一般是对较小的正数\(\epsilon_1,\epsilon_2\),若满足
    \[||\theta^{(i+1)}-\theta^{(i)}||<\epsilon_1 \qquad ||Q(\theta^{(i+1)},\theta^{(i)})-Q(\theta^{(i)},\theta^{(i)})||<\epsilon_2\]
    则停止迭代

EM算法

标签:表示   变量   ||   lin   psi   联合   代参   The   参数估计   

原文地址:https://www.cnblogs.com/weilonghu/p/11922346.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!