隐马尔可夫事实上是一个含有隐变量的概率模型
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....aiT−1iTbiT(oT)
- 则Q函数可以写成
- Q(λ,λ¯)=∑IlogP(O,I|λ)p(O,I|λ¯)
- = ∑Ilogπi1p(O,I|λ¯)
- + ∑I⟮∑T−1t=1logaitit+1p(O,I|λ¯)⟯
- + ∑I⟮∑Tt=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πi−1⟯
- 对 πi 求偏导数,且令它为0,得到 P(O,ii=i|λ¯)+γπi=0
- 对 πi 求和,得到 γ=−P(O|λ¯) 得到 πi=P(O,ii=i|λ)P(O|λ¯)
-
∑Ilogπi1p(O,I|λ¯)=∑Ni=1logπip(O,i1=|λ¯)
- 我们队第二项处理
- 同上,最终得到 αij=∑T−1t=1P(O,it=i,it+1=j|λ¯)∑T−1t=1P(O,it=i|λ¯
- 根据上节讲述的前向后向求概率。 αij=∑T−1t=1ζt(i,j)∑T−1t=1γt(i)
- 我们对第三项处理
- bj(k)=∑Tt−1P(O,it=j|λ¯)I(ot=vk)∑Tt−1P(O,it=j|λ¯)=∑Tt=1γt(i)∗I(ot=vk)∑Tt=1γt(i)
4、算法,即初始化参数,ME求参数,迭代直至次数或收敛(EM是可收敛的)
-
-
- -