HMM之EM算法

HMM的EM算法很多地方都可以找到,但是往往缺失一些不那么容易理解的细节。

  1. 前向后向算法中
    P(it=qi,O∣λ)=P(O∣it=qi,λ)∗P(it=qi∣λ)=P(o1,...,ot∣it=qi,λ)∗P(ot+1,...,oT∣it=qi,λ)∗P(it=qi∣λ)=P(o1,...,ot,it=qi,λ)∗P(ot+1,...,oT∣it=qi,λ)=αt(i)∗βt(i)P(i_t=q_i,O|{\lambda}) \\=P(O|i_t=q_i,\lambda)*P(i_t=q_i|\lambda) \\=P(o_1,...,o_t|i_t=q_i,\lambda)*P(o_t+1,...,o_T|i_t=q_i,\lambda)*P(i_t=q_i|\lambda) \\=P(o_1,...,o_t,i_t=q_i,\lambda)*P(o_t+1,...,o_T|i_t=q_i,\lambda) \\=\alpha_t(i)*\beta_t(i)P(it=qi,Oλ)=P(Oit=qi,λ)P(it=qiλ)=P(o1,...,otit=qi,λ)P(ot+1,...,oTit=qi,λ)P(it=qiλ)=P(o1,...,ot,it=qi,λ)P(ot+1,...,oTit=qi,λ)=αt(i)βt(i)

  2. Baum-welch算法
    ∑I(∑t=1T−1logaitit+1)P(O,I∣λ‾)=∑i1...∑it∑it+1...∑iT(∑t=1T−1logaitit+1)P(O,i1,...,it,it+1,...,iT∣λ‾)=∑it∑it+1(∑t=1T−1logaitit+1)P(O,it,it+1∣λ‾)=∑i=1N∑j=1N(∑t=1T−1logaij)P(O,it=i,it+1=j∣λ‾)\sum\limits_{I}(\sum\limits^{T-1}\limits_{t=1}loga_{i_ti_{t+1}})P(O,I|\overline{\lambda}) \\=\sum\limits_{i_1}...\sum\limits_{i_t}\sum\limits_{i_{t+1}}...\sum\limits_{i_T}(\sum\limits^{T-1}\limits_{t=1}loga_{i_ti_{t+1}})P(O,i_1,...,i_t,i_{t+1},...,i_T|\overline{\lambda}) \\=\sum\limits_{i_t}\sum\limits_{i_{t+1}}(\sum\limits^{T-1}\limits_{t=1}loga_{i_ti_{t+1}})P(O,i_t,i_{t+1}|\overline{\lambda}) \\=\sum\limits_{i=1}\limits^{N}\sum_{j=1}\limits^{N}(\sum\limits^{T-1}\limits_{t=1}loga_{ij})P(O,i_t=i,i_{t+1}=j|\overline{\lambda})I(t=1T1logaitit+1)P(O,Iλ)=i1...itit+1...iT(t=1T1logaitit+1)P(O,i1,...,it,it+1,...,iTλ)=itit+1(t=1T1logaitit+1)P(O,it,it+1λ)=i=1Nj=1N(t=1T1logaij)P(O,it=i,it+1=jλ)

  3. bj(k)b_j(k)bj(k)
    L(B)=∑I(∑t=1T−1logbit(ot)P(O,I∣λ‾)=∑j=1N∑t=1Tlogbj(ot)P(O,it=j∣λ‾)L(B)=\sum\limits_{I}(\sum\limits^{T-1}\limits_{t=1}logb_{i_t}(o_t)P(O,I|\overline{\lambda}) \\=\sum\limits^N\limits_{j=1}\sum\limits^T\limits_{t=1}logb_{j}(o_t)P(O,i_t=j|\overline{\lambda})L(B)=I(t=1T1logbit(ot)P(O,Iλ)=j=1Nt=1Tlogbj(ot)P(O,it=jλ)
    L(B)加上拉格朗日项:
    L(B)=∑j=1N∑t=1Tlogbj(ot)P(O,it=j∣λ‾)+φ(∑k=1Mbj(k)−1)L(B)=\sum\limits^N\limits_{j=1}\sum\limits^T\limits_{t=1}logb_{j}(o_t)P(O,i_t=j|\overline{\lambda})+\varphi(\sum\limits_{k=1}\limits^Mb_j(k)-1)L(B)=j=1Nt=1Tlogbj(ot)P(O,it=jλ)+φ(k=1Mbj(k)1)
    ∂L(B)∂bj(k)=0\frac{\partial{L(B)}}{\partial{b_j(k)}}=0bj(k)L(B)=0
    ∂L(B)∂bj(k)=∑t=1TP(O,it=j∣λ‾)I(ot=k)bj(k)+φ=0\frac{\partial{L(B)}}{\partial{b_j(k)}}=\frac{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)}{b_j(k)}+\varphi=0bj(k)L(B)=bj(k)t=1TP(O,it=jλ)I(ot=k)+φ=0
    得:
    bj(k)=−∑t=1TP(O,it=j∣λ‾)I(ot=k)φb_j(k)=-\frac{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)}{\varphi}bj(k)=φt=1TP(O,it=jλ)I(ot=k)
    代入:
    ∑k=1Mbj(k)=1\sum\limits_{k=1}\limits^{M}b_j(k)=1k=1Mbj(k)=1
    −∑k=1M∑t=1TP(O,it=j∣λ‾)I(ot=k)φ=1-\sum\limits_{k=1}\limits^{M}\frac{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)}{\varphi}=1k=1Mφt=1TP(O,it=jλ)I(ot=k)=1

得:
φ=−∑k=1M∑t=1TP(O,it=j∣λ‾)I(ot=k)\varphi=-\sum\limits_{k=1}\limits^{M}\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)φ=k=1Mt=1TP(O,it=jλ)I(ot=k)
bj(k)=−∑t=1TP(O,it=j∣λ‾)I(ot=k)φ=∑t=1TP(O,it=j∣λ‾)I(ot=k)∑k=1M∑t=1TP(O,it=j∣λ‾)I(ot=k)=∑t=1TP(O,it=j∣λ‾)I(ot=k)∑t=1TP(O,it=j∣λ‾)b_j(k)=-\frac{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)}{\varphi} \\=\frac{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)}{\sum\limits_{k=1}\limits^{M}\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)} \\=\frac{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})I(o_t=k)}{\sum\limits^T\limits_{t=1}P(O,i_t=j|\overline{\lambda})}bj(k)=φt=1TP(O,it=jλ)I(ot=k)=k=1Mt=1TP(O,it=jλ)I(ot=k)t=1TP(O,it=jλ)I(ot=k)=t=1TP(O,it=jλ)t=1TP(O,it=jλ)I(ot=k)
注:I(ot=k)I(o_t=k)I(ot=k)加和总为1,可理解为离散概率,因此概率求边缘分布,消掉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值