【深度学习理论基础】马尔可夫链
目录
- 一、核心思想:一句话概括
- 二、一个经典的简单例子:天气预测
- 三、正式定义与关键组成部分
- 四、重要特性与概念
- 五、为什么它如此重要?—— 广泛应用
- 六、基本马尔可夫链总结
- 七、马尔可夫链的扩展与延伸
- (一)隐马尔可夫模型
- **核心思想:系统的状态是隐藏的**
- **HMM的五大要素:**
- **HMM解决的三大经典问题:**
- **(二)马尔可夫决策过程**
- **核心思想:引入“动作”和“奖励”**
- **目标与策略**
- **解法:**
- **(三)高阶马尔可夫链**
- **核心思想:放宽“一阶”限制,拥有更长的记忆**
- **应用与挑战**
- **(三)连续时间马尔可夫链**
- **核心思想:状态转移可以发生在任意时间点**
- **核心机制:指数分布与速率矩阵**
- **应用**
- **(四)总结与对比**
一、核心思想:一句话概括
马尔可夫链的核心思想是“无记忆性”。
它的意思是:一个系统未来的状态只取决于它当前的状态,而与它过去的所有历史状态无关。
这种“无记忆性”的特性被称为马尔可夫性质。具备马尔可夫性质的随机过程,就叫做马尔可夫过程。而马尔可夫链是状态空间(所有可能状态集合)为离散(可数的)的马尔可夫过程。
二、一个经典的简单例子:天气预测
假设我们想模拟每天的天气,天气只有两种状态:晴天 和 雨天。
我们通过观察发现:
- 如果今天是晴天,明天有90%的概率还是晴天,10%的概率会下雨。
- 如果今天是雨天,明天有50%的概率放晴,50%的概率继续下雨。
这个系统就构成了一个简单的马尔可夫链。
- 状态:
晴天
和雨天
。 - 无记忆性:预测明天天气时,我们只需要知道今天是晴还是雨。我们完全不需要关心昨天、前天乃至更早的天气是什么。今天的天气状态已经包含了预测未来的全部信息。
- 转移概率:从一个状态切换到另一个状态的概率。我们可以用一个表格(称为转移矩阵)来清晰地表示:
(今天\明天) | 晴天 | 雨天 |
---|---|---|
晴天 | 0.9 | 0.1 |
雨天 | 0.5 | 0.5 |
- 这个矩阵的解读:第一行表示,如果今天是晴天,明天是晴天的概率是0.9,雨天的概率是0.1。
三、正式定义与关键组成部分
一个马尔可夫链通常由以下三个要素定义:
- 状态空间:
所有可能状态的集合,通常记为S={s1,s2,s3,...,sn}S = \{s_1, s_2, s_3, ..., s_n\}S={s1,s2,s3,...,sn}例如上面的S={晴,雨}S = \{\text{晴}, \text{雨}\}S={晴,雨}。状态可以是任何事物:网页、单词、股价的涨跌、疾病的不同阶段等。 - 转移概率矩阵:
一个数学矩阵 PPP,其中的每个元素PijP_{ij}Pij表示从状态 iii转移到状态jjj的概率。
Pij=P(Xn+1=j∣Xn=i)P_{ij} = P(X_{n+1} = j \mid X_n = i)Pij=P(Xn+1=j∣Xn=i)
矩阵 PPP 有两个重要特性:- 所有元素都是非负的:Pij≥0P_{ij} \geq 0Pij≥0
- 每一行的概率之和为1:∑jPij=1\sum_{j} P_{ij} = 1∑jPij=1 (因为从状态 iii 出发,必然会转移到状态空间中的某个状态)
- 初始状态分布:
一个向量,表示过程开始时处于各个状态的概率。例如,第一天是晴天的概率为0.8,是雨天的概率为0.2,初始分布就是 [0.8,0.2][0.8, 0.2][0.8,0.2]。
四、重要特性与概念
- 稳态分布
这是马尔可夫链一个非常强大且重要的概念。想象一下,我们的天气模型运行了很久很久(比如10000天后),那时的天气分布还会变化吗?
我们发现,无论第一天的天气如何(初始分布),在经过足够长的步骤后,系统状态的概率分布会收敛到一个固定的分布,这个分布就称为稳态分布。
对于我们的天气例子,我们可以计算出其稳态分布。
设稳态下,晴天的概率为 π晴\pi_{\text{晴}}π晴,雨天的概率为 π雨\pi_{\text{雨}}π雨。
根据稳态的定义:“从稳态出发,下一步仍然处于稳态”,我们可以列出方程:
[π晴,π雨]×[0.90.10.50.5]=[π晴,π雨][\pi_{\text{晴}}, \pi_{\text{雨}}] \times \begin{bmatrix} 0.9 & 0.1 \\ 0.5 & 0.5 \end{bmatrix} = [\pi_{\text{晴}}, \pi_{\text{雨}}] [π晴,π雨]×[0.90.50.10.5]=[π晴,π雨]
同时满足 π晴+π雨=1\pi_{\text{晴}} + \pi_{\text{雨}} = 1π晴+π雨=1。
解这个方程组,可以得到:
π晴=56≈0.833,π雨=16≈0.167\pi_{\text{晴}} = \frac{5}{6} \approx 0.833, \quad \pi_{\text{雨}} = \frac{1}{6} \approx 0.167 π晴=65≈0.833,π雨=61≈0.167
这意味着,从长远来看,任意一天有83.3%的概率是晴天,16.7%的概率是雨天。这个结果与第一天的天气无关。 - 状态分类
- 吸收状态:一旦进入就无法离开的状态(转移到自身的概率为1)。例如,“游戏结束”状态。
- 遍历态与非遍历态:是否有可能从其他状态再次访问到该状态。
- 周期性:有些链的状态具有周期性循环的特点。
五、为什么它如此重要?—— 广泛应用
马尔可夫链的魅力在于其简单而强大的建模能力,它在众多领域有广泛应用:
- PageRank算法
这是谷歌搜索引擎早期的核心算法。它将互联网建模为一个巨大的马尔可夫链:- 状态:每一个网页。
- 转移概率:从一个网页跳转到另一个网页的概率(通过超链接连接)。
通过计算这个“网络马尔可夫链”的稳态分布,就能得到每个网页的“PageRank”值(即其长期被访问的概率),从而作为网页排序的依据。
- 自然语言处理
- 状态:单词、词性标签。
- 应用:
- 文本生成:通过分析语料库,计算一个单词后面出现另一个单词的概率(转移概率),可以生成看起来像模像样的句子。例如,“我今天”后面很可能接“很忙”或“很高兴”,而不是“西红柿”。
- 语音识别、输入法预测:计算最可能的词序列。
- 金融与经济
用于建模资产价格变动、信用评级变化(如从AAA级降到AA级的概率)、市场状态(牛市、熊市、震荡市)的切换等。 - 统计学与蒙特卡洛方法
马尔可夫链蒙特卡洛 是一类非常重要的算法,用于从复杂的概率分布中进行抽样,广泛应用于贝叶斯统计、物理模拟等领域。 - 游戏开发
用于AI决策、随机地图生成、模拟NPC的行为模式等。 - 生物信息和遗传学
分析DNA序列,因为基因序列中碱基的排列也具有一定的转移概率。
六、基本马尔可夫链总结
方面 | 核心要点 |
---|---|
核心思想 | 无记忆性:未来只取决于现在,与过去无关。 |
数学本质 | 一个离散状态的随机过程,由状态空间、转移概率矩阵和初始分布定义。 |
关键特性 | 稳态分布:经过长时间演变后,系统状态会稳定在一个固定的概率分布上。 |
主要应用 | 互联网排名、自然语言处理、金融建模、科学研究等。几乎所有需要建模随机状态序列的领域都可能用到它。 |
直观理解 | 把它想象成一个在各个“状态”间随机跳转的系统,每次跳转的方向只由当前所在位置决定,就像一个“失忆的醉汉”的随机游走。 |
七、马尔可夫链的扩展与延伸
(一)隐马尔可夫模型
隐马尔可夫模型是马尔可夫链最著名、最成功的拓展之一。
核心思想:系统的状态是隐藏的
在基础马尔可夫链中,我们直接观测到状态序列(如每天的天气)。但生活中,很多时候我们无法直接看到系统的真实状态,只能看到由这些状态产生的一些间接的、可见的观测值。
经典比喻:海藻和天气(盒子和球模型)
- 隐藏状态:真实的天气(晴天、雨天)。我们被困在屋子里,看不到天气。
- 观测状态:海藻的湿度(干燥、稍干、潮湿、湿润)。我们每天只能看到海藻的状态。
这里的核心关系是:
- 隐藏状态(天气)之间形成一个马尔可夫链,遵循状态转移概率。
- 在每一个隐藏状态下,都会以一定的发射概率 产生一个观测状态(海藻的湿度)。
HMM的五大要素:
一个HMM由以下参数λ = (A, B, π)定义:
- 状态集合:所有可能的隐藏状态(如:{晴天, 雨天})。
- 观测集合:所有可能的观测值(如:{干燥, 潮湿})。
- 状态转移概率矩阵 A:描述了隐藏状态之间转换的概率(和基础马尔可夫链一样)。
- 观测概率矩阵 B:描述了在某个隐藏状态下,产生各个观测值的概率。例如,
P(干燥|晴天) = 0.8
,P(潮湿|晴天)=0.2
。 - 初始状态概率分布 π:系统开始时处于各个隐藏状态的概率。
HMM解决的三大经典问题:
- 评估问题:给定模型λ和观测序列O(如连续三天的海藻状态是【干燥, 潮湿, 潮湿】),计算这个观测序列出现的概率
P(O|λ)
。- 解法:前向算法或后向算法。这是一种高效的动态规划算法,避免了直接计算的组合爆炸。
- 应用:判断哪个模型更可能产生观测到的数据。
- 解码问题:给定模型λ和观测序列O,找出最有可能产生该观测序列的隐藏状态序列。
- 解法:维特比算法。这也是一个动态规划算法,它寻找一条最优路径,使得该路径对应的隐藏状态序列的概率最大。
- 应用:语音识别(观测是音频信号,隐藏状态是单词或音素);词性标注(观测是单词,隐藏状态是词性名词/动词等);生物序列分析(观测是DNA碱基,隐藏状态是基因编码区/非编码区)。
- 学习问题:仅给定观测序列O,估计模型参数λ = (A, B, π),使得
P(O|λ)
最大。- 解法:鲍姆-韦尔奇算法,它是一种期望最大化算法。
- 应用:在只有大量观测数据(如语音库),而不知道其内部隐藏结构(如对应的文本)的情况下,无监督地训练模型。
(二)马尔可夫决策过程
MDP将马尔可夫链从“描述性”模型提升为“决策性”模型,它是强化学习的理论基础。
核心思想:引入“动作”和“奖励”
在MDP中,状态转移不再是完全随机的,而是受到智能体动作的影响。并且,智能体在执行动作后,会从环境获得奖励(正向或负向)作为反馈。
核心要素:
- 状态集合 S
- 动作集合 A
- 状态转移概率 P(s’|s, a):在状态
s
下执行动作a
后,转移到状态s‘
的概率。这比基础马尔可夫链的P(s'|s)
多了一个条件a
。 - 奖励函数 R(s, a, s’):在状态
s
执行动作a
并导致状态转移到s‘
后,获得的即时奖励。 - 折扣因子 γ:一个介于0和1之间的数,用于衡量未来奖励的当前价值。γ越小,越看重眼前利益。
目标与策略
- 目标:寻找一个策略 π(从状态到动作的映射),使得长期累积奖励(考虑折扣)的期望值最大。
- 策略:告诉智能体在什么状态下应该做什么动作。
解法:
- 值函数:
V(s)
表示从状态s
开始,遵循策略π所能获得的期望累积奖励。Q(s, a)
表示在状态s
执行动作a
后,再遵循策略π所能获得的期望累积奖励。 - 贝尔曼方程:描述了值函数自身的递归关系,是解决MDP的核心方程。
- 算法:
- 值迭代/策略迭代:在模型已知(即P和R都知道)的情况下,求解最优策略的经典动态规划方法。
- Q-Learning, SARSA:在模型未知的情况下,智能体通过与环境交互来学习最优Q函数的强化学习算法。
应用:机器人控制、游戏AI(如AlphaGo)、资源调度、投资组合管理。
(三)高阶马尔可夫链
核心思想:放宽“一阶”限制,拥有更长的记忆
基础马尔可夫链是“一阶”的,即 P(未来状态 | 当前状态)
。但现实中,下一个状态可能依赖于过去多个状态。
- N阶马尔可夫链:下一个状态依赖于前N个状态。
P(X_t | X_{t-1}, X_{t-2}, ..., X_{t-N})
应用与挑战
- 主要应用:自然语言处理。
- 一阶马尔可夫链对应二元语法模型:
P(单词_t | 单词_{t-1})
- 二阶马尔可夫链对应三元语法模型:
P(单词_t | 单词_{t-1}, 单词_{t-2})
- 三元模型比二元模型能更好地捕捉语言结构,因为“吃”后面跟“饭”的概率,可能会因为前面是“中”还是“晚”而不同。
- 一阶马尔可夫链对应二元语法模型:
- 挑战:维度灾难。
阶数N每增加1,状态空间的大小可能呈指数级增长。对于有K个状态的系统,一阶链的状态转移矩阵大小为K×K,而N阶链的状态空间大小是K^N,这导致参数数量急剧增加,需要更多的数据来估计。
(三)连续时间马尔可夫链
核心思想:状态转移可以发生在任意时间点
基础马尔可夫链是在离散时间点(t=1, 2, 3, …)上演化的。但很多系统(如电话呼叫到达、设备故障)的状态变化可以在任何时间发生。
核心机制:指数分布与速率矩阵
- 无记忆性:CTMC的关键在于,它在每个状态停留的时间服从指数分布。指数分布具有“无记忆性”,这与马尔可夫性完美契合:已知在当前状态已经停留了时间t,它再停留时间s的概率,与从零开始停留时间s的概率相同。
- 从概率到速率:
- 在离散链中,我们使用概率矩阵P,其中元素
P_ij
表示从状态i转移到状态j的概率。 - 在连续链中,我们使用速率矩阵Q,其中:
- 对角线元素
Q_ii
为负,表示离开状态i的速率。 - 非对角线元素
Q_ij
表示从状态i转移到状态j的速率。
- 对角线元素
- 在离散链中,我们使用概率矩阵P,其中元素
应用
- 排队论:模拟客服中心来电、网络数据包到达、超市收银台排队。
- 可靠性工程:模拟系统组件故障和维修。
- 金融学:某些跳跃扩散过程的建模。
- 化学:模拟化学反应的动力学。
(四)总结与对比
模型 | 核心拓展思想 | 关键概念 | 典型应用 |
---|---|---|---|
基础马尔可夫链 | 无记忆性随机过程 | 状态、转移概率矩阵、平稳分布 | 简单系统建模、文本生成、PageRank |
隐马尔可夫模型 | 状态不可见,只能通过观测值推断 | 隐藏状态、观测值、发射概率、评估/解码/学习问题 | 语音识别、词性标注、生物信息学 |
马尔可夫决策过程 | 引入智能体的动作和环境的奖励 | 动作、奖励、策略、值函数、贝尔曼方程 | 强化学习、机器人、游戏AI、最优控制 |
高阶马尔可夫链 | 记忆长度超过1,依赖更多历史 | N阶依赖、N元语法 | 自然语言处理(N-gram模型) |
连续时间马尔可夫链 | 状态转移发生在连续时间域 | 速率矩阵、指数分布、停留时间 | 排队系统、可靠性分析、化学反应 |