最后,我们研究第三个问题,参数估计问题。也即是给定一个观察序列O=O1O2O3...OTO=O_{1}O_{2}O_{3}...O_{T}O=O1O2O3...OT,如何根据最大似然估计来求模型的参数值?即如何调节模型μ=(S,K,A,B,π)\mu =\left ( S,K,A,B,\pi \right )μ=(S,K,A,B,π)的参数,使得P(O∣μ)P\left ( O|\mu \right )P(O∣μ)最大?
最大似然估计
模型的参数是指构成μ\muμ的πi,aij,bj(k)\pi_{i},a_{ij},b_{j}(k)πi,aij,bj(k)。最大似然估计方法可以作为HMM参数估计的一种选择。如果产生观察序列O的状态序列Q=q1q2...qTQ=q_{1}q_{2}...q_{T}Q=q1q2...qT已知,根据最大似然估计,HMM的参数可以通过如下公式计算:
πiˉ=δ(q1,si)\bar{\pi _{i}}=\delta (q_{1},s_{i})πiˉ=δ(q1,si)
aijˉ=Q中从状态qi转移到qj的次数Q中所有从状态qi转移到另一状态(包括qj本身)的次数=∑t=1T−1δ(qt,si)×δ(qt+1,sj)∑t=1T−1δ(qt,si)\bar{a_{ij}}=\frac{Q中从状态q_{i}转移到q_{j}的次数}{Q中所有从状态q_{i}转移到另一状态(包括q_{j}本身)的次数}\\=\frac{\sum_{t=1}^{T-1}\delta (q_{t},s_{i})\times \delta (q_{t+1},s_{j})}{\sum_{t=1}^{T-1}\delta (q_{t},s_{i})}aijˉ=Q中所有从状态qi转移到另一状态(包括qj本身)的次数Q中从状态qi转移到qj的次数=∑t=1T−1δ(qt,si)∑t=1T−1δ(qt,si)×δ(qt+1,sj)
bj(k)ˉ=Q中从状态qj输出到符号νk的次数Q中到达qj次数=∑t=1Tδ(qt,sj)×δ(Ot,νk)∑t=1Tδ(qt,sj)\bar{b_{j}(k)}=\frac{Q中从状态q_{j}输出到符号\nu _{k}的次数}{Q中到达q_{j}次数}\\=\frac{\sum_{t=1}^{T}\delta (q_{t},s_{j})\times \delta (O_{t},\nu _{k})}{\sum_{t=1}^{T}\delta (q_{t},s_{j})}bj(k)ˉ=Q中到达qj次数Q中从状态qj输出到符号νk的次数=∑t=1Tδ(qt