EM算法分析
参考来源:
几个概念
极大似然估计
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算法原型:
- 基于θt推断隐变量Z的期望Zt
- 基于变量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算法分析的更多相关文章
- 机器视觉编程作业02(00)EM算法
任务:对图像进行边缘检测 思路: )将图像的灰度数值进行0-255的维度统计: )EM算法分析出几个核心显示区块的灰度: )使用通用的边界检测算法(具体哪一种待定). 编辑于2017.12.24 15 ...
- CSS中强悍的相对单位之em(em-and-elastic-layouts)学习小记
使用相对单位em注意点 1.浏览器默认字体是16px,即1em = 16px,根元素设置如下 html{ font-size: 100%; /* WinIE text resize correctio ...
- 由css reset想到的深入理解margin及em的含义
由css reset想到的深入理解margin及em的含义 原文地址:http://www.ymblog.net/content_189.html 经常看到这样语句,*{ margin:0px;pad ...
- 【十大经典数据挖掘算法】EM
[十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 1. 极大似然 极大似然(Maxim ...
- px和em,rem的区别
1.px是你屏幕设备物理上能显示出的最小的一个点,这个点不是固定宽度的,不同设备上点的长宽.比例有可能会不同.假设:你现在用的显示器上1px宽=1毫米,但我用的显示器1px宽=两毫米,那么你定义一个d ...
- 学习笔记——EM算法
EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步组成:E步,求期望(expectation):M步,求 ...
- em与px换算关系以及常用列表
1.任意浏览器的默认字体大小都是16px.2.所有未经调整的浏览器都符合: 1em=16px 12px=0.75em 10px=0.625em3.为了简化font-size的换算,在body选择器中声 ...
- CSS3中的px,em,rem,vh,vw辨析
1.px:像素,精确显示 2.em:继承父类字体的大小,相当于"倍",如:浏览器默认字体大小为16px=1em,始终按照div继承来的字体大小显示,进场用于移动端 em换算工具:h ...
- rem、px、em之间的区别以及网页响应式设计写法
个人收藏用,转载自:http://www.w3cplus.com/css3/define-font-size-with-css3-rem 在Web中使用什么单位来定义页面的字体大小,至今天为止都还在激 ...
随机推荐
- cnblogs设置各级标题样式和目录
向博客园申请js权限 我们需要进入博客园自定义博客模板的页面,向博客园管理团队申请页面运行js的权限. [博客园]->[设置]->[博客设置],点击页面上的js权限申请,然后填写申请的理由 ...
- 四 java web考点
一.GET和POST区别(参考Servlet&JSP学习笔记) <form>中method属性默认为GET. 1.使用POST的情况 GET跟随URL之后,请求参数长度有限,过长的 ...
- Git 基本操作及命令
认证部分 1.配置用户信息 git config --global user.name [username] git config --global user.email [email] 2.查询用户 ...
- [Python之路] 多种方式实现并发Web Server
下面我们使用Python来实现并发的Web Server,其中采用了多进程.多线程.协程.单进程单线程非阻塞的方式. 一.使用子进程来实现并发Web Server 参照 https://www.cnb ...
- mysql清表时有外键关联处理办法
可以忽视关联的情况下: 先取消主外键关系验证:SET FOREIGN_KEY_CHECKS = 0; 然后删除需要删除的数据:truncate table table_name; 最后恢复:SET F ...
- Js模块化开发--seajs和gruntJs
1.Seajs库 解决开发中的冲突依赖等问题,提供代码可维护性. SeaJS 是由玉伯开发的一个遵循 CommonJS 规范的模块加载框架,可用来轻松愉悦地加载任意 JavaScript 模块和css ...
- Cortex-M3 入门指南(三):时钟总线与复位时钟控制器
[reset clock control 复位和时钟控制器] 时钟信号对于处理器非常重要,比如我们熟悉的 CPU 就是由时钟信号驱动的,而主频就是内核的的时钟信号频率.Cortex-M3 有着复杂的 ...
- From 7.15 To 7.21
From 7.15 To 7.21 大纲 竞赛 一周七天, 总共做三十五到四十道题吧, 题解要一起写了, 周六之前写不完的话就只能回家补咯 加上考试题总共做了25道题... 还要学计算几何, 生成函数 ...
- Leetcode题目21.合并两个有序链表(简单)
题目描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4输出:1->1-& ...
- 阿里云maven镜像
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...