UTF8gbsn
In the previous blog, we illustrated the definition of HMM and in this
blog we will list two important aspects of HMM.
The generation of observation sequence
Based on the definition of HMM, the generation of the observation
sequence
O
=
{
o
1
,
o
2
,
⋯
,
o
T
}
O=\{o_1,o_2,\cdots, o_T\}
O={o1,o2,⋯,oT} is illustrated below:
-
Input: HMM λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π), and the length T T T of observation
sequence. -
output: Observation sequence O = { o 1 , o 2 , ⋯ , o T } O=\{o_1,o_2,\cdots, o_T\} O={o1,o2,⋯,oT}
Algorithm:
-
The first state i 1 i_1 i1 is generated by the initial state distribution
π \pi π. -
Let t = 1 t=1 t=1
-
Based on the observation distribution b i t ( k ) b_{i_t}(k) bit(k) and i t i_t it, we can
get o t o_t ot of state i t i_t it. -
Next, we can get our next state i t + 1 i_{t+1} it+1 from the transition
probability distribution { a i t , i t + 1 } \{a_{i_t,i_{t+1}}\} {ait,it+1}. -
Let t = t + 1 t=t+1 t=t+1, if t < T t<T t<T, go back go step 3. if not, stop.
Three basic problems of HMM
-
After we defined the HMM λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π) and generated the
observation sequence O = ( o 1 , o 2 , ⋯ , o T ) O=(o_1,o_2,\cdots, o_T) O=(o1,o2,⋯,oT). There will be a
problem of computing the conditional probability P ( O ∣ λ ) P(O|\lambda) P(O∣λ). -
Learning problem. Based on the current observation sequence
O = { o 1 , o 2 , ⋯ , o T } O=\{o_1,o_2,\cdots, o_T\} O={o1,o2,⋯,oT} how to estimate λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π) that
maximizes the probability of P ( O ∣ λ ) P(O|\lambda) P(O∣λ). -
Prediction. Based on the known HMM λ = ( A , B , π ) \lambda=(A,B,\pi) λ=(A,B,π) and the
observation sequence O = ( o 1 , o 2 , ⋯ , o T ) O=(o_1,o_2,\cdots, o_T) O=(o1,o2,⋯,oT), how to get the most
likely state sequence I = ( i 1 , i 2 , ⋯ , i T ) I=(i_1,i_2,\cdots, i_T) I=(i1,i2,⋯,iT).