EM算法推导可以根据Andrew NG的,他的推导逻辑性非常强,没有考虑概率模型,但是推导完了还是觉得云里雾里。李航老师的是根据概率模型过来,意义比较清晰,但是!!!书上有bug!吐血........还有就是书上的表达有点不适合我们通常的定义法。

感谢大牛为我解疑惑:

http://www.cnblogs.com/Determined22/p/5776791.html

1 EM算法

EM是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法每次迭代由两步组成:(1)E步,求期望(expected)的下线;

(2)M步,求期望极大值。GMM是EM的一种应用。

如果没有隐变量,可直接用极大似然估计(最大熵模型),或极大后验概率(朴素贝叶斯)估计模型参数。

E步:计算期望

是个能求出来的值,表示给定了和观测数据Y求出的。

M步:求使最大的参数,确定第i+1次迭代的参数的估计是

2 EM通俗理解

什么是含有隐变量的概率模型参数?

当输入的数据不是来源于一个概率分布模型的时候,就涉及到含有隐变量的概率模型。比如身高和性别问题,如果告诉你身高X=x=1.65,这个人是男还是女(y)?。因为这个是概率模型,所以如果p(男|X=1.65)>p(女|X=1.65),那这个就是男生可能性大。原来遇到这种问题,就是假设身高服从一定的分布规律,如正态分布,那我建立模型,根据极大似然估计估计出正态分布的均值和方差,然后把x带入求的概率。但这在这个问题中显然不合理,因为男生和女生的身高分布是不一样的,男生的身高是一个正态分布,女生的身高也是一个正态分布,二者的均值和方差肯定有区别。

所以我们不得不判断是来自于男生还是女生,确定来源于哪个模型,才能用极大似然的方法估计。ok,导出公式:

假设模型参数为,Y为观测数据,未观测数据,则观测数据的似然函数:

表示模型参数下的联合概率值P(Y),表示参数下条件概率

3 EM算法导出(基于极大似然估计的)

面对一个含有隐变量的概率模型,目标是极大化观测数据X关于参数的对数似然函数:

3.1 建立L的下界(jensen不等式)

因为EM算法是迭代算法,我们希望每次迭代都能让L增大,即新估计的参数和第i次迭代估计的参数做差值:

这里引入jensen不等式定理,对于凹函数f,,凸函数则相反

log是凸函数,然后根据jensen不等式,我们构造一下f(E(x))。

(这里插一句李航老师的那本书有点问题!!!想了半天总在想为什么是这样?后面才知道他那错了。)

为了构造f(E(x)),我们选择,因为,则:

根据jensen不等式:

又因为,

所以

3.2 最大化下界

的下界。任何可以使增大的,也可以使L增大,为了让L尽可能大,就要让它的下界B尽可能大,即:

排除不含变量θ的表达式,定义Q函数:

这个时候可以用求导的方法来获得让Q最大的θ了。

4 EM的应用--GMM高斯混合模型

高斯混合模型:假设存在K个高斯模型(正态分布)的数据,如男女身高问题则K=2,数据来自第k个模型的概率为,则GMM表示为:

是第k个高斯分布密度,

步骤:

(1)明确隐变量,写出完全数据的对数似然函数:

(2)E步,确定Q函数

(3)M步,最大化Q函数

