随机过程中各个状态 S t S_t St的概率分布,只与它的前一个状态 S t − 1 S_{t-1} St−1有关,即
P ( S t ∣ S 1 , S 2 , S 3 , … , S t − 1 ) = P ( S t ∣ S t − 1 ) P(S_t|S_1,S_2,S_3,…,S_{t-1}) = P(S_t|S_{t-1}) P(St∣S1,S2,S3,…,St−1)=P(St∣St−1)
对于一些实际情况中的概率关系(比如天气预报)显然是不够合理的,但至少给出了一个相对准确的近似解
上图中圆圈表示状态,圆圈间的箭头表示状态的转化,箭头的权值 P ( x i + 1 , t ∣ x i , j ) P(x_{i+1,t}|x_{i,j}) P(xi+1,t∣xi,j)代表由状态 x i , j x_{i,j} xi,j向状态 x i + 1 , t {x_{i+1,t}} xi+1,t转移的概率,此处 x i , j x_{i,j} xi,j均取自同一个状态集合,之间互相转化。
在马尔科夫链的基础上引入隐马尔科夫链,任一时刻t的状态 S t S_t St是不可见的。观察者没法通过观察到状态序列 S 1 , S 2 , S 3 , … , S T S_1,S_2,S_3,…,S_T S1,S2,S3,…,ST来进行推测。但是隐含马尔可夫模型在每个时刻t会输出一个符号 O t O_t Ot,而且 O t O_t Ot和 S t S_t St仅和 S t S_t St相关。
其中 P ( S 2 ∣ S 1 ) P(S_2|S_1) P(S2∣S1)代表由 S 1 S_1 S1转化为 S 2 S_2 S2的概率, P ( O 1 ∣ S 1 ) P(O_1|S_1) P(O1∣S1)代表在状态 S 1 S_1 S1时,输出 O 1 O_1 O1的概率
HMM模型的五元组 ( S , O , Π , A , B ) (S,O,\Pi,A,B) (S,O,Π,A,B)
状态值集合 S = { S 1 , S 2 , . . . , S n } S=\{S_1,S_2,...,S_n\} S={S1,S2,...,Sn}
观察值集合 O = { O 1 , O 2 , . . . , O m } O=\{O_1,O_2,...,O_m\} O={O1,O2,...,Om}
初始状态序列 Π = { P 1 , P 2 , . . . , P n } \Pi=\{P_1,P_2,...,P_n\} Π={P1,P2,...,Pn},此处初始化概率 P i P_i Pi是指 P ( S i ∣ 初 始 状 态 ) P(S_i|初始状态) P(Si∣初始状态)
转移概率序列 A = { A i , j ∣ i , j ∈ { 1 , 2 , . . . , n } } A=\{A_{i,j}|i,j\in \{1,2,...,n\}\} A={Ai,j∣i,j∈{1,2,...,n}},此处转移概率 A i , j A_{i,j} Ai,j是指由状态 S i S_i Si向 S j S_j Sj转移的概率
发射概率序列 B = { B i , j ∣ i ∈ { 1 , 2 , . . . , n } , j ∈ { 1 , 2 , . . . , m } } B=\{B_{i,j}|i\in \{1,2,...,n\},j\in \{1,2,...,m\}\} B={Bi,j∣i∈{1,2,...,n},j∈{1,2,...,m}},此处转移概率 A i , j A_{i,j} Ai,j是指由状态 S i S_i Si输出 O j O_j Oj转移的概率
为方便对HMM五元组的理解,举个例子:
医生通过病人对自身身体感受的描述(正常,头晕,冷)来判断病人的病情(健康,低烧,高烧)
其中隐含的病情状态值集合为{健康,低烧,高烧}
可观察的身体感受观察值集合为{正常,头晕,冷}
医生根据以往病例,预判病人的病情,即初始状态序列
健康 | 低烧 | 高烧 |
---|---|---|
0.7 | 0.2 | 0.1 |
医生根据以往病例,得出的病人在两天之间病情转换概率,即转移概率序列
前\后 | 健康 | 低烧 | 高烧 |
---|---|---|---|
健康 | 0.8 | 0.15 | 0.05 |
低烧 | 0.4 | 0.3 | 0.3 |
高烧 | 0.2 | 0.5 | 0.3 |
根据以往病例,医生得出的病人在相应病情下的身体感受概率,即发射概率序列
病情\感受 | 正常 | 头晕 | 冷 |
---|---|---|---|
健康 | 0.8 | 0.1 | 0.1 |
低烧 | 0.2 | 0.4 | 0.4 |
高烧 | 0.1 | 0.3 | 0.6 |
维特比(viterbi)算法与中文词性标注(二)—— 维特比算法
维特比(viterbi)算法与中文词性标注(三)——词性标注实现
参考文献
[1]一文搞懂HMM(隐马尔可夫模型)
[2]HMM模型和Viterbi算法
[3]简单理解viterbi算法