EM算法的直观描述
解决含有隐变量的问题有三种方法,其中第三种方法就是通常所说的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算法的直观描述的更多相关文章
- EM算法直观认识
Expectation Maximization, 字面翻译为, "最大期望". 我个人其实一直都不太理解EM算法, 从我个人的渊源来看, 之前数理统计里面的参数估计, 也是没有太 ...
- EM 算法(一)-原理
讲到 EM 算法就不得不提极大似然估计,我之前讲过,请参考我的博客 下面我用一张图解释极大似然估计和 EM 算法的区别 EM 算法引例1-抛3枚硬币 还是上图中抛硬币的例子,假设最后结果正面记为1,反 ...
- 机器学习——EM算法
1 数学基础 在实际中,最小化的函数有几个极值,所以最优化算法得出的极值不确实是否为全局的极值,对于一些特殊的函数,凸函数与凹函数,任何局部极值也是全局极致,因此如果目标函数是凸的或凹的,那么优化算法 ...
- EM算法原理总结
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的变分推断等等.本文就对 ...
- 从极大似然函数到EM算法
最近看斯坦福大学的机器学习课程,空下来总结一下参数估计相关的算法知识. 一.极大似然估计: 大学概率论课程都有讲到参数估计的两种基本方法:极大似然估计.矩估计.两种方法都是利用样本信息尽量准确的去描述 ...
- EM算法(Expectation Maximization Algorithm)
EM算法(Expectation Maximization Algorithm) 1. 前言 这是本人写的第一篇博客(2013年4月5日发在cnblogs上,现在迁移过来),是学习李航老师的< ...
- EM算法[转]
最大期望算法:EM算法. 在统计计算中,最大期望算法(EM)是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐藏变量. 最大期望算法经过两个步骤交替进行计算: 第 ...
- EM算法(expectation maximization)
EM算法简述 EM算法是一种迭代算法,主要用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步完成: E步,求期望 M步,求极大. EM算法的引入 如果概率模型的变 ...
- 机器学习(二十七)— EM算法
1.EM算法要解决的问题 如果使用基于最大似然估计的模型,模型中存在隐变量,就要用EM算法做参数估计. EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜 ...
随机推荐
- 芝麻HTTP:redis-py的安装
对于Redis来说,我们要使用redis-py库来与其交互,这里就来介绍一下它的安装方法. 1. 相关链接 GitHub:https://github.com/andymccurdy/redis-py ...
- Django学习-14-分页功能实例
首先创建一个制作page的工具类 utils --page_make.py ...
- java io 节点流和处理流
JAVA IO操作总结:节点流和处理流 JAVA IO操作总结--节点流和处理流 按照流是否直接与特定的地方(如磁盘.内存.设备等)相连,分为节点流和处理流两类. 节点流:可以从或向一个特定的地方( ...
- 如何解决 touchstart 事件与 click 事件的冲突
一 · 业务场景的描述 在对已完成的PC站点进行移动端适配时,我们想要站点在移动设备上有更快的响应速度,以带给用户更好的体验,此时,我们应该使用移动设备专用的事件系统,例如,使用 touchstart ...
- 【BZOJ1855】股票交易(动态规划,单调队列)
[BZOJ1855]股票交易(动态规划,单调队列) 题面 BZOJ 题解 很显然,状态之和天数以及当天剩余的股票数有关 设\(f[i][j]\)表示第\(i\)天进行了交易,剩余股票数为\(j\)的最 ...
- 【BZOJ4071】八邻旁之桥(线段树)
[BZOJ4071]八邻旁之桥(线段树) 题面 BZOJ权限题,洛谷链接 题解 既然\(k<=2\) 那么,突破口就在这里 分类讨论 ①\(k=1\) 这...不就是中位数吗.... 直接把所有 ...
- 【HAOI2009】毛毛虫
题面 题目描述 对于一棵树,我们可以将某条链和与该链相连的边抽出来,看上去就象成一个毛毛虫,点数越多,毛毛虫就越大.例如下图左边的树(图 1 )抽出一部分就变成了右边的一个毛毛虫了(图 2 ). 输入 ...
- Get the Job You Want(大学英语综合教程4课文)
UNIT3-1 Harvey Mackay, who runs his own company, often interviews applicants for jobs. Here he lets ...
- UWP:记录一下这几天踩到的坑
最近在玩微软的Desktop Bridge项目,遇到了如下几个坑: 1.文档中给的是js项目魔改的方法,其实C#项目也可以魔改加入UWP部分的,区别在于: 不用在项目文件里写<AppxGener ...
- Nancy启用跨站攻击防护(CSRF)
什么是CSRF(跨站攻击) 可能很多人已经对CSRF有所了解,就简单的介绍下: CSRF全程是 Cross-Site Request Forgery .大概意思就是在登录用户不知情的情况下,由一个网站 ...