文章目录
引言
HMM算法的知识体系如下:
可以总结为两个基本假设,两个集合(序列),三个参数,三个基本问题。
一、隐马尔可夫模型的定义
隐马尔科夫模型是关于时序的概率模型,描述由一个隐藏的马尔科夫链随机生成不
可观测的随机状态序列,再由各个状态生成一个观测从而产生观测随机序列的过程。隐藏的马尔科夫链随机生成的状态序列,称为状态序列(state sequence);每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observationsequence)。序列的每一个位置又可以看做是一个时刻。
1. 两个集合(序列)
设Q是所有可能的状态的集合,V是所有可能的观测集合;状态集合、观测集合定义如下:
Q = { q 1 , q 2 , . . . , q N } Q=\{q_1,q_2,...,q_N\} Q={
q1,q2,...,qN}
V = { v 1 , v 2 , . . . , v N } V=\{v_1,v_2,...,v_N\} V={
v1,v2,...,vN}
设I是长度为T的状态序列,O是长度为T的观测序列:
I = ( i 1 , i 2 , . . . , i T ) I=(i_1,i_2,...,i_T) I=(i1,i2,...,iT)
O = ( o 1 , o 2 , . . . , o T ) O=(o_1,o_2,...,o_T) O=(o1,o2,...,oT)
2. 两个基本假设
- 齐次马尔科夫性假设
假设隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其他时刻的状态及观测无关,也与时刻t无关
P ( i t ∣ i t − 1 , o t − 1 , . . . , i 1 , o 1 ) = P ( i t ∣ i t − 1 ) , t = 1 , 2 , . . . , T P(i_t|i_{t-1},o_{t-1},...,i_1,o_1) = P(i_t|i_{t-1}),\\t=1,2,...,T P(it∣it−1,ot−1,...,i1,o1)=P(it∣it−1),t=1,2,...,T - 观测独立性假设
假设任意时刻的观测只依赖于该时刻的马尔科夫链的状态,与其他观测及状态无关
P ( o t ∣ i T , o T , i T − 1 , o T − 1 , . . . , i t + 1 , o t + 1 , i t , i t − 1 , o t − 1 , i 1 , o 1 ) = P ( o t ∣ i t ) P(o_t|i_T,o_T,i_{T-1},o_{T-1},...,i_{t+1},o_{t+1},i_t,i_{t-1},o_{t-1},i_1,o_1)=P(o_t|i_t) P(ot∣iT,oT,iT−1,oT−1,...,it+1,ot+1,it,it−1,ot−1,i1,o1)=P(ot∣it)
3. 三个参数
隐马尔科夫模型由初始状态概率向量 π π π、状态转移概率矩阵 A A A以及观测概率矩阵 B B B决定。 π π π和 A A A决定状态序列, B B B决定观测序列。因此,隐马尔可夫模型 λ \lambda λ可以用三元符号
λ = ( A , B , π ) \lambda=(A,B,π) λ=(A,B,π)表示。
- A A A是状态转移概率矩阵
A = [ a i j ] N × N A=[a_{ij}]_{N×N} A=[aij]N×N
其中,
a i j = P ( i t + 1 = q j ∣ i t = q i ) i = 1 , 2 , . . . , N j = 1 , 2 , . . . , N a_{ij}=P(i_{t+1}=q_j|i_t=q_i)\\i=1,2,...,N\\j=1,2,...,N aij=P(it+1=qj∣it=qi)i=1,2,...,Nj=1,2,...,N
a i j a_{ij} aij是在时刻 t t t处于状态 q i q_i qi的条件下在时刻 t + 1 t+1 t+1转移到状态 q j q_j qj的概率。
- B B B是观测概率矩阵
B = [ b j ( k ) ] N × M B=[b_j(k)]_{N×M} B=[bj(k)]N×M