摘自:https://www.zhihu.com/question/27976634

简单说一下为什么要用EM算法

现在一个班里有50个男生,50个女生,且男生站左,女生站右。我们假定男生的身高服从正态分布 ,女生的身高则服从另一个正态分布: 。这时候我们可以用极大似然法(MLE),分别通过这50个男生和50个女生的样本来估计这两个正态分布的参数。

但现在我们让情况复杂一点,就是这50个男生和50个女生混在一起了。我们拥有100个人的身高数据,却不知道这100个人每一个是男生还是女生。

这时候情况就有点尴尬,因为通常来说,我们只有知道了精确的男女身高的正态分布参数我们才能知道每一个人更有可能是男生还是女生。但从另一方面去考量,我们只有知道了每个人是男生还是女生才能尽可能准确地估计男女各自身高的正态分布的参数。

这个时候有人就想到我们必须从某一点开始,并用迭代的办法去解决这个问题:我们先设定男生身高和女生身高分布的几个参数(初始值),然后根据这些参数去判断每一个样本(人)是男生还是女生,之后根据标注后的样本再反过来重新估计参数。之后再多次重复这个过程,直至稳定。这个算法也就是EM算法。

为什么要用EM算法?

一般我们要利用一个最大似然法求(MLE)一个最大似然概率,那么问题来了,对原函数的MLE很可能求不出(函数太复杂,数据缺失等)。因为数据缺失而不能直接使用MLE方法的时候,我们可以用这个缺失数据的期望值来代替缺失的数据,而这个缺失的数据期望值和它的概率分布有关。那么我们可以通过对似然函数关于缺失数据期望的最大化,来逼近原函数的极大值(数学证明复杂),所以EM的两个步骤也是很明显了。

推一篇Nature Biotech的EM tutorial文章,用了一个投硬币的例子来讲EM算法的思想。

Do, C. B., & Batzoglou, S. (2008). What is the expectation maximization algorithm?. Nature biotechnology, 26(8), 897.

现在有两个硬币A和B,要估计的参数是它们各自翻正面(head)的概率。观察的过程是先随机选A或者B,然后扔10次。以上步骤重复5次。

如果知道每次选的是A还是B,那可以直接估计(见下图a)。如果不知道选的是A还是B(隐变量),只观测到5次循环共50次投币的结果,这时就没法直接估计A和B的正面概率。EM算法此时可起作用(见下图b)。

推荐读原文,没有复杂的数学公式,通俗易懂。

摘自:http://blog.csdn.net/zouxy09/article/details/8537620

EM算法另一种理解

坐标上升法(Coordinate ascent):

图中的直线式迭代优化的路径,可以看到每一步都会向最优值前进一步,而且前进路线是平行于坐标轴的,因为每一步只优化一个变量。

这犹如在x-y坐标系中找一个曲线的极值,然而曲线函数不能直接求导,因此什么梯度下降方法就不适用了。但固定一个变量后,另外一个可以通过求导得到,因此可以使用坐标上升法,一次固定一个变量,对另外的求极值,最后逐步逼近极值。对应到EM上,E步:固定θ,优化Q;M步:固定Q,优化θ;交替将极值推向最大。

转载于:https://www.cnblogs.com/bonelee/p/7054986.html

