浅谈EM算法的两个理解角度
http://blog.csdn.net/xmu_jupiter/article/details/50936177
最近在写毕业论文,由于EM算法在我的研究方向中经常用到,所以把相关的资料又拿出来看了一下,有了一些新的理解与感悟。在此总结一下。
EM算法即“期望极大算法”。学过机器学习的朋友都知道EM算法分两步:E步求期望,M步求极大。但是期望是求谁的期望,极大是求谁的极大呢?这里面其实有两种解读角度。
“通俗”角度
通俗角度的话,求极大肯定是求似然函数的极大了,而且一般都是对数似然。我们一般解决模型参数求解问题,都是在给定数据的情况下,求解使得似然函数最大的参数的取值。用公式表示就是:
通常的做法是对似然函数求偏导,然后令偏导等于零,参数取得的数值就是近似最优值。但是,有些含有隐变量的模型没办法直接进行似然函数的偏导,但是如果假设已经知道隐变量的值,就可以将似然函数简化进行下一步的求偏导。
因此,我们需要引入一个隐变量,求这个隐变量的期望就成了这种理解角度下E步骤。然后将隐变量的期望代入到经过隐变量改写的对数似然函数中,就可以按照通常的极大似然估计求解参数了。不过需要不断迭代才能达到近似最优。
总结起来,这种角度的EM算法框架如下:
loop
- E-step:求在观测数据的前提下隐变量的期望;
- M-step:求经过隐变量改写的似然函数的极大;
end
这种角度的好处是由一般的极大似然估计自然地引入到EM方法,比较容易理解;但是缺点是一般很难写出引入隐变量的似然函数的改写。实际上,这种改写很多情况下是依据EM算法的另一个理解角度而直接写出来的。
“正式”角度
看过EM算法推导过程的朋友应该都知道,有一个概念叫做“Q函数”;还有EM算法是通过不断求解下界的极大化逼近求解对数似然函数的极大化。那么,这个Q函数是怎么来的呢?EM算法是怎么不断求解下界的极大化呢?
EM算法通过迭代逐步近似极大化L(θ)。假设在第i次迭代后θ的估计值是θ(i)。我们希望新估计值θ能使L(θ)增加,即L(θ)>L(θ(i)),并逐步达到极大值。为此,考虑两者的差:
然后,利用Jensen不等式得到其下界:B(θ,θ(i))。具体怎么得到的可以参考《统计学习方法》。
因此,任何可以使B(θ,θ(i))增大的θ,也可以使L(θ)增大。为了使L(θ)有尽可能的增长,选择θ(i)使B(θ,θ(i))达到极大。在使B(θ,θ(i))达到极大的过程中,省去对θ的极大化而言是常数的项,剩下的部分,我们给它起了一个名字,就叫做:Q函数。
从形式上看,Q函数是完全数据的对数似然函数关于在给定观测数据和当前参数下对未观测数据的条件概率分布的期望。
总结起来,这种角度的EM算法框架如下:
loop
- E-step:求Q函数;
- M-step:求使Q函数极大的当前参数的取值;
end
这里面有几个细节需要说明一下;
细节一:
在使用Jensen不等式的时候,需要假设隐变量服从某种形式的概率分布,才可以将推导过程的一部分看成是期望的表达形式从而应用Jensen不等式。然而这个分布不是随便指定的。我们令Jensen不等式取等号的时候,可以计算出这个分布其实就是:已知观测数据的隐变量的后验概率分布。由于求Q函数需要先求出隐变量的后验概率的期望,因此,这就可以解释为什么EM算法的“通俗”理解角度的E步骤是求隐变量的期望了。
细节二:Q函数与完全数据的对数似然函数的关系
有时候在用EM算法解决某个具体问题的时候,会发现M步骤极大化的居然是完全数据的对数似然函数。这是因为,Q函数虽然是完全数据的对数似然函数的某种期望,但是求这个期望的过程有时其实就是将隐变量的后验概率的期望代入就可以了。因此,本质上我们其实还是在求Q函数的极大。
浅谈EM算法的两个理解角度的更多相关文章
- 浅谈分词算法(5)基于字的分词方法(bi-LSTM)
目录 前言 目录 循环神经网络 基于LSTM的分词 Embedding 数据预处理 模型 如何添加用户词典 前言 很早便规划的浅谈分词算法,总共分为了五个部分,想聊聊自己在各种场景中使用到的分词方法做 ...
- 浅谈分词算法(4)基于字的分词方法(CRF)
目录 前言 目录 条件随机场(conditional random field CRF) 核心点 线性链条件随机场 简化形式 CRF分词 CRF VS HMM 代码实现 训练代码 实验结果 参考文献 ...
- 浅谈分词算法(3)基于字的分词方法(HMM)
目录 前言 目录 隐马尔可夫模型(Hidden Markov Model,HMM) HMM分词 两个假设 Viterbi算法 代码实现 实现效果 完整代码 参考文献 前言 在浅谈分词算法(1)分词中的 ...
- [原创]浅谈在创业公司对PMF的理解
[原创]浅谈在创业公司对PMF的理解 在创业时,大多数人都常谈一个词叫"MVP“,但PMF谈的比较少,PMF在创业公司尤为重要,以下谈谈个人一些看法. 1.什么是PMF? 创业公司:一种是找 ...
- 浅谈分词算法基于字的分词方法(HMM)
前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法.在(1)中,我们也讨论了 ...
- [原创]浅谈在创业公司对MVP的理解
[原创]浅谈在创业公司对MVP的理解 目前自已所处的公司类似一个创业平台,我们内部会不断的去孵化不同方向的产品,产品经理经常谈到的一个词就是MVP,所以有必需要去了解下什么是MVP? 1 什么是MVP ...
- 浅谈KMP算法及其next[]数组
KMP算法是众多优秀的模式串匹配算法中较早诞生的一个,也是相对最为人所知的一个. 算法实现简单,运行效率高,时间复杂度为O(n+m)(n和m分别为目标串和模式串的长度) 当字符串长度和字符集大小的比值 ...
- 浅谈 Johnson 算法
目录 前言 引入 算法概述 算法流程 正确性证明 代码实现 结语 前言 Johnson 和 Floyd 一样是用来解决无负环图上的全源最短路. 在稀疏图上的表现远远超过 Floyd,时间复杂度 \(O ...
- 浅谈Manacher算法与扩展KMP之间的联系
首先,在谈到Manacher算法之前,我们先来看一个小问题:给定一个字符串S,求该字符串的最长回文子串的长度.对于该问题的求解.网上解法颇多.时间复杂度也不尽同样,这里列述几种常见的解法. 解法一 ...
随机推荐
- Windows任务计划的设置
需求:因为要定时跑一些exe的小程序,来定时执行项目内的某段代码.所以需要建一个任务计划 1. 2. 3.
- [分布式系统学习] 6.824 LEC2 RPC和线程 笔记
6.824的课程通常是在课前让你做一些准备.一般来说是先读一篇论文,然后请你提一个问题,再请你回答一个问题.然后上课,然后布置Lab. 第二课的准备-Crawler 第二课的准备不是论文,是让你实现G ...
- window server 2012 II8 假陌生 碰到的问题
1.我们网站是.net 3.5 开发的.还有一个32DLL 2.从windows server 2008 r2 iis 7 迁移过来碰到了3个问题,及解决办法 I. 在唯一密钥属性“fileExten ...
- Ubuntu16.04下编译安装及运行单目ORBSLAM2
官网有源代码和配置教程,地址是 https://github.com/raulmur/ORB_SLAM2 1 安装必要工具 首先,有两个工具是需要提前安装的.即cmake和Git. sudo apt- ...
- Scala学习笔记(2)-类型注意
Scala类型注意事项: 1.Any是绝对的根,所有的其他可实例化类型均有AnyVal和AnyRef派生. 2.所有AnyVal的类型成为值类型(所有数值类型.char.Booble和Unit) 3. ...
- hadoop的两类配置文件及3种启动/关闭方式
hadoop配置文件 默认配置文件:四个模块相对应的jar包中:$HADOOP_HOME/share/hadoop *core-default.xml *hdfs-defa ...
- php安装redis扩展'checking for igbinary includes... configure: error: Cannot find igbinary.h'解决方法
今天准备给yii2安装redis扩展,先安装了redis服务,然后安装redis php官方扩展,在make的时候提示' checking for igbinary includes... confi ...
- Windows Preinstallation Environment
https://en.wikipedia.org/wiki/Windows_Preinstallation_Environment https://zh.wikipedia.org/wiki/Wind ...
- 洛谷P2602 数字计数 [ZJOI2010] 数位dp
正解:数位dp 解题报告: 传送门! 打算在寒假把学长发过题解的题目都做辣然后把不会的知识点都落实辣! ⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄ 然后这道题,开始想到的时候其实想到的是大模拟,就有点像之前考试贪 ...
- Memory consumption of popular Java data types
http://java-performance.info/memory-consumption-of-java-data-types-2/ 如何在Java中分配超过-Xmx限制的内存 http://i ...