EM算法及其推广

EM算法是一种迭代算法,1977年由Dempster等人总给提出,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率,E,求期望;M,求极大似然估计,简称EM算法

Dempster:

这里写图片描述

EM算法的引入

EM算法

例子:
(三硬币模型),假设有3枚硬币,分别记作A,B,C。这些硬币正面出现的概率为 π,pq
先掷硬币A,根据其结果选出硬币B或C,正面选硬币B,反面选硬币C;然后掷选出的硬币,正面记作1,反面记作0;独立重复n次试验,结果:
1,1,0,1,0,0,1,0,1,1

假设只能观测到掷硬币的结果,不能观测掷硬币的过程。问如何估计三硬币正面出现的概率,即三硬币模型的参数

三硬币模型可以写作
P(y|θ)=zP(y,z|θ)=zP(z|θ)P(y|z,θ)=πpy(1p)1y+(1π)qy(1q)1y
则,
P(Y|θ)=nj=1[πpyj(1p)1yj+(1π)qyj(1q)1yj]
考虑求模型参数 θ=(π,p,q) 的极大似然估计,即
θ^=argmaxθlogP(Y|θ)


这个问题没有解析解,只有通过迭代方法求解。
EM算法首先选取参数的初值,记作 θ(0)=(π(0),p(0),q(0)) ,然后通过下式迭代计算参数的初值,直至收敛为止,第i次迭代参数的估计值为 θ(i)=(π(i),p(i),q(i)) .EM算法的第i+1次迭代如下


E步:计算在模型参数 π(i),p(i),q(i)yjB
μ(i+1)=π(i)(p(i))yj(1p(i))1yjπ(i)(p(i))yj(1p(i))1yj+(1π(i))(q(i))yj(1q(i)36)1yj

M步:计算模型参数的新估计值
π(i+1)=1nnj=1μ(i+1)j

p(i+1)=nj=1μ(i+1)jyjnj=1μ(i+1)j

q(i+1)=nj=1(1μ(i+1)j)yjnj=1(1μ(i+1)j)



EM算法与初值的选择有关,选择不同的初值可能得到不同的参数估计值
一般地,用Y表示观测随机变量的数据,Z表示隐随机变量的数据。Y和Z连在一起成为完全数据。EM算法通过迭代求 L(θ)=logP(Y|θ) 的极大似然估计

算法:
输入:观测变量数据Y,隐变量数据Z,联合分布 P(Y|θ) ,条件分布 P(Z|Y,θ)
输出:模型参数 θ

1)选择参数的初值 θ(0) ,开始迭代;

2)E步:记 θ(i) 为第i次迭代参数 θ 的估计值,在第i+1次迭代的E步,计算

Q(θ,θ(i))=EZ[logP(Y,Z|θ)|Y,θ(i)]=ZlogP(Y,Z|θ)P(Z|Y,θ(i))

3)M步:求使 Q(θ,θ(i)) 极大化的\theta ,确定第i+1次迭代的参数估计值 θ(i+1)

θ(i+1)=argmaxθQ(θ,θ(i))

4)重复第2和第3步,直至收敛


定义:
(Q函数)完全数据的对数似然函数关于在给定观测数据和当前参数对未观测数据的条件概率分布的期望称为Q函数,即:
Q(θ,θ(i))=EZ[logP(Y,Z|θ)|Y,θ(i)]



关于EM算法的几点说明:

1)参数的初值可以任意选择,但需注意EM算法对初值是敏感的

2)E步求Q函数.Q函数式中Z是未观测,Y是观测。注意, Q(θ,θ(i)) 的第一个变元便是要极大化的参数,第二个便是参数的当前估计值。每次迭代实际在求Q函数及其极大

3)M步求Q函数极大,得到 θ(i+1) ,完成一次迭代(i到i+1),后面将证明每次迭代使似然函数增大或达到局部极值

4)给出停止迭代的条件,一般是对较小的正数 ε1,ε2,
||θ(i+1)θ(i)||<ε1||Q(θ(i+1),θ(i))Q(

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值