EM算法

一、背景

   在通常的概率模型的参数估计问题中,给定观测变量的数值,运用极大似然估计即可得到待估计参数的值。但是,当除观测变量外还存在一些隐含变量,单纯通过极大似然估计无法得到解析解。

   而 EM算法 却可以解决含有 隐变量 的参数估计问题,它的主要思想是通过 迭代 的方法来 近似估计 待估参数的最优值。

   符号说明。设观测数据为 \textbf{\textit{X}},待估计参数为 \theta,隐变量为 \textbf{\textit{Z}},关于 \theta 的概率估计模型为 L(\theta ) 。称 \textbf{\textit{X}} 为不完全数据,\textbf{\textit{X}} 连同 \textbf{\textit{Z}} 为完全数据。

 

二、概率模型

    一般的,没有隐变量的情况下,关于 \theta 的概率模型为:

                                              L(\theta )=\log P(\textbf{\textit{X}}|\theta )

    在引入隐变量后的概率模型为:

                                     L(\theta )=\log \sum_\textbf{\textit{Z}} P(\textbf{\textit{X,\textbf{\textit{Z}}}}|\theta )=\log \left ( \sum _\textbf{\textit{Z}}P(\textbf{\textit{X}}|\textbf{\textit{Z}},\theta )P(\textbf{\textit{Z}}|\theta ) \right )

    这本质上是一个全概率公式,不同隐变量的取值构成事件的总体。

 

三、模型最大化

    极大似然估计的问题,归结为最大化上述含有隐变量的概率模型:

                                                \max L(\theta )

    但是,上述极大化中存在隐含变量以及求和的对数,求解非常困难。

    而EM用迭代的方式来最大化概率模型,若当前参数估计值为 \theta _i,我们希望下一轮的估计值 \theta 要满足 L(\theta)>L(\theta _i)
    如何实现? 理论上,EM是通过近似估计来估计概率模型的最大值,方法是通过 Jensen不等式 得到 L(\theta)-L(\theta _i) 的一个下界,即

                                     L(\theta)-L(\theta _i)\geq f(\textbf{\textit{X}},\textbf{\textit{Z}},\theta ,\theta _i)

    等价的,

                                    L(\theta)\geq L(\theta _i)+f(\textbf{\textit{X}},\textbf{\textit{Z}},\theta ,\theta _i)

    因此, L(\theta _i)+f(\textbf{\textit{X}},\textbf{\textit{Z}},\theta ,\theta _i) 就是 L(\theta ) 的下界,并当 \theta =\theta _i 时使得等号成立。因此,只要能够最大化下界,亦能够达到最大化概率模型的目的。因此,下一轮的估计值 \theta _{i+1} 为

                                 \theta _{i+1}=\max _{\theta }(L(\theta _i)+f(\textbf{\textit{X}},\textbf{\textit{Z}},\theta ,\theta _i))

    下界函数曲线在每一轮迭代都是不相同的。优化过程如下图所示,黑色函数表示 L(\theta ),橙色函数表示每轮迭代后的下界函数。

                      

                        

四、下界的解释

    实际上,下界的精确形式为

                                      \sum _{\textbf{\textit{Z}} }P(\textbf{\textit{Z}}|\textbf{\textit{X}},\theta _i)\log P(\textup{\textbf{\textit{X},\textbf{\textit{Z}}}}|\theta )

    我们不关注公式的具体推导过程,而是尝试直观的解释一下下界的含义。上式等价于

                                          E_{\textbf{\textit{Z}}}[\log P(\textbf{\textit{X,Z}}|\theta )|\textbf{\textit{Z}},\theta _i]

     含义:  在当前轮参数 \theta _i 和 \textbf{\textit{Z}} 已知条件下关于完全数据对数似然的条件期望。即完全数据对数似然的加权平均,权重是在观测 \textbf{\textit{X}} 和当前待估参数 \theta _i 的条件下隐变量的取值为 \textbf{\textit{Z}} 的概率。我们希望最大化这个加权平均,以更好的近似概率模型的最大值。如果对条件期望的含义不明确,可以参考 条件数学期望 。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值