转:EM算法总结
https://applenob.github.io/em.html
EM算法总结
在概率模型中,最常用的模型参数估计方法应该就是最大似然法。
EM算法本质上也是最大似然,它是针对模型中存在隐变量的情况的最大似然。
下面通过两个例子引入。
没有隐变量的硬币模型

假设有两个硬币,AA和BB,这两个硬币具体材质未知,即抛硬币的结果是head的概率不一定是50%。
在这个实验中,我们每次拿其中一个硬币,抛10次,统计结果。
实验的目标是统计AA和BB的head朝上的概率,即估计θ̂ Aθ^A和θ̂ Bθ^B。
对每一枚硬币来说,使用极大似然法来估计它的参数:
假设硬币AA正面朝上的次数是nAhnhA,反面朝上的次数是:nAtntA。
似然函数:L(θA)=(θA)nAh(1−θA)nAtL(θA)=(θA)nhA(1−θA)ntA。
对数似然函数:logL(θA)=nAh⋅log(θA)+nAt⋅log(1−θA)logL(θA)=nhA⋅log(θA)+ntA⋅log(1−θA)。
θ̂ A=argmaxθAlogL(θA)θ^A=argmaxθAlogL(θA) 。
对参数求偏导:∂logL(θA)∂θA=nAhθA−nAt1−θA∂logL(θA)∂θA=nhAθA−ntA1−θA。
令上式为00,解得:θ̂ A=nAhnAh+nAtθ^A=nhAnhA+ntA。
即θ̂ A=numberofheadsusingcoinAtotalnumberofflipsusingcoinAθ^A=numberofheadsusingcoinAtotalnumberofflipsusingcoinA。
有隐变量的硬币模型

这个问题是上一个问题的困难版,即给出一系列统计的实验,但不告诉你某组实验采用的是哪枚硬币,即某组实验采用哪枚硬币成了一个隐变量。
这里引入EM算法的思路:
- 1.先随机给出模型参数的估计,以初始化模型参数。
- 2.根据之前模型参数的估计,和观测数据,计算隐变量的分布。
- 3.根据隐变量的分布,求联合分布的对数关于隐变量分布的期望。
- 4.重新估计模型参数,这次最大化的不是似然函数,而是第3步求的期望。
一般教科书会把EM算法分成两步:E步和M步,即求期望和最大化期望。
E步对应上面2,3;M对应4。
EM算法
输入:观测变量数据YY,隐变量数据ZZ,联合分布P(Y,Z|θ)P(Y,Z|θ),条件分布P(Z|Y,θ)P(Z|Y,θ);
输出:模型参数θθ。
- 1.选择参数的初始值θ(0)θ(0),开始迭代;
- 在第i+1i+1次迭代:
- 2.E步:Q(θ,θ(i))=∑zlogP(Y,Z|θ)P(Z|Y,θ(i))Q(θ,θ(i))=∑zlogP(Y,Z|θ)P(Z|Y,θ(i))
- 3.M步:Q(i+1)=argmaxθQ(θ,θ(i))Q(i+1)=argmaxθQ(θ,θ(i))
- 4.重复2,3直至收敛。
转:EM算法总结的更多相关文章
- 学习笔记——EM算法
EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计.EM算法的每次迭代由两步组成:E步,求期望(expectation):M步,求 ...
- K-Means聚类和EM算法复习总结
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 6.适用场合 内容: 1.算法概述 k-means算法是一种得到最广泛使用的聚类算法. 它是将各个聚类子集内 ...
- EM算法总结
EM算法总结 - The EM Algorithm EM是我一直想深入学习的算法之一,第一次听说是在NLP课中的HMM那一节,为了解决HMM的参数估计问题,使用了EM算法.在之后的MT中的词对齐中也用 ...
- GMM的EM算法实现
转自:http://blog.csdn.net/abcjennifer/article/details/8198352 在聚类算法K-Means, K-Medoids, GMM, Spectral c ...
- EM算法(4):EM算法证明
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(4):EM算法证明 1. 概述 上一篇博客我们已经讲过 ...
- EM算法(3):EM算法运用
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(3):EM算法运用 1. 内容 EM算法全称为 Exp ...
- EM算法(2):GMM训练算法
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(2):GMM训练算法 1. 简介 GMM模型全称为Ga ...
- EM算法(1):K-means 算法
目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(1) : K-means算法 1. 简介 K-mean ...
- [MCSM]随机搜索和EM算法
1. 概述 本节将介绍两类问题的不同解决方案.其一是通过随机的搜索算法对某一函数的取值进行比较,求取最大/最小值的过程:其二则和积分类似,是使得某一函数被最优化,这一部分内容的代表算法是EM算法.(书 ...
- EM算法
EM算法的推导
随机推荐
- 【BZOJ-4016】最短路径树问题 Dijkstra + 点分治
4016: [FJOI2014]最短路径树问题 Time Limit: 5 Sec Memory Limit: 512 MBSubmit: 1092 Solved: 383[Submit][Sta ...
- Android Native层异步消息处理框架
*本文系作者工作学习总结,尚有不完善及理解不恰当之处,欢迎批评指正* 一.前言 在NuPlayer中,可以发现许多类似于下面的代码: //============================== ...
- hdu 5783 Divide the Sequence 贪心
Divide the Sequence 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5783 Description Alice has a seq ...
- Gym 100646 Problem C: LCR 模拟题
Problem C: LCR 题目连接: http://codeforces.com/gym/100646/attachments Description LCR is a simple game f ...
- dp和px,那些不得不吐槽的故事——Android平台图片文字元素单位浅析 (转)
一个优秀的手机软件,不仅要有精巧的功能,流畅的速度,让人赏心悦目的UI也往往是用户选择的重要理由.作为移动产品的PM,也需要了解一些在UI设计中的基本知识. 1. px和pt,一对好伙伴 在视觉设计中 ...
- SVN的管理方式和git的管理方式
SVN是集中式的管理方式.大致流程如下: 1.从服务器上将整个项目代码检出到本地电脑硬盘中(一般来说,是从主分支上下载的代码).2.然后在svn服务器中建立新的开发分支,将硬盘中的代码提交到该开发分支 ...
- Delphi 文件遍历
unit Unit5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 记linux下rm误删bin文件的解决方式
平常有个坏习惯,删文件为了快点,喜欢用rm xx*,删除一些关键词文件.今天为了删/bin下几个含有mix关键词的文件,使用命令rm mix*.手贱,mix和*之间多了个空格...灾难发生了!bin下 ...
- tomcat nginx默许的post大小限制
tomcat nginx默认的post大小限制 执行大文件上传,或者,大数据量提交时,当提交的数据大小超过一定限制时,发现后台从request取值的代码request.getParameter(&qu ...
- JDK(Java SE Development Kit)的安装与环境变量的配置
本文参考于:http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html 感谢作者的贡献~ 首先,进入网址下载JDK:http://ww ...