美文网首页
统计学习方法9—EM算法

统计学习方法9—EM算法

作者: breezez | 来源:发表于2019-07-09 20:51 被阅读0次

  EM算法是一种迭代算法,是一种用于计算包含隐变量概率模型的最大似然估计方法,或极大后验概率。EM即expectation maximization,期望最大化算法。

1. 极大似然估计

  在概率模型中,若已知事件服从的分布或者其他概率模型的参数,那么我们可以通过计算得到某事件发生的概率。而在估计中,这些变成了方向过程:已知一组数据发生的结果,相当于获得了经验概率,通过这组数据假设模型服从什么分布,再通过经验概率求解模型参数。
  比如统计学校学生身高服从的概率分布,抽样1000人得到他们的身高数据,再假设身高服从正态分布,于是只需要求解u,\sigma即可。剩下的问题就是如何确定这两个参数,极大似然估计的思想就是求解在这两个参数下,得到的这组样本发生的概率最大的情况便是这两个参数最有可能的取值。而抽取每个样本都是独立的,于是可用每个段身高的样本数量/总样本数量作为单个发生的概率p,让每个p最大化就是让其乘积最大化,于是得到最大似然函数
L(\theta) = \prod _xp(x | \theta)  再求解其关于\theta的极大化问题便能得到一个对\theta的估计
\widehat \theta = argmaxL(\theta)

2.EM算法

  上面是模型变量都是可观测的情况,这种情况可以直接根据观测到的样本数据,使用极大似然估计对模型参数进行估计。但若模型中含有隐变量的时候,就不能简单的使用极大似然估计进行计算。EM算法就是针对含有隐变量的概率模型参数的极大似然估计方法。
例子:
  假设三枚硬币,记为A、B、C,它们正面向上的概率分别为n、p、q。实验如下:先抛A,根据A的结果选择B或者C再次抛,将这次正面向上的结果记为1,反面记为0,其中A正面向上则选择B,反面则选择C。经过n次实验后得到n个观测值,根据这n个观测值估计n、p、q的参数值。实验过程中只能观测到最后结果,并不能观察实验过程,也就是A的结果是未知的。该模型可以表示如下
P(y|\theta) = \sum_zP(y,z|\theta) = \sum_zP(z|\theta)P(y|z,\theta)  其中y表示随机变量Y的观测值,表示该次结果是1或0。z代表隐变量,表示模型中未能观测到的A的结果,\theta=(n,p,q)是模型参数。其中Y是不完全数据,Y+Z是完全数据。
  若是没有隐变量Z,那么可直接使用对数极大似然函数估计
\widehat \theta=arg\underset \theta {max}L(\theta)=arg\underset \theta {max}\sum_y logP(y|\theta)  加入隐变量后,对数极大似然函数变为
L(\theta,z)=\sum_ylog\sum_zP(y,z|\theta)  求解
\widehat \theta,z=arg\underset {\theta,z} {max}L(\theta,z)  按照极大似然估计中的方法,似乎应该对\theta,z求导然后令其为0解方程组,然后注意此时的L(\theta,z)函数,log内含有求和运算,若是直接求导计算十分困难,因此退而求其次,既然要极大化L(\theta,z),就先找到一个它的下界,再想办法提高这个下界,同样能达到极大化L的效果。使用Jense不等式对似然函数进行放缩。

  • Jense不等式(琴生不等式)

  凸函数:是定义在实数域上的函数,如果对于任意的实数,都有:
f''\geqslant 0
   则该函数是凸函数。
  当函数是凸函数的时候,Jense不等式的含义是函数的期望大于等于期望的函数(凹函数相反)。图下图所示

jense不等式
  二维情况下可用凸函数定义来解释,当一个函数是凸函数的时候,它满足
  左边其实相当于其变量x先求期望后带入函数,右边是先求函数值再计算函数值的期望,也就是
  再回到中来,目的是为了将对数函数中的和项去掉,便可利用jense不等式的性质,将期望的函数变为函数的期望。先进行放缩
  其中最后一步用到了Jense不等式,因为对数函数是凹函数,所以不等号反了过来,,此处  并且所添加的满足  这是根据第三类Jense不等式的条件设定的,不同系数的加权求和期望只要满足系数之和为1就能使用Jense不等式。
  所以得到结论,的加权平均就是的一个下界。这便是EM算法中E(期望)的来由。
  目前还是未知的,需要根据一些条件来选择一个合适的函数,再次强调最终目的是极大化似然函数,现在我们得到了似然函数的一个下界,一个想法就是让这个下界去更好的逼近似然函数的真实值,下界是根据不等式放缩后得到的,那么当不等式取等号的时候便是最接近原函数的时候。回忆Jense不等式,显然当为常数的时候不等式成立。即
  既然要确定的是,不妨设为常数,由上式得

  将c带入x

  第二步用到边缘概率,第三步条件概率。至此,我们得出了Q(z)的表达式,Q(z)是已知样本观测和模型参数下的隐变量的分布。那么已经完成了E步,对对数似然函数下界的期望的表示
  接下来需要做的便是极大化这个似然函数,也就是M步。这一步中将视为常数,对进行极大化,去掉常数项后

相关文章

  • 统计学习方法9—EM算法

      EM算法是一种迭代算法,是一种用于计算包含隐变量概率模型的最大似然估计方法,或极大后验概率。EM即expect...

  • 面试题目总结

    算法 统计学习方法,每一个算法KNN,朴素贝叶斯,决策树,logistic回归,支持向量机,提升算法,EM算法,隐...

  • EM算法

    EM算法作为数据挖掘领域十大经典算法之一,在统计学习领域也有诸多应用。EM算法(Expectation-maxim...

  • R语言中EM算法估计高斯混合模型参数

    EM算法 leengsmile2016年9月24日 EM 算法 本文档介绍如何在R语言中,通过EM算法,估计高斯混...

  • 李航-第1章统计学习方法概论

    统计学习方法的三要素:模型、策略和算法。即:统计学习方法 = 模型 + 策略 +算法 基本概念 监督学习统计学习包...

  • EM算法-统计学习方法(李航)

    这里是做HMM前期学习的EM算法,这里学习了几篇文章,但是始终只懂了原理无法进行实例计算,这里学习了统计学习方法后...

  • EM 算法

    参考: 从最大似然到EM算法浅解 (EM算法)The EM Algorithm EM算法及其推广学习笔记 EM算法...

  • 统计学习方法——修炼学习笔记9:EM算法及其推广

    EM算法 EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或...

  • EM 算法的 9 重境界之第3重

    之前写过一篇文章EM 算法的 9 重境界之前两重,里面讲述了em算法的过程,本文是对前一篇文章的补充。 em算法中...

  • EM算法

    问题 1. 什么是EM 2. EM算法流程是怎么样的 3. EM算法的优缺点 1. EM算法介绍 EM算法...

网友评论

      本文标题:统计学习方法9—EM算法

      本文链接:https://www.haomeiwen.com/subject/bclfkctx.html