博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EM算法总结
阅读量:4585 次
发布时间:2019-06-09

本文共 1280 字,大约阅读时间需要 4 分钟。

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)=nAhlog(θA)+nAtlog(1θA)logL(θA)=nhA⋅log(θA)+ntA⋅log(1−θA)。

θ̂ A=argmaxθAlogL(θA)θ^A=argmaxθAlogL(θA) 。

对参数求偏导:logL(θA)θA=nAhθAnAt1θ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直至收敛。
 

参考资料

转载于:https://www.cnblogs.com/DjangoBlog/p/10402692.html

你可能感兴趣的文章
ecshop那些事
查看>>
Oracle复制表结构及数据
查看>>
javaweb实现添加课程
查看>>
andriod jbox2d学习笔记二 通过移动关节移动body
查看>>
python列表-简单操作
查看>>
NYOJ题目97兄弟郊游问题
查看>>
IIS web.config拒绝访问 未能开始监视对 XX 文件的更改
查看>>
Opengl编程指南第二章:状态管理、几何绘图
查看>>
二分查找——算法系列
查看>>
python中的命名
查看>>
读书印记 - 《大学潜规则:谁能优先进入美国顶尖大学》
查看>>
DFS Codeforces Round #306 (Div. 2) B. Preparing Olympiad
查看>>
K均值聚类
查看>>
[bzoj1568]李超线段树模板题(标志永久化)
查看>>
web基础,用html元素制作web页面
查看>>
[18/11/21] 方法
查看>>
遍历循环
查看>>
iframe跨域解决方案
查看>>
函数名后const
查看>>
jetty加载spring-context容器源码分析
查看>>