Skip to content

markov

markov chain

这是一个非常深刻且有趣的问题。从历史溯源到现代应用,Markov Chain(马尔可夫链)的跨度体现了数学抽象的强大力量。

以下分两部分来回答:

第一部分:Andrey Markov 的初衷——为了反驳“自由意志”的数学论证

安德雷·马尔可夫(Andrey Markov) 在 1906 年提出马尔可夫链的概念时,并不是为了解决今天我们熟知的物理、金融或计算机问题。他实际上卷入了一场关于概率论基础与神学/哲学的论战。

1. 历史背景:大数定律与独立性 当时,俄罗斯数学界有一位极具影响力的数学家叫 帕维尔·内克拉索夫(Pavel Nekrasov)。内克拉索夫是“彼得堡学派”的对立面,他试图将数学与宗教/政治联系起来。 内克拉索夫强力宣称:大数定律(Law of Large Numbers, LLN)只有在随机变量完全“独立”的情况下才成立。

他基于此推导出了一种社会学/神学观点:如果人们的行为是相互影响(依赖)的,那么统计规律就不存在了;但既然社会统计数据显示出了规律(比如每年的犯罪率稳定),那说明由于自由意志的存在,人们的行为在某种程度上是独立的。

2. 马尔可夫的反击 马尔可夫是一位坚定的无神论者,且性格好斗(他甚至因为抗议教会革除托尔斯泰教籍而申请把自己也革除教籍)。他非常讨厌内克拉索夫滥用数学来论证形而上学的观点。

马尔可夫想要证明:内克拉索夫是错的。即使随机变量之间不是独立的(即存在依赖关系),只要这种依赖关系满足特定条件,大数定律依然成立。

3. 马尔可夫链的诞生 为了证明这一点,他构造了一种特殊的随机变量序列: * 这个序列中的每一个变量 \(X_{n+1}\) 的取值不独立,它依赖于前一个变量 \(X_n\)。 * 但他证明了,随着时间推移,这种依赖性会扩散并趋于稳定。 * 最终他通过数学推导证明,对于这种“链式依赖”的变量,弱大数定律依然适用。

趣闻: 为了验证他的理论,马尔可夫甚至亲自统计了普希金的长篇诗体小说《叶甫盖尼·奥涅金》前 20,000 个字母,分析元音和辅音之间的连接概率,这是人类历史上第一次对马尔可夫链的实证分析。


第二部分:为什么 RL 必须用马尔可夫过程(MDP)来描述?

从历史回到现代,强化学习(RL)之所以建立在 马尔可夫决策过程(MDP) 之上,并不是因为世界本身就是马尔可夫的,而是因为我们需要一个可计算的数学地基

其动机和原理可以归结为三个关键词:信息的完备性递归的可解性复杂度的压缩

1. 直觉动机:定义“状态”(State)的本质

在 RL 中,我们需要区分 Observation(观察)State(状态)。 * 观察是你眼睛看到的(比如一张游戏截图)。 * 状态是做决策所需要的所有信息。

为什么需要 Markov 性? 想象你在玩《贪吃蛇》。 * 非 Markov: 如果你只看一张静态截图(Observation),你不知道蛇头是往左移动还是往右移动,因为静止画面丢失了“速度/方向”信息。此时,这一张图不具备 Markov 性,因为仅凭它无法预测下一帧。 * Markov: 如果我们将最近的两帧叠加在一起作为“状态”,或者直接在变量里记录蛇的速度向量。此时,你拥有了预测未来的所有信息,不需要去翻看游戏开始时的记录。这就满足了 Markov 性。

RL 的核心动机: 我们希望 Agent 在做决策时,不需要回忆过去的历史,只需要看当下的状态就足够了。如果 \(S_t\) 是马尔可夫的,那么 Policy \(\pi(a|s)\) 就是稳定的;否则 Policy 必须写成 \(\pi(a|s_t, s_{t-1}, ..., s_0)\),这将导致输入维度随时间无限增长,计算无法进行。

2. 数学原理:贝尔曼方程(Bellman Equation)的基石

这是最硬核的数学原因。RL 的核心解法几乎都依赖于递归(Recursion),即把一个大问题拆解成子问题。

马尔可夫性质的定义是: \(\(P(S_{t+1} | S_t) = P(S_{t+1} | S_t, S_{t-1}, S_{t-2}, \dots, S_0)\)\) 即:“未来只与现在有关,与过去无关”。

正是因为有了这个性质,我们才能写出 贝尔曼方程\(\(V(s) = R + \gamma \sum_{s'} P(s'|s) V(s')\)\)

原理分析: * 如果不满足 Markov 性,你在计算 \(V(s)\)(当前状态价值)时,就不能只看下一步的 \(V(s')\),因为 \(V(s')\) 的价值可能取决于你是怎么走到 \(s'\) 的。 * 如果历史影响未来,那么 \(V(s)\) 这个函数本身就是未定义的,因为同一个 \(s\) 可能对应无数种不同的未来预期。 * MDP 保证了问题的“最优子结构”性质,使得我们可以用动态规划(Dynamic Programming)或者时序差分(Temporal Difference)来迭代求解。

3. 现实与模型的妥协

现实世界往往不是马尔可夫的(Non-Markovian)。 * 比如股票市场,现在的价格不仅仅取决于上一秒的价格,可能还取决于一年前的政策。 * 比如扑克牌游戏,对手出的牌取决于他手里剩下的牌,而我们看不见(部分可观测,POMDP)。

RL 的处理方式: 虽然现实不完美,但 MDP 框架太好用了。所以我们通过构造状态来“强行”满足 Markov 性: * Atari 游戏: DeepMind 在玩游戏时,把最近的 4 帧画面叠在一起作为输入。这就把“速度、加速度”隐含在了输入中,使得本来不满足 Markov 的单帧画面变成了近似满足 Markov 的状态。 * LSTM/Transformer: 在现在的 AI 中,我们用记忆单元(Memory)来概括过去所有的历史。这个“记忆向量”本身,就被视为一个新的 Markov 状态。

总结

  1. 历史起点: 马尔可夫最初是为了在数学上打脸那些认为“只有独立才遵循统计规律”的神学观点,证明了依赖关系如果也是某种规范的(只依赖前一步),大数定律依然成立
  2. RL 动机: 为了计算的可行性。我们需要切断无限延长的历史,认为“当下即一切”。
  3. RL 原理: 只有在马尔可夫假设下,价值函数(Value Function) 才能被定义为状态的函数(而不是历史的函数),贝尔曼方程 才能成立,从而让我们能通过迭代算法训练出 AI。