马尔可夫链模型(Markov Chain Model,又称马氏链)是概率论和统计学中的一种随机过程模型,它以“无记忆性(Markov性)”为核心假设,广泛应用于自然语言处理、金融建模、信号处理、机器人导航等众多领域。


一、基本概念与定义

1.1 马尔可夫性质(Markov Property)

马尔可夫链是满足以下性质的随机过程:

未来状态只依赖于当前状态,而与过去状态无关。

数学表达为:

P(Xn+1=x∣Xn=xn,Xn−1=xn−1,...,X0=x0)=P(Xn+1=x∣Xn=xn) P(X_{n+1} = x \mid X_n = x_n, X_{n-1} = x_{n-1}, ..., X_0 = x_0) = P(X_{n+1} = x \mid X_n = x_n) P(Xn+1=xXn=xn,Xn1=xn1,...,X0=x0)=P(Xn+1=xXn=xn)

其中,XnX_nXn 是在时间 nnn 的状态。


1.2 状态空间(State Space)

  • 有限状态空间:例如天气模型:{晴天,阴天,雨天}
  • 无限状态空间:如整数集合,连续空间(如位置)

1.3 转移概率(Transition Probability)

一个马氏链由转移概率矩阵定义:

P=[p11p12…p1np21p22…p2n⋮⋮⋱⋮pn1pn2…pnn] P = \begin{bmatrix} p_{11} & p_{12} & \dots & p_{1n} \\ p_{21} & p_{22} & \dots & p_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ p_{n1} & p_{n2} & \dots & p_{nn} \end{bmatrix} P= p11p21pn1p12p22pn2p1np2npnn

其中 pij=P(Xt+1=j∣Xt=i)p_{ij} = P(X_{t+1} = j \mid X_t = i)pij=P(Xt+1=jXt=i),满足:

  • pij≥0p_{ij} \geq 0pij0
  • ∑jpij=1\sum_{j} p_{ij} = 1jpij=1

1.4 初始分布(Initial Distribution)

起始时刻的状态分布,记为 π0\pi_0π0,如:

π0=[π1,π2,...,πn],∑iπi=1 \pi_0 = [\pi_1, \pi_2, ..., \pi_n], \quad \sum_i \pi_i = 1 π0=[π1,π2,...,πn],iπi=1


二、马氏链的基本性质

名称 定义与说明
遍历性(Ergodicity) 所有状态都可以在有限步内到达,且长期统计概率存在
吸收状态(Absorbing State) 一旦进入该状态,便无法再离开(如状态 i 满足 pii=1p_{ii} = 1pii=1
稳态分布(Stationary Distribution) 分布 π\piπ 满足 π=πP\pi = \pi Pπ=πP,表示长期平均状态分布
周期性(Periodicity) 状态的返回间隔有周期,例如只能每两步回到自身
瞬时性/常返性(Transient/Recurrent) 是否会无限次返回一个状态

三、分类与性质

3.1 齐次 vs 非齐次

  • 齐次马氏链:转移概率矩阵 PPP 不随时间变化。
  • 非齐次马氏链PtP_tPt 随时间变化。

3.2 可达性与通信类

  • 可达:若存在 nnn 使得 P(n)(i,j)>0P^{(n)}(i, j) > 0P(n)(i,j)>0,则称 sjs_jsjsis_isi 可达。
  • 通信类:若 sis_isisjs_jsj 互相可达,则它们属于同一通信类。

3.3 常返与瞬时状态

  • 常返状态:从该状态出发,几乎必然能返回自身。
  • 瞬时状态:存在返回失败的概率。

3.4 正则马氏链

  • 存在整数 kkk,使得所有元素 Pk>0P^k > 0Pk>0,称该链为正则马氏链,平稳分布存在且唯一。

四、实际应用举例

4.1 自然语言处理(NLP)

❖ 语言模型

在 unigram / bigram 模型中,假设一个词只依赖前一个词(即一阶马尔可夫):

P(w1,w2,...,wn)≈P(w1)⋅P(w2∣w1)⋅P(w3∣w2)⋅… P(w_1, w_2, ..., w_n) \approx P(w_1) \cdot P(w_2|w_1) \cdot P(w_3|w_2) \cdot \dots P(w1,w2,...,wn)P(w1)P(w2w1)P(w3w2)

常用于拼写校正、自动补全等。


4.2 隐马尔可夫模型(HMM)

在 HMM 中,状态不可见,但能观察到由状态生成的观测值。常用于:

  • 语音识别
  • POS 词性标注
  • 生物序列分析(如 DNA)

4.3 金融建模

马氏链可用于建模市场状态变换,例如:

  • 股票市场:牛市、熊市、中性市场
  • 利率变化、信用评级迁移(信用评分模型)

4.4 机器人路径规划

在 SLAM 或导航中,马尔可夫定位(Markov Localization)使用概率分布表示机器人在地图中的位置变化。


4.5 图像处理 & 生成

  • 基于马氏链的纹理合成
  • 图像分割中的图模型(如 Markov Random Field)

五、简单案例:天气马尔可夫链

设状态集合为:

  • S = {晴 (sunny), 阴 (cloudy), 雨 (rain)}

转移概率矩阵为:

P=[0.70.20.10.30.40.30.20.30.5] P = \begin{bmatrix} 0.7 & 0.2 & 0.1 \\ 0.3 & 0.4 & 0.3 \\ 0.2 & 0.3 & 0.5 \end{bmatrix} P= 0.70.30.20.20.40.30.10.30.5

若初始天气为晴,求第 2 天为雨的概率。

步骤:

  1. 初始分布:π0=[1,0,0]\pi_0 = [1, 0, 0]π0=[1,0,0]
  2. 一天后:π1=π0P=[0.7,0.2,0.1]\pi_1 = \pi_0 P = [0.7, 0.2, 0.1]π1=π0P=[0.7,0.2,0.1]
  3. 第二天:π2=π1P\pi_2 = \pi_1 Pπ2=π1P

最终取 π2[雨]\pi_2[雨]π2[] 为所求概率。


️ 六、Python 简单实现

import numpy as np

P = np.array([
    [0.7, 0.2, 0.1],
    [0.3, 0.4, 0.3],
    [0.2, 0.3, 0.5]
])

pi0 = np.array([1.0, 0.0, 0.0])  # 初始为“晴”
pi1 = pi0 @ P
pi2 = pi1 @ P

print(f"第二天是雨的概率: {pi2[2]:.4f}")

七、学习推荐

  • 《Markov Chains: From Theory to Implementation and Experimentation》— Paul A. Gagniuc
  • 《统计学习方法》李航(含 HMM 推导)
  • 相关课程:CS229、斯坦福 NLP 课程、概率图模型

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