【自然语言处理】隐马尔可夫模型【Ⅰ】马尔可夫模型

有任何的书写错误、排版错误、概念错误等,希望大家包含指正。

由于字数限制,分成六篇博客。
【自然语言处理】隐马尔可夫模型【Ⅰ】马尔可夫模型
【自然语言处理】隐马尔科夫模型【Ⅱ】隐马尔科夫模型概述
【自然语言处理隐马尔科夫模型【Ⅲ】估计问题
【自然语言处理】隐马尔科夫模型【Ⅳ】学习问题
【自然语言处理】隐马尔科夫模型【Ⅴ】解码问题
【自然语言处理】隐马尔科夫模型【Ⅵ】精度问题

1. 马尔可夫模型

在介绍隐马尔可夫模型之前,先来介绍马尔可夫模型。

我们知道,随机过程又称随机函数,是随时间而随机变化的过程。马尔可夫模型(Markov model)描述了一类重要的随机过程。我们常常需要考察一个随机变量序列,这些随机变量并不是相互独立的,每个随机变量的值依赖于这个序列前面的状态。如果一个系统有 N N N 个有限状态 Q = { q 1 , q 2 , … , q N } Q=\{q_1,q_2,\dots,q_N\} Q={q1,q2,,qN},那么随着时间的推移,该系统将从某一状态转移到另一状态。 S = { s 1 , s 2 , … , s T } S=\{s_1,s_2,\dots,s_T\} S={s1,s2,,sT} 为一个随机变量序列,随机变量的取值为状态集 Q Q Q 中的某个状态,假定在时刻 t t t 的状态记为 s t s_t st。对该系统的描述通常需要给出当前时刻 t t t 的状态和其前面所有时刻状态的关系:系统在时刻 t t t 的状态 q j q_j qj 的概率取决于其在时刻 1 , 2 , … , t − 1 1,2,\dots,t-1 1,2,,t1 的状态,该概率为
P ( s t = q j ∣ s t − 1 = q i , s t − 2 = q k , …   ) P(s_t = q_j\mid s_{t-1} = q_i,s_{t-2}=q_k,\dots) P(st=qjst1=qi,st2=qk,)
如果在特定条件下,系统在时刻 t t t 的状态只与其在时刻 t − 1 t-1 t1 的状态相关,即
P ( s t = q j ∣ s t − 1 = q i , s t − 2 = q k , …   ) = P ( s t = q j ∣ s t − 1 = q i ) P(s_t = q_j\mid s_{t-1} = q_i,s_{t-2}=q_k,\dots)=P(s_t = q_j\mid s_{t-1} = q_i) P(st=qjst1=qi,st2=qk,)=P(st=qjst1=qi)
则该系统构成一个离散的一阶马尔可夫链(Markov chain)。进一步,如果只考虑上式独立于时刻 t t t 的随机过程:
P ( s t = q j ∣ s t − 1 = q i ) = a i j ,      1 ≤ i , j ≤ N P(s_t = q_j\mid s_{t-1} = q_i)=a_{ij},\space\space\space\space 1\le i,j\le N P(st=qjst1=qi)=aij,    1i,jN
该随机过程为马尔可夫模型。其中,状态转移概率 a i j a_{ij} aij 必须满足以下条件:
a i j ≥ 0 ∑ j = 1 N a i j = 1 a_{ij}\ge 0 \\ \sum_{j=1}^N a_{ij}=1 aij0j=1Naij=1
显然,有 N N N 个状态的一阶马尔可夫过程有 N 2 N^2 N2 次状态转移,其 N 2 N^2 N2 个状态转移概率可以表示成一个状态转移矩阵。例如,一段文字中名词、动词、形容词三类词性出现的情况可由三个状态的马尔可夫模型描述:

状态 q 1 q_1 q1 表示名词,状态 q 2 q_2 q2 表示动词,状态 q 3 q_3 q3 表示形容词。假设状态之间的转移矩阵如下:
A = [ a i j ] =    q 1    q 2    q 3 q 1 q 2 q 3 [ 0.3 0.5 0.2 0.5 0.3 0.2 0.4 0.2 0.4 ] A = [a_{ij}]=\space\space \begin{matrix} \begin{matrix} & q_1&\space\space q_2\space\space & q_3 \end{matrix} \\ \begin{matrix} q_1\\q_2\\q_3 \end{matrix} \left[\begin{matrix} 0.3 & 0.5 & 0.2 \\ 0.5 & 0.3 & 0.2 \\ 0.4 & 0.2 & 0.4 \\ \end{matrix} \right] \end{matrix} A=[aij]=  q1  q2  q3q1q2q30.30.50.40.50.30.20.20.20.4
如果在该段文字中某一句子的第一个词为名词,那么根据这一模型 M M M,在该句子中这三类词的出现顺序为 O = O= O=“名动形名” 的概率为
P ( O ∣ M ) = P ( q 1 , q 2 , q 3 , q 1 ∣ M ) = P ( q 1 ) ⋅ P ( q 2 ∣ q 1 ) ⋅ P ( q 3 ∣ q 2 ) ⋅ P ( q 1 ∣ q 3 ) = 1 × a 12 × a 23 × a 31 = 0.5 × 0.2 × 0.4 = 0.04 \begin{aligned} P(O\mid M) &= P(q_1,q_2,q_3,q_1\mid M)\\ &=P(q_1)·P(q_2\mid q_1)·P(q_3\mid q_2) ·P(q_1\mid q_3) \\ &= 1\times a_{12} \times a_{23} \times a_{31} \\ &= 0.5\times 0.2\times 0.4\\ &= 0.04 \end{aligned} P(OM)=P(q1,q2,q3,q1M)=P(q1)P(q2q1)P(q3q2)P(q1q3)=1×a12×a23×a31=0.5×0.2×0.4=0.04
另外, m m m 阶马尔可夫假设为当前时刻状态仅依赖于其前 m m m 个时刻的状态,满足 m m m 阶马尔可夫假设的模型为 m m m 阶马尔可夫模型。

你可能感兴趣的:(【机器学习】,【自然语言处理】,人工智能,算法,概率论)