解决含有隐变量的问题有三种方法,其中第三种方法就是通常所说的em算法。下面以统计学习方法中给出的三硬币问题为例来分别描述这三种方法。(a,b,c三硬币抛出来为正的概率分别为pai,p,q,每轮抛硬币先抛a硬币,a为正则抛b硬币,a为反则抛c硬币。把b硬币或者c硬币的结果(正或反)作为最终结果,即样观测值。)

第一种方法:

现在我们只知道样本的观测值集合,我们可以以每一个样本观测值(例如y1=1)为一个单位单独考察。在这种方法之下,我们并不关注pai的值是多少,即抛出a为正的概率,只关注与该样本观测值相对应的抛的那次a硬币的结果究竟是正还是反,只要知道了它的正反,我们就可以知道本次的观测值究竟是b抛出来的还是c抛出来的。使用的方法也可以算是最大似然估计,就是我分别假设a抛出的是正面或反面,然后分别计算在a是正面和a是反面的时候有多大的可能性会抛出该观测值。如果假定a是正面时出现当前观测值的概率更大,我们就把该次的a认定为正面,反之则认定为反面。使用这种方法可以分别定义每个样本观测值对应的a是正面还是反面。计算出a为正面时对应的观测值中有多少为正有多少为反,例如4正6反,就能根据最大似然估计得出p=0.4作为新的p值,同样的办法也能算出新的q的值。算出新值后即可进行新一轮的迭代。

第二种方法:

也就是统计学习方法p156页用到的方法。该方法第一个方法的相同点就是都是以每一个观测值作为一个单元单独考察,不同就在于首先分别通过假设的方法给出pai、p、q的初值。这样就可以通过贝叶斯公式计算出p(z|y)。(即统计学习方法p156页9.5)也就是说在当前观测值对应的a为正和a为反的概率都能求出来。那么对于每一个观测值,我们就只需要看一下它对应的a为正的概率高还是a为反的概率高,如果a为正的概率高我们就假设本次a抛的结果为正,否则就假设其为反。然后分别使用统计学习方法156页的9.6~9.8三个公式就能计算出新一轮的pai,p,q的值。就可以进行新一轮的迭代。

第三种方法(EM):

先列出整个样本集合的观测值共同出现的概率的计算公式,然后把这个计算公式前面加上log,转化为对数最大似然估计估计函数。

(以上是e步)

然后:

(1)固定p、q,把pai作为未知数对最大似然函数求极值,该极值对应的pai即为新一轮的pai(在第一轮刚好知道知道p,q,不知道pai)。

(2)固定pai,q,以p作为最大似然函数的未知数求极值,得到新一轮的p。

(3)固定pai,p,以q作为最大似然函数的未知数求极值,得到新一轮的q。

(以上是m步)

之后不断重复上面的(1),(2),(3)(m步),直到收敛为止。

注:在我看来,所谓的e步只有第一轮迭代的时候需要列出对数最大似然函数并将p,q的值带入。后面就不需要e步了,如果非要保留e步这个环节,也只能把将新的q带入最大似然函数算作是e步的环节。

附:对数似然函数的推导(见下图)

EM算法的直观描述的更多相关文章

  1. EM算法直观认识

    Expectation Maximization, 字面翻译为, "最大期望". 我个人其实一直都不太理解EM算法, 从我个人的渊源来看, 之前数理统计里面的参数估计, 也是没有太 ...

  2. EM 算法(一)-原理

    讲到 EM 算法就不得不提极大似然估计,我之前讲过,请参考我的博客 下面我用一张图解释极大似然估计和 EM 算法的区别 EM 算法引例1-抛3枚硬币 还是上图中抛硬币的例子,假设最后结果正面记为1,反 ...

  3. 机器学习——EM算法

    1 数学基础 在实际中,最小化的函数有几个极值,所以最优化算法得出的极值不确实是否为全局的极值,对于一些特殊的函数,凸函数与凹函数,任何局部极值也是全局极致,因此如果目标函数是凸的或凹的,那么优化算法 ...

  4. EM算法原理总结

    EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对 ...

  5. 从极大似然函数到EM算法

    最近看斯坦福大学的机器学习课程,空下来总结一下参数估计相关的算法知识. 一.极大似然估计: 大学概率论课程都有讲到参数估计的两种基本方法:极大似然估计.矩估计.两种方法都是利用样本信息尽量准确的去描述 ...

  6. EM算法(Expectation Maximization Algorithm)

    EM算法(Expectation Maximization Algorithm) 1. 前言   这是本人写的第一篇博客(2013年4月5日发在cnblogs上,现在迁移过来),是学习李航老师的< ...

  7. EM算法[转]

    最大期望算法:EM算法. 在统计计算中,最大期望算法(EM)是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量. 最大期望算法经过两个步骤交替进行计算: 第 ...

  8. EM算法(expectation maximization)

    EM算法简述 EM算法是一种迭代算法,主要用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步完成: E步,求期望 M步,求极大. EM算法的引入 如果概率模型的变 ...

  9. 机器学习(二十七)— EM算法

    1.EM算法要解决的问题 如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计. EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜 ...

随机推荐

  1. CodeM资格赛 Round A 最长树链

    按照题解的做法,对于每一个质约数分别进行讨论最长链就行 对于每一个数的质约数可是比logn还要小的 比赛的时候没人写,我也没看 = =,可惜了,不过我当时对于复杂度的把握也不大啊 #include & ...

  2. 非空校验的提示按钮(shiro项目中来的六)

    一:图示 二,js脚本 /** * jquery tips 提示插件 jquery.tips.js v0.1beta * * 使用方法 * $(selector).tips({ //selector ...

  3. 空间主页播放任意FLV格式视频方法

      把文件上传到QQ网络硬盘 打开 硬盘 的 管理 选项 然后它会打开QQ邮箱的文件中转站 找到你要的视频文件 点击下载它 这里建议你使用搜狗浏览器打开网页 来到下载按钮点击下载,在弹出的对话框中选择 ...

  4. 我在微信小程序遇到的坑

    这段时间刚好结束一个小程序,被坑的好惨,所以罗列出来,有用的着的,就抱走吧! 1.关于音频,项目要求能在退出小程序的情况下继续播放,所以我直接用了     wx.getBackgroundAudioM ...

  5. 【国家集训队2010】小Z的袜子(莫队)

    题面 Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把 ...

  6. 小程序 - swiper除了左右切换还有上下滚动超出屏幕的内容

    本来呢,我是有专门整理小程序恶心bug的文章的,每次只要添加汇总就好, 但是呢,鉴于这个问题的恶心程度,所以我把他单独拿出来说了. ---------------------------------- ...

  7. 打造MacOS版“XShell”

    1.背景 XShell作为一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议.作为server端开发,几乎是必备工具了. 很多刚 ...

  8. Spring @AfterReturning 总是返回null

    在学习Spring Aop时,遇到一个问题,当 @Around(环绕通知)与 @AfterReturning(后置通知)共存 时,@AfterReturning 通过属性 returning = &q ...

  9. eclipse的注释

    版权声明:本文为博主原创文章,转载请注明出处. 如果能帮助你,那我的目的就达到了 Window --> Java --> Code Style --> Code Templates ...

  10. Win 及 Linux 查找mac地址的方法

    1. Windows系统中 - 调出cmd命令行 - 运行Getmac命令.命令行中输入: getmac /v /fo list 并按下回车键 - 查找物理地址.这是MAC地址的另一种描述方式.因为在 ...