机器学习——EM和GMM(基于李航老师的推导)相关推荐

  1. 维特比算法(基于李航)

    文章目录 前言 维特比算法 第一步:初始化 第二步:向下递推 第三步:得到最优路径的概率和终点 第四步:逆向得到完整的状态序列 后记 本文完全基于李航老师的<统计学习方法第2版> 前言 先 ...

  2. 机器学习 | EM 算法原理

    文章目录 EM 算法 1. EM 算法的引入 三硬币模型 2. EM 算法 Q 函数 参考文献 相关文章: 机器学习 | 目录 无监督学习 | GMM 高斯混合原理及Sklearn实现 本文大部分内容 ...

  3. 李航老师《统计学习方法》的代码实现、课件、作业等相关资源的最全汇总

    编辑 | Will 出品 | 字节AI 李航:毕业于日本京都大学电气电子工程系,日本东京大学获得计算机科学博士学位.1990年至2001年就职于日本NEC 公司中央研究所,任研究员,2001年至201 ...

  4. 首发:李航老师的《统计学习方法》第二版的代码实现(Github标星过万!)

    李航老师的<统计学习方法>第二版的代码实现更新完毕,本文提供下载.(黄海广) 李航老师编写的<统计学习方法>全面系统地介绍了统计学习的主要方法,特别是监督学习方法,包括感知机. ...

  5. 李航老师新作《机器学习方法》上市了!附购买链接

    李航老师的<统计学习方法>第一版于 2012年出版,讲述了统计机器学习方法,主要是一些常用的监督学习方法.第二版增加了一些常用的无监督学习方法,由此本书涵盖了传统统计机器学习方法的主要内容 ...

  6. 重磅开源!所有的李航老师《统计学习方法》算法代码实现!!!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 超有料的仓库项目资源---<统计学习方法>代码 李航老师的<统计 ...

  7. 注册不到两年半Github标星39k+,吴恩达、李航老师的作品的笔记和代码实现

    2017 年 11 月,我注册了 github,现在差不多两年半了,一共收获了约 39000star,排名个人用户81.今天,我就对我的 github 做下介绍,里面的几个仓库,非常适合机器学习和深度 ...

  8. 李航老师亲自推荐的《统计学习方法》课件下载

    点击我爱计算机视觉标星,更快获取CVML新技术 李航老师写的<统计学习方法>一直是学习机器学习的朋友们的必备图书(虽然不一定读^_^) 甚至不少机器学习培训机构直接以该课程为主制作教程,该 ...

  9. 蚂蚁金服AAAI论文:基于长短期老师的样本蒸馏方法和自动车险定损系统的最新突破...

    来源 | 蚂蚁金服 出品 | AI科技大本营(ID:rgznai100) 一年一度在人工智能方向的顶级会议之一AAAI 2020于2月7日至12日在美国纽约举行,旨在汇集世界各地的人工智能理论和领域应 ...

最新文章

  1. C++实现8皇后问题
  2. python自动化运维平台能用php开发吗_关于数据库自动化运维平台的设计及开发实现思路...
  3. js控制 html.textboxfor,javascript - Html.TextBoxFor regex is not working - Stack Overflow
  4. Java获取泛型T的类型 T.class
  5. 课堂经验值管理小程序_微信小程序怎么管理门店?
  6. Android一个自定义的进度环:ProgressChart
  7. 优衣库KAWS联名款遭哄抢 大打出手场面惨烈 是我不懂时尚了吗?
  8. 5.Docker之镜像的使用
  9. ios 读取各种类型文件
  10. JPA 实体生命周期图
  11. 面试百题066——颠倒栈
  12. App 更换应用图标
  13. axios拦截器_77.9KStar 的 Axios 项目有哪些值得借鉴的地方
  14. python 条件语句且_python 条件语句
  15. 你不知道的JavaScript(上中下)全册
  16. 增强 扫描王 源码_全能扫描王(一款识别率超高的OCR识别APP)
  17. python英语词汇读音_40行Python代码区分英语单词和汉语拼音
  18. iOS 四舍六入五成双算法
  19. MySQL集群:主从模式
  20. 数据挖掘(一)你真的了解什么是数据挖掘和数据本身吗?

热门文章

  1. 图片上添加自定义标记,可点击,可删除,可长按移动
  2. Servlet的使用(2198)
  3. 梅科尔工作室-徐锦航-鸿蒙笔记2
  4. YAML 语法快速入门(一)
  5. Puppet原理及基础配置应用
  6. 深度学习之目标检测(九)--YOLOv3 SPP理论介绍
  7. java写入word文件_使用JAVA写入word文件
  8. Python -- 硬盘容量单位及网络速率单位换算
  9. 运用计算机考试ppt,计算机一级考试的ppt word excel分别用的是哪个版本的??
  10. Linux下软中断过程(详细)源码总结