持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情
在这篇文章需要做哪些准备
- 隐马尔可夫模型
- 隐马尔可夫性质
- 条件独立
- 联合概率乘法
- 边缘概率
后向概率
有了前向概率基础,可能后向概率对于我们理解应该不难。首先先把后向概率表示写出来如下,也就是后向概率是给定当前时刻隐含状态确定为某一个状态的条件下,随后到从 t+1 时刻到 T 时刻观测值组成的观测序列的概率。
在上图中,用浅蓝色区域为 βt(i) 表示,只不过这里 i 表示在 t 时刻状态是确定为 qi 状态的条件下出现序列 ot+1,⋯,oT 的概率。
βt(i)=P(ot+1,ot+2,⋯,oT∣it=qt,λ)
是从 t 时刻一路向前推,也就是从后向前推可以得到 β1 来计算,这个基本思路预
βt(i)→βt−1→⋯→β1
上面的式子就是在 t 时刻,状态为 qi 的后向概率表达式,也就是找到可以将问题子问题化的公式这一步比较重要。
基本思想
基本思想也是 DP(动态规划)问题,既然是 DP 问题,那么重要是找到递归式以及退出递归的条件,接下来我们就从这两个方面入手,首先来看到退出递归的条件也就是从
βT→⋯→βt+1→βt→⋯→β1
可以通过后一个时刻 t+1 来计算 t 时刻的后向概率,这样一路回溯到 t1 时刻,也就是从 tT 时刻到 t1 时刻后向概率来计算出 P(O∣λ)
β1(i)=P(o2,⋯,oT∣i1=qi,λ)
上面公式是根据后向概率,来得出 β1(i) 也就是在给定了 i1=qi (表示在 1 时刻状态为 qi)条件出现 o2,⋯,oT 观测值组成观测序列的概率。
β1(i)=P(o2,⋯,oT∣i1=qi,λ)
然后我们需要根据在 t1 时刻的 β1(i) 来计算 P(O∣λ)
P(O∣λ)=P(o1,⋯,oT∣λ)
接下来我们需要在上面公式上通过利用边缘概率引入 i1=qi,
i=1∑NP(o1,⋯,oT,i1=qi,λ)
然后就是可以利用联合概率的乘法公式
i=1∑NP(o1,⋯,oT∣i1=qi)P(i1=qi)
这里 P(i1=qi)=πi 所以上面式子进过带换可以得到下面式子
P(O∣λ)=i=1∑NP(o1,⋯,oT∣i1=qi)πi
继续对于 o1,⋯,oT 应用联合概率的乘法公式表示为 P(o1∣o2,⋯,oT,i1=qi)P(o2,⋯,oT∣i1=qi)
i=1∑NP(o1∣o2,⋯,oT,i1=qi)P(o2,⋯,oT∣i1=qi)πi
- P(o1∣o2,⋯,oT,i1=qi) 可以利用观测独立假设,可以得到 P(o1∣i1=qi)
- 观测 P(o2,⋯,oT∣i1=qi) 不难看出这就是在 t1 时刻的后向概率,所以可以替换为 β1(i)
P(O∣λ)=i=1∑NP(o1∣i1=qi)β1(i)πi
i=1∑Nbi(o1)β1(i)πi
好了到这里我们就完成
递推公式
接下来我们就需要在 t 时刻和 t+1 时刻之间建立关系,βt(i) 和 βt+1(j) 之间
βt(i)=P(ot+1,⋯,oT∣it=qi)
然后还是之前套路,将 t+1 时刻状态引入进来 it+1=qj 如下
βt(i)=j=1∑NP(ot+1,⋯,oT,it+1=qj∣it=qi)
接下来利用联合概率乘法公式,将 P(ot+1,⋯,oT,it+1=qj∣it=qi) 进一步分解为 P(ot+1,⋯,oT∣it+1=qj,it=qi)P(it+1=qj∣it=qi)
βt(i)=j=1∑NP(ot+1,⋯,oT∣it+1=qj,it=qi)P(it+1=qj∣it=qi)
先列出 t 时刻后向概率时刻,在上面公式中 P(it+1=qj∣it=qi) 不就是 aij
aij=P(it+1=qj∣it=qi)
我们 P(it+1=qj∣it=qi)
P(ot+1,⋯,oT∣it+1=qj,it=qi)=P(ot+1,⋯,oT∣it+1=qj)
这一步我们可以通过条件独立假设来解释一下,因为 it+1=qj 观测到条件下,ot+1,⋯,oT 只与 it+1=qj 相关,所以可以 P(ot+1,⋯,oT∣it+1=qj,it=qi)=P(ot+1,⋯,oT∣it+1=qj)
aij=i=1∑NP(ot+1,⋯,oT∣it+1=qj)P(ot+2⋯,oT∣it+1=qj)aij
这样一路推到,我们就在 βt(i) 和 βt+1(j) 之间建立了关系。
βt(i)=i=1∑Nbj(ot+1)aijβt+1(j)