作者简介:
Treant 人工智能爱好者社区专栏作者
博客专栏:https://www.cnblogs.com/en-heng

1.极大似然

极大似然(Maximum Likelihood)估计为用于已知模型的参数估计的统计学方法。比如,我们想了解抛硬币是正面(head)的概率分布

;那么可以通过最大似然估计方法求得。假如我们抛硬币1010次,其中88次正面、22次反面;极大似然估计参数

值:

其中,

为观测变量序列的似然函数(likelihood function of the observation sequence)。对

求偏导:

因为似然函数

不是凹函数(concave),求解极大值困难。一般地,使用与之具有相同单调性的log-likelihood,如图所示

凹函数(concave)与凸函数(convex)的定义如图所示:

从图中可以看出,凹函数“容易”求解极大值,凸函数“容易”求解极小值。

2.EM算法

EM算法(Expectation Maximization)是在含有隐变量(latent variable)的模型下计算最大似然的一种算法。所谓隐变量,是指我们没有办法观测到的变量。比如,有两枚硬币A、B,每一次随机取一枚进行抛掷,我们只能观测到硬币的正面与反面,而不能观测到每一次取的硬币是否为A;则称每一次的选择抛掷硬币为隐变量。

用Y表示观测数据,Z表示隐变量;Y和Z连在一起称为完全数据( complete-data ),观测数据Y又称为不完全数据(incomplete-data)。观测数据的似然函数:

求模型参数的极大似然估计:

因为含有隐变量,此问题无法求解。因此,Dempster等人提出EM算法用于迭代求解近似解。EM算法比较简单,分为两个步骤:

  • E步(E-step),以当前参数

计算

的期望值

  • M步(M-step),求使

极大化的

确定第

次迭代的参数的估计值

如此迭代直至算法收敛。关于算法的推导及收敛性证明,可参看李航的《统计学习方法》及Andrew Ng的《CS229 Lecture notes》

3.实例

[2]中给出极大似然与EM算法的实例。如图所示,有两枚硬币A、B,每一个实验随机取一枚抛掷10次,共5个实验,我们可以观测到每一次所取的硬币,估计参数A、B为正面的概率

,根据极大似然估计求解

如果我们不能观测到每一次所取的硬币,只能用EM算法估计模型参数,算法流程如图所示:

隐变量Z为每次实验中选择A或B的概率,则第一个实验选择A的概率为

按照上面的计算方法可依次求出隐变量

,然后计算极大化的

。经过10次迭代,最终收敛。

4.参考资料

[1] 李航,《统计学习方法》.
[2] Chuong B Do & Serafim Batzoglou, What is the expectation maximization algorithm?
[3] Pieter Abbeel, Maximum Likelihood (ML), Expectation Maximization (EM).
[4] Rudan Chen,【机器学习算法系列之一】EM算法实例分析.

十大经典数据挖掘算法:EM相关推荐

  1. 【十大经典数据挖掘算法】Naïve Bayes

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 朴素贝叶斯(Naïve Bayes) ...

  2. 【十大经典数据挖掘算法】C4.5

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 决策树模型与学习 决策树(de ...

  3. 【十大经典数据挖掘算法】PageRank

    作者简介: Treant 人工智能爱好者社区专栏作者 博客专栏:https://www.cnblogs.com/en-heng 引言 PageRank是Sergey Brin与Larry Page于1 ...

  4. 【十大经典数据挖掘算法】k-means

    [十大经典数据挖掘算法]k-means https://mp.weixin.qq.com/s/SWlE-KBJ4mVza92nJFX1hg 作者简介: Treant  人工智能爱好者社区专栏作者 博客 ...

  5. 十大经典数据挖掘算法:SVM

    作者简介: Treant 人工智能爱好者社区专栏作者 博客专栏:https://www.cnblogs.com/en-heng SVM(Support Vector Machines)是分类算法中应用 ...

  6. 【十大经典数据挖掘算法】EM

    作者简介: Treant 人工智能爱好者社区专栏作者 博客专栏:https://www.cnblogs.com/en-heng 1.极大似然 极大似然(Maximum Likelihood)估计为用于 ...

  7. k均值例子 数据挖掘_【十大经典数据挖掘算法】k-means

    作者简介: Treant 人工智能爱好者社区专栏作者 博客专栏:https://www.cnblogs.com/en-heng 1.引言 k-means与kNN虽然都是以k打头,但却是两类算法--kN ...

  8. 技术08期:十大经典数据挖掘算法【PageRank篇】

    PageRank可以较为直观的理解为是对网页重要性排序的一种算法. Googel 能在全球互联网搜索引擎中处于较高地位,该算法功不可没. 导 读 早期的搜索引擎通过计算用户查询关键词与网页内容的相关程 ...

  9. 十大经典数据挖掘算法之k-means

    kmeans聚类理论篇 前言 kmeans是最简单的聚类算法之一,但是运用十分广泛.最近在工作中也经常遇到这个算法.kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类 ...

最新文章

  1. JavaSE基础之构造器(构造方法)和一般方法
  2. 华硕服务器芯片,全球首款875P芯片组双至强服务器主板华硕PC-DL震撼上市
  3. Markdown中数学公式练习(2)
  4. EclipseLink JPA-RS简介
  5. Spring Cloud 学习 (五) Zuul
  6. 天正电气lisp是什么文件_模仿天正电气低压系统图 - AutoLISP/Visual LISP 编程技术 - CAD论坛 - 明经CAD社区 - Powered by Discuz!...
  7. pdf密码强制解除软件下载 | 专业PDF解密软件 | PDF Decrypter Pro
  8. 计算机职业规划范文300字,我的职业生涯规划,300字
  9. fgo服务器维护检测脚本,fgo脚本工具游戏蜂窝简单实例
  10. Python爬虫入门教程 89-100 定个小目标,先用Python爬个一亿B站用户
  11. 吴恩达机器学习课后作业——偏差和方差
  12. java-对密码进行加密和验证的类
  13. 爬虫:利用python+requests爬取全国肯德基餐厅门店信息,并写入CSV文件中
  14. CentOS 8.1安装MySQL 8.0详解
  15. ATF(Arm Trusted Firmware)/TF-A Chapter 04 Authentication Framework
  16. Hadoop常用命令集合
  17. 抖音商务团队三面java_腾讯抖音iOS岗位三面面经
  18. Python 爬虫实战入门——爬取汽车之家网站促销优惠与经销商信息
  19. 图书速读 | 一分钟读完《如何高效学习》
  20. 北大90后数学天才韦东奕又火上热搜,被曝一晚上解决博士团队4个月难题

热门文章

  1. mysql 1100_mysql数据库选择,有1100个用户,每个用户每月生成一张表,使用中该表内每秒上传一条数据,数据量很大...
  2. oracle转成整型_Oracle中如何用SQL把字符串转换成整型
  3. python opencv图片放大 缩小_Python OpenCV之图片缩放的实现(cv2.resize)
  4. linux网络设置与基础服务命令(ifconfig、hostname、route、netstat、ss、ping、traceroute、nslookup、route)
  5. 单片机产生可调方波(c语言),单片机产生占空比可调方波(PWM)
  6. uniapp对象怎么获取值_第65p,关于:生成器、迭代器与迭代对象(上)
  7. 服务器不重启磁盘修复,重启后数据盘不见了?别担心,只是磁盘脱机
  8. python调用函数示例_python 动态调用函数实例解析
  9. python无参数装饰器_Python装饰器(不带参数)
  10. .bin 文件用excel文件打开_bin文件怎么打开呢?