EM算法

1.背景知识

(1)期望

离散型

  X1,X2,X3,……,Xn为这离散型随机变量,p(X1),p(X2),p(X3),……p(Xn)为这几个数据的概率函数。在随机出现的几个数据中p(X1),p(X2),p(X3),……p(Xn)概率函数就理解为数据X1,X2,X3,……,Xn出现的频率f(Xi).则:

  设Y是随机变量X的函数:Y=g(X)(g(X)是连续函数)它的分布律为绝对收敛,则有:

连续型

  设连续性随机变量X的概率密度函数为f(x),若积分绝对收敛,则称积分的值为随机变量的数学期望,记为E(X)。

  若随机变量Y符合函数Y=g(x),且绝对收敛,则有:

(2)Jensen不等式

  最优化理论中的一些概念。设f是定义域为实数的函数,如果对于所有的实数x,,那么f是凸函数。当x是向量时,如果其hessian矩阵H是半正定的(),那么f是凸函数。如果或者,那么称f是严格凸函数。

  Jensen不等式表述如下:

  如果f是凸函数,X是随机变量,那么。特别地,如果f是严格凸函数,那么。当且仅当,也就是说X是常量。

  如图所示,我们用f(E(X))简写成f(EX)。实线f是凸函数,X是随机变量,有0.5的概率是a,有0.5的概率是b。(就像掷硬币一样)。X的期望值就是a和b的中值了,图中可以看到成立。

  当f是(严格)凹函数当且仅当-f是(严格)凸函数。

  Jensen不等式应用于凹函数时,不等号方向反向,也就是

2.初识EM

  EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代有两步组成:E步,求期望。M步,求极大。所以这一算法称为期望极大算法(expectation maximization),简称EM算法。

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

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

  EM算法:


3.示例(三硬币模型)

  假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率分别是π,p,q。进行如下掷硬币试验:先掷硬币A,根据其结果选出硬币B或硬币C,正面选硬币B,反面选硬币C;然后掷选出的硬币,掷硬币的结果,出现正面记作1,出现反面记作0;独立重复n次试验(这里,n=10),观测结果如下:
                1,1,0,1,0,0,1,0,1,1
  假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数。

  三硬币模型可以写作:

  这里随机变量y是观测变量,表示一次试验观测的结果是1或0;随机变量z是隐变量,表示未观测到的掷硬币A的结果; = (π,p,q)是模型参数。这一模型是以上数据的生成模型。注意,随机变量y的数据可以观测,随机变量z的数据不可观测。

  考虑求模型参数的极大似然估计,即

  这个问题没有解析解,只有通过迭代的方法求解。EM算法就是可以用于求解这个问题的一种迭代算法,下面给出针对以上问题的EM算法,其推导过程省略。

  EM算法首先选取参数的初值,记作,然后通过下面步骤迭代计算计算参数的估计值,直到收敛为止。第i次迭代参数的估计值为.EM算法的第i+1次迭代如下:

  E步:计算在模型参数下观测数据来自掷硬币B的概率

  M步:计算模型参数的新估计值

4.推导证明

  为什么EM算法能近似实现对观测数据的极大似然估计呢?

  注意到这一极大化的主要困难是上式中有未观测数据并有包含和(或积分)的对数。

  上面用到的Jensen不等式是指:,其中

  下图给出了EM算法的直观解释

5.EM算法在高斯混合模型(GMM)学习中的应用

  在三个硬币模型中,模型参数更新的推导没有详细说明,这里可以借鉴一下




6.小结

  什么时候需要EM算法:

  Q函数定义及迭代计算:

参考文献:
(1)《统计学习方法》

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值