HMM训练

本文详细介绍了HMM(隐马尔可夫模型)参数训练的两种方法:有监督学习和无监督学习。对于有监督学习,文章解释了如何通过极大似然估计法来求解模型参数,并给出了具体的公式。对于无监督学习,主要介绍了使用EM算法进行参数估计的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有监督训练

一、HMM参数的训练有2种方法,一种是有监督学习,另一种是无监督学习。其中有监督学习很简单,无监督理解起来稍微困难。已知模型参数 λ=(αNN,βNM,πN)

- 有监督学习直接利用计数的方式来求得模型参数
- 假设已经给出训练数据包含S个长度相同的观测序列和对应的状态序列 (O1,I1),(O2,I2),...,(Os,Is) ,那么可以利用极大似然估计法来估计模型参数!!
- 转移概率的 αNN 估计。 αij=Aij÷Nj=1Aij ,A是个数
- 观测(发射)概率 βNM 的估计。 βj(k)=Bjk÷Mk=1Bjk
- 初始状态概率 πN 的估计。
πi=i

无监督方法EM

隐马尔可夫事实上是一个含有隐变量的概率模型
P(O|λ)=IP(O,I|λ)P(I|λ)
它的训练可以用EM算法(上文已讲)
1、首先确定完全数据的对数似然函数,即 p(O,I|λ)
2、E-step:完全数据的期望,即Q函数 Q(λ,λ¯)

  • Q(λ,λ¯)=IlogP(O,I|λ)p(O,I|λ¯)
  • 其中 logP(O,I|λ)=πi1bi1(o1)ai1i2....aiT1iTbiT(oT)
  • 则Q函数可以写成
    • Q(λ,λ¯)=IlogP(O,I|λ)p(O,I|λ¯)
    • = Ilogπi1p(O,I|λ¯)
    • + IT1t=1logaitit+1p(O,I|λ¯)
    • + ITt=1logbit(ot)p(O,I|λ¯)

3、M-step:极大化Q函数

  • 我们首先对上式等号右边第一项处理:
    • Ilogπi1p(O,I|λ¯)=Ni=1logπip(O,i1=|λ¯)
      • 其中 πi 满足 Ni=1πi=1 ,利用拉格朗日乘子法,写出拉格朗日函数:
      • F(π,λ)=Ni=1logπip(O,i1=|λ¯)+λNi=1πi1
      • πi 求偏导数,且令它为0,得到 P(O,ii=i|λ¯)+γπi=0
      • πi 求和,得到 γ=P(O|λ¯) 得到 πi=P(O,ii=i|λ)P(O|λ¯)
  • 我们队第二项处理
    • 同上,最终得到 αij=T1t=1P(O,it=i,it+1=j|λ¯)T1t=1P(O,it=i|λ¯
    • 根据上节讲述的前向后向求概率。 αij=T1t=1ζt(i,j)T1t=1γt(i)
  • 我们对第三项处理
    • bj(k)=Tt1P(O,it=j|λ¯)I(ot=vk)Tt1P(O,it=j|λ¯)=Tt=1γt(i)I(ot=vk)Tt=1γt(i)

4、算法,即初始化参数,ME求参数,迭代直至次数或收敛(EM是可收敛的)


EM算法简单介绍

  1. EM背景介绍

    1.概率模型有事既含有观测变量,又含有隐变量。比如HMM中的隐状态。 如果概率模型的变量是观测变量,那么给定训练数据,可以直接用最大似然估计或者最大后验估计或者贝叶斯估计来求得参数模拟数据的分布,当然也可以用非参估计(比较复杂)。但是,当模型含有隐变量,就不能简单的用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计方法。

  2. EM过程
    1.EM算法是一种迭代算法。EM算法每次迭代分为2步:E步,求期望;M ,求极值。

  3. EM算法

    1. EM算法的基本思想:随机选取来初始化待估计参数 θ(0)θ(n+1)使L(θn+1)L(θ(n))θ(n)θ(n+1) 使得:

      θ(n+1)=maxθ(L(θ)L(θ(n)))

      我们已知log似然为 L(θ)=log(P(X|θ) ,其中X是已观测的随机变量。现在转向 complete data log-likelihood 的概率。所谓 complete data 就是模型中隐变量也被观测到了。与 L(θ) 不同的是,

      Lc(θ)=logP(X,H|θ)Lc(θ)

      =logP(X,H|θ)=log(P(X|H,θ)P(H|θ))

      =L(θ)+logP(X|H,θ)

    引入上述概念后,则
    L(θ)L(θn)
    =Lc(θ)logP(X|H,θ)L(θn)
    =Lc(θ)logP(X|H,θ)Lc(θn)+logP(X|H,θn)
    =Lc(θ)Lc(θn)+logP(X|H,θn)P(X|H,θ)

    对上式两边同时求 P(H|X,θn) 的期望,得到:
    L(θ)L(θn)
    =HLc(θ)P(H|X,θn)
    HLc(θn)P(H|X,θn)
    +HP(H|X,θn)logP(X|H,θn)P(X|H,θ)

    上面=左边不变的原因是,H没有出现在似然L中。上式右边最后一项可以看做 P(X|H,θn)P(X|H,θ) 的KL-divergence(2个分布的相似度KL-divergence的性质),他的值是非负的。则
    L(θ)L(θn)>=HLc(θ)P(H|X,θn)HLc(θn)P(H|X,θn)
    L(θ)>=HLc(θ)P(H|X,θn)HLc(θn)P(H|X,θn)+L(θn)
    因此我们得到 L(θ) 的一个下界。EM算法就是不断的最大化这个下界,从而使得 L(θ) 不断最大化。上公式最后2项是和 θ 无关的,可以看做常数。因此我们最终任务是最大化:
    EP(H|X,θn)(Lc(θ))=HLc(θ)P(H|X,θn) 。上式就是所谓的Q函数了。记为 Q(θ;θn)
    综上述,EM算法步骤如下
    1、随机选取(极大似然)或者根据先验知识(最大后验估计)来初始化 θ0
    2、迭代执行下面2步E和M
    a)、E-step(期望) 计算 Q(θ;θn)
    b)、M-step(maximization) 重新估计参数 θθ(n+1)使θ(n+1)=argmaxθQ(θ;θn)
    3、直至收敛。
    注意EM不能保证收敛到最优解(凸有最优解),只能局部最优解

    总结:更新 θn 后产生新的Q函数,再求新的Q函数的极大值得到新的 θn+1 ,而目标函数 L(θ) 始终是大于等于Q函数的,迭代N次后 L(θ) 越来越多直至收敛。收敛性证明就不说了!

参考文献:A Note on EM Algorithm and PLSA XinYan Lu




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值