Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

A.1 马尔可夫链

HMM 建立在对马尔可夫链(Markov chain)的扩展之上。马尔可夫链描述随机变量序列的概率;这些随机变量称为状态,每个状态都从某个集合中取值。集合的元素可以是词、标签,也可以是表示天气等任何事物的符号。马尔可夫链作出一个很强的假设:要预测序列的未来,只需知道当前状态。当前状态之前的状态除非通过当前状态,否则不会影响未来。这就像预测明天的天气时可以查看今天的天气,却不允许查看昨天的天气。

更形式化地,考虑状态变量序列 q1,q2,,qiq_1,q_2,\ldots,q_i。马尔可夫模型对该序列的概率作出马尔可夫假设:预测未来时,过去并不重要,只有现在重要。

P(qi=aq1qi1)=P(qi=aqi1)(A.1)P(q_i=a\mid q_1\ldots q_{i-1})=P(q_i=a\mid q_{i-1})\tag{A.1}

图 A.1a 给出一个为天气事件序列分配概率的马尔可夫链,其词表由 HOTCOLDWARM 构成。图中的结点表示状态,带概率的边表示转移。转移值都是概率,因此从任一状态出发的弧上数值之和必须为 1。图 A.1b 给出一个为词序列 w1wnw_1\ldots w_n 分配概率的马尔可夫链。这个模型应当很熟悉:它其实就是二元语言模型,每条边表示概率 p(wiwj)p(w_i\mid w_j)。利用图 A.1 中的两个模型,可以为相应词表中的任何序列分配概率。

图 A.1 天气马尔可夫链(a)和词语马尔可夫链(b),展示状态与状态转移。模型还需要初始分布 π\pi;例如,对(a)设置 π=[0.1,0.7,0.2]\pi=[0.1,0.7,0.2],表示以状态 2(cold)开始的概率为 0.7,以状态 1(hot)开始的概率为 0.1,依此类推。

形式上,马尔可夫链由以下组成部分指定:

Q=q1q2qNQ=q_1q_2\ldots q_N

NN 个状态组成的集合

A=a11a12aN1aNNA=a_{11}a_{12}\ldots a_{N1}\ldots a_{NN}

转移概率矩阵 AA;每个 aija_{ij} 表示从状态 ii 转移到状态 jj 的概率,并且对所有 ii 都有 j=1Naij=1\sum_{j=1}^{N}a_{ij}=1

π=π1,π2,,πN\pi=\pi_1,\pi_2,\ldots,\pi_N

状态上的初始概率分布。πi\pi_i 是马尔可夫链从状态 ii 开始的概率。某些状态 jj 可以有 πj=0\pi_j=0,表示它们不能作为初始状态;此外,i=1Nπi=1\sum_{i=1}^{N}\pi_i=1

继续阅读前,请利用图 A.1a 中的示例概率以及 π=[0.1,0.7,0.2]\pi=[0.1,0.7,0.2],计算下面两个序列各自的概率:

(A.2) hot hot hot hot

(A.3) cold hot cold hot

两者的概率差异说明图 A.1a 编码了现实天气中的什么事实?