参考来源:

  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. JAVA 日期操作

    1.用java.util.Calender来实现 Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); Sys ...

  2. Newnode's NOI(P?)模拟赛 第三题 (主席树优化建图 + tarjan)

    题目/题解戳这里 这道题题目保证a,b,ca,b,ca,b,c各是一个排列-mdzz考场上想到正解但是没看到是排列,相等的情况想了半天-然后写了暴力60分走人- 由于两两间关系一定,那么就是一个竞赛图 ...

  3. The Cost of JavaScript --------引用

    tl;dr: 想要保持页面的快速运行,你需要仅加载当前页面所需的 JavaScript 代码.优先考虑用户所需,之后运用代码分离懒加载其他内容. Is it happening - 在这个时期,你可以 ...

  4. 在jquery中,使用ajax上传文件和文本

    function onSubmit (data) { //获取文本 var callingContent = $('#callingContent').val() // 获取文件 var files ...

  5. PC监听鼠标和键盘事件,定时无响应退出

    直接上代码: window.onload = function () { initScreenSaver(); } //0912 add function ScreenSaver(settings){ ...

  6. 移动端rem使用及理解

    先上代码 window.onload = function(){ getRem(720,100) }; window.onresize = function(){ getRem(720,100) }; ...

  7. Https Get Post

    #region Http 访问 public string GetHttpUrl(string Url) { try { HttpWebRequest request = (HttpWebReques ...

  8. NOI2013 二叉查找树

    题目链接:戳我 对于一个排序二叉树来讲,它的中序遍历对应的序列是可以确定的. 我们知道如果求一个访问频率最低的(也就是没有修改),直接就区间DP即可.\(dp[i][j]=min(dp[i][j],d ...

  9. 1.Linux常用命令大全

    系统信息 arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) h ...

  10. Linux-配置共享目录

    找到相关rpm包 运行以及错误解决** rpm -ivh tcp_wrappers-7.6-34.i386.rpm rpm -ivh portmap-4.0-54.i386.rpm rpm -ivh ...