隐马尔可夫模型的计算
标签: 模式分类
@author lancelot-vim
约定一些新的术语,并且将重新整理记号系统。通常把隐马尔可夫模型图称为有限状态机(finite state machine, FSM),如果网络内部得转移都和概率相关,那么这样得网络叫做马尔可夫网络。这种网络是严格符合因果关系的,因为下一时刻状态的概率,之和上一时刻状态有关,如果只要选择好相应得合适得初始状态,每个特定得状态发生得概率都非0,那么这个马尔可夫模型就被成为”各态历经”的。最终状态或者吸收状态(final state or absorbing state)只系统一旦进入这个状态,就无法里还的情况(比如 a00=1 ,则系统永远处于初始状态)
前文提到,用 aij 来表示隐状态之间得转移概率,用 bjk 表示发出可见状态得概率:
- aij=P(wj(t+1)|wi(t))
- bjk=P(vk(t)|wj(t))
我们要求在每一时刻都必须准备好转移到下一时刻,同时要发出一个可见的符号,这样有归一化条件:
∑jaij=1∑kbjk=1
定义了这些术语后,使得我们可以关注下列3个隐马尔可夫模型得核心问题:
- 估值问题:假设我们有一个HMM,其转移概率 aij 和 bjk 已知,计算这个模型某一特定观测序列 VT 得概率
- 解码问题:假设我们已有一个HMM,和一个观测序列,决定最有可能产生这个观测序列得隐形状态序列 wT
- 学习问题:假设我们知道一个HMM的大致结构(隐形状态参数数量、可见参数数量)如何从观测中得到 aij和bjk
估值问题
一个模型产生可见序列 VT 得概率为: P(VT)=∑r=1rmaxP(VT|wTr)P(wTr)
其中的r是每个特定长T的隐状态序列得下标: wTr={
w(1),w(2), ... ,w(T)} , 在c个不同隐状态下的情况下,为了计算这个特定可见状态序列 VT 得概率,我们必须考虑每一种可能得隐状态序列,计算它们各自产生可见状态序列 VT 的概率,然后进行相加,所以序列概率就是对应得转移概率 aij 和产生可见符号概率 bjk 的乘积。
由于这里处理的是一阶马尔可夫过程,所以公式可以写为: P(wTr)=∏t=1TP(w(t)|w(t−1)) ,也就是序列中的转移概率依次相乘,在上式中, w(T)=w0 为最终的吸收概率,其产生的唯一得独特可见符号为 v0 ,在语音识别中, w0 往往代表一个空状态,或者没有发声音的状态,符号 v0 就表示静音
由于已经假设可见符号的概率只依赖于这个时刻所处得隐状态,因此, P(VT|wTr)=∏t=1TP((v(t)|w