机器学习笔记(十六)——EM算法概述

一、引言

    按照计划,这周应该学习HMM中的第三个基本问题:参数估计问题,但是其中的内容涉及到了EM算法,所以打算先把EM算法搞定之后再去继续HMM的问题。EM算法的推导过程比较复杂,这节我只给出简述和计算公式,待推导完成后再贴上推导过程。

二、一个实例

例1 (三硬币模型) 假设有3枚硬币,分别记为 A,B,C 。这些硬币正面出现的概率分别是 π,p,q 。进行如下掷硬币试验:先掷硬币A,根据其结果选出B或者C,正面选B,反面选C;然后掷选出的硬币,掷硬币的结果,正面记为1,反面记为0;独立重复n次试验(这里,n=10),观测结果如下: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

上式中,随机变量 y 是观测变量,z是隐变量且不可观测, θ=(π,p,q) 是模型参数。这一模型是以上数据的生成模型。将观测数据表示为 Y=(Y1,Y2,,Yn)T , 未观测数据表示为 Z=(Z1,Z2,,Zn)T ,则观测数据的似然函数为:
P(Y;θ)=zP(Z;θ)P(Y|Z;θ)=j=1n[πpyj(1p)1yj+(1π)qyj(1q)1yj]

三、EM算法的迭代公式

    考虑求模型参数 θ=(π,p,q) 的极大似然估计,即:

θ^=argmaxθlogP(Y;θ)

这个问题没有解析解,只有通过迭代方法求解,EM算法就是求解这个问题的一种算法。下面先给出去针对上述问题的EM算法,推导过程下节给出。
1. 选取初始参数 θ(0)=(π(0),p(0),q(0))
2. E步:计算模型参数 π(i),p(i),q(i) 下观测数据 yj 来自掷硬币B的概率:
μ(i+1)=π(i)(p(i))yj(1p(i))1yjπ(i)(p(i))yj(1p(i))1yj+(1π(i))(q(i))yj(1q(i))1yj

3. M步:计算模型参数的新估计值:
π(i+1)=1nj=1nμ(i+1)jp(i+1)=nj=1μ(i+1)jyjnj=1μ(i+1)jq(i+1)=nj=1(1μ(i+1)j)yjnj=1(1μ(i+1)j)

4. 给出停止迭代的条件, 一般是较小的正数 ε , 满足:
||θ(i+1)θ(i)||<ε

重复上式2-4步,完成求解,需要注意的是EM算法对初始值的选取是相当敏感的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值