EM算法——有隐含变量时,极大似然用梯度法搞不定只好来猜隐含变量期望值求max值了...相关推荐

  1. 机器学习:详细推导EM算法

    EM算法可以说是一个非常经典的算法,至今仍在广泛地被使用(如强化学习领域等等). 网上介绍该算法的文章也很多,比如如何通俗理解EM算法.[机器学习基础]EM算法.但是我认为这些文章讲的太多,反而显得乱 ...

  2. 灯管实验的em算法_Gamma过程的加速退化试验设计关键技术研究

    Gamma过程的加速退化试验设计关键技术研究 导读:本文在介绍步进应力加速退化试验设计基本理论的基础上,研究基十Gamma过程的步进应力加速退化试验设计相关问题,给出单应力.多应力下步进应力加速退化试 ...

  3. K-means聚类与EM算法

    一,本文关注以下内容: K-means的原理 初始类中心的选择和类别数K的确定 K-means和EM算法.高斯混合模型的关系 二:K-means的原理 K-means(K均值聚类)是一种基于中心的聚类 ...

  4. 聚类之K均值聚类和EM算法

    这篇博客整理K均值聚类的内容,包括: 1.K均值聚类的原理: 2.初始类中心的选择和类别数K的确定: 3.K均值聚类和EM算法.高斯混合模型的关系. 一.K均值聚类的原理 K均值聚类(K-means) ...

  5. 机器学习经典算法---EM算法(一文秒懂极大释然估计和EM算法)

    目录 一.极大似然估计 1.明确极大似然函数的目的 2.通俗体现极大似然估计思想的例子 案例一: 案例二: 小结: 二.由问题引入EM算法 1.掷硬币问题: 2.掷硬币问题-升级版: 3.掷硬币问题- ...

  6. 递推极大似然算法实现

    基本原理来自极大似然算法,准则函数和牛顿拉夫逊算法,并给出了极大似然的递推算法 在该递推算法中,观测数据是逐步补充到观测数据集合中去的,其算法可根据新观测的数据信息不断修正待估计参数.提高参数估计准确 ...

  7. 最大期望算法 (EM算法)

    注:文章出处:https://www.cnblogs.com/yahokuma/p/3794905.html 算法定义 最大期望算法(Exception Maximization Algorithm, ...

  8. EM算法·最大期望算法

    EM算法,称为期望-最大化,它用于求解MLE的一种迭代算法 它的主要思想是把一个难于处理的似然函数最大化问题用一个易于最大化的序列取代,而其极限是原始问题的解 EM算法分为两个步骤:E步求期望,对隐变 ...

  9. 【EM算法】期望最大化算法

    [摘要] EM(Expectation-Maximum)算法也称期望最大化算法,曾入选"数据挖掘十大算法"中,可见EM算法在机器学习.数据挖掘中的影响力.EM算法是最常见的隐变量估 ...

最新文章

  1. 基因组组装的那些困扰,用单倍体基因组一一破解!
  2. Splunk安装和配置及源码编译安装SVN
  3. django博客项目8:文章详情页
  4. 函授报计算机还是工商管理,函授本科行政管理工商管理经济管理分别都有哪......
  5. 设置GNOME或者KDE为默认的启动桌面环境
  6. 【纠错记录】本地FTP服务器无法被外部连接
  7. (计算机组成原理)第二章数据的表示和运算-第一节5:本章习题
  8. django-登陆功能-使用ajax实现
  9. 数组引用--冒泡排序 数组倒置为例
  10. hdu 1011 Starship Troopers (树形背包dp)
  11. SQL CHECKSUM 关键字
  12. 黑盒测试与白盒测试(结合例子详细讲解)
  13. 英雄联盟数据分析专题(二)
  14. 算法与数据结构课后习题第七章
  15. vuetify学习第6天之v-btn-toggle---按钮组
  16. 学习u3d的几个工具和文档
  17. Scrapy爬取IT桔子死亡公司库及资本机构数据
  18. 网络上的计算机无权限访问权限,电脑连不上网,提示无网络访问权限怎么办?...
  19. jiffies:内核中的时间观念
  20. 中标麒麟安装达梦数据库DM8

热门文章

  1. Fiddler常用功能介绍
  2. 符号说明表怎么做_教会你的孩子正确使用标点符号
  3. php如何定义url,使用自定义函数作为URL规则
  4. Java library util_sdejavautil.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  5. docker实战百度云
  6. Java程序员的春天!java引用数据类型和基本数据类型区别
  7. 这些面试题你会吗?Java-类与对象再不了解你就out啦
  8. 机器学习(MACHINE LEARNING)MATLAB模拟退火算法【SA】
  9. 习题2.5 两个有序链表序列的合并 (15 分)
  10. Java魂斗罗1234合集_《魂斗罗》正统续作1234部介绍,别再搞错喽!