参考来源:

  1. 《机器学习》——周志华
  2. https://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html

几个概念

  • 极大似然估计

A事件发生了,A与某因素θ有关,我们“理所当然”认为θ的取值应该使A发生的概率最大,即θ的极大似然估计为θ=arg maxθ P(A|θ)

  • Jensen不等式

对于下凸函数f和变量X,有不等式:E[f(X)]>=f(E[X])

上式易从函数的几何形状推出。

EM算法

EM算法即Expectation-Maximization,期望最大化算法。

基本想法为:若参数θ已知,则可根据训练集推断最优隐变量Z(E步);若Z已知,则可对θ做极大似然估计,调整θ。

假设有变量X及隐变量Z,参数为θ,则对θ做极大似然估计:

由于Z为隐变量,无法直接求解上式,此时可对Z计算期望,来最大化X的对数边际似然:

EM算法以初始θ为起点,通过以下操作迭代至收敛。

EM算法原型

  1. 基于θt推断隐变量Z的期望Zt
  2. 基于变量X和Zt对参数θ做极大似然估计,得到θt+1

若不取Z的期望,而是根据θ计算Z的概率分布P(Z|X,θ),则:

  • 以当前参数θt推断Z的分布,并计算对数似然LL(θ|X,Z)关于Z的期望
  • 寻找参数最大化期望似然,即

下面,我们基于概率分布进行具体推导:

θ的对数似然为:

我们变形一下,并应用上面的不等式:

上式推导过程为:

不等式取等号当且仅当变量为常数c,即

则Q(z)为:

此即E步更新。

固定Q(z),更新参数,即M步为:

由于

去掉常数项,参数的更新即为:

至此,推导结束。E和M步迭代进行,至似然不再变化或变化小于阈值停止。

EM算法的几何解释

E步相当于使下界函数抬高至不等式取等号处,M步相当于调整参数使下界函数取得极大值,此时更新参数应该会改变下界函数,然后继续执行E、M步。

另外,EM算法只保证收敛到局部最优(对于凸函数,只有一个极值,当然就是全局最优)。

EM算法分析的更多相关文章

  1. 机器视觉编程作业02(00)EM算法

    任务:对图像进行边缘检测 思路: )将图像的灰度数值进行0-255的维度统计: )EM算法分析出几个核心显示区块的灰度: )使用通用的边界检测算法(具体哪一种待定). 编辑于2017.12.24 15 ...

  2. CSS中强悍的相对单位之em(em-and-elastic-layouts)学习小记

    使用相对单位em注意点 1.浏览器默认字体是16px,即1em = 16px,根元素设置如下 html{ font-size: 100%; /* WinIE text resize correctio ...

  3. 由css reset想到的深入理解margin及em的含义

    由css reset想到的深入理解margin及em的含义 原文地址:http://www.ymblog.net/content_189.html 经常看到这样语句,*{ margin:0px;pad ...

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

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 极大似然 极大似然(Maxim ...

  5. px和em,rem的区别

    1.px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽.比例有可能会不同.假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个d ...

  6. 学习笔记——EM算法

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

  7. em与px换算关系以及常用列表

    1.任意浏览器的默认字体大小都是16px.2.所有未经调整的浏览器都符合: 1em=16px 12px=0.75em 10px=0.625em3.为了简化font-size的换算,在body选择器中声 ...

  8. CSS3中的px,em,rem,vh,vw辨析

    1.px:像素,精确显示 2.em:继承父类字体的大小,相当于"倍",如:浏览器默认字体大小为16px=1em,始终按照div继承来的字体大小显示,进场用于移动端 em换算工具:h ...

  9. rem、px、em之间的区别以及网页响应式设计写法

    个人收藏用,转载自:http://www.w3cplus.com/css3/define-font-size-with-css3-rem 在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激 ...

随机推荐

  1. 报表开发工具!DevExpress Reporting v19.1:WPF/Web平台报表

    行业领先的.NET界面控件DevExpress Reporting全新发布了v19.1版本,本文主要为大家介绍WPF.Web平台中DevExpress Reporting发布的一些新功能及增强部分功能 ...

  2. 纯前端导出Excel表格

    <html> <head> <p style="font-size: 20px;color: red;">使用a标签方式将json导出csv文件 ...

  3. BBS-media配置

    media配置: 在上传头像的时候会用到media,首先需要在setting中加下面这一句话 MEDIA_ROOT=os.path.join(BASE_DIR,"blog",&qu ...

  4. 对Webpack 应用的研究-----------------引用

    对大多数 Web 应用来说,页面性能直接影响着流量.这是一个经常为我们所忽视的事实.用户长时间的等待流失的不仅仅是跳出率.转化率,还有对产品的耐心和信赖.很多时候我们没有意识到性能问题,那是因为平常开 ...

  5. codeforces340C

    Tourist Problem CodeForces - 340C Iahub is a big fan of tourists. He wants to become a tourist himse ...

  6. 微信小程序_(组件)可拖动movable-view

    微信小程序movable-view组件官方文档 传送门 Learn 一.moveable-view组件 一.movable-view组件 direction:movable-view的移动方向,属性值 ...

  7. Java_GUI小游戏--贪吃蛇

    贪吃蛇游戏:是一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或 ...

  8. hadoop-httpfs

    Hadoop-httpfs: client向httpfs提交文件操作,由httpfs和集群交互: 优势:client不必访问集群 WebHDFS API: https://archive.cloude ...

  9. 分布式锁与实现--基于ZooKeeper实现

    引言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...

  10. Linux停止被占用的端口

    查找被占用的端口:netstat -lnp|grep 80 查看80端口被那些服务占用. kill掉该进程 kill -9 5574 然后在去查看一下80被占用的情况netstat -lnp|grep ...