强化学习数学原理 - 第3章:最优状态值与贝尔曼最优方程 (Bellman Optimality)
1. 终极目标:寻找最优策略
在第2章中,我们学会了“给定一个策略,评估它好不好(Policy Evaluation)”。但这只是第一步,RL 的终极目标是找到最好的那个策略(Optimal Policy,)。
什么叫“最好”?
数学定义:如果策略的状态价值在每一个状态上都不低于其他任何策略的价值,那么就是最优策略。
直观理解:
最优策略就像一个完美的导航仪,无论你现在身处何地(哪怕是被风吹到了错误的格子),它都能告诉你接下来该怎么走才能获得最大的未来回报。
2. 贝尔曼最优方程 (Bellman Optimality Equation, BOE)
2.1 从 Bellman Equation 到 BOE
回忆普通贝尔曼方程:
如果我们想要最大,那么在选择动作时,就不应该犹豫,而应该只选 Q 值最大的那个动作。
于是,求和号变成了取最大值:
这就是 Bellman Optimality Equation (BOE)。它描述了最优状态价值必须满足的递归关系。
2.2 为什么 BOE 很难解?
对比一下:
- Bellman Equation (BE):。这是线性方程,可以直接。
- Bellman Optimality Equation (BOE):。这里有个操作。
- 。
- 是非线性的。
- 结论:我们不能用矩阵求逆来解 BOE!必须使用迭代算法(Value Iteration)。
3. 压缩映射定理 (Contraction Mapping Theorem)
这是 RL 中最硬核的数学理论之一,它保证了 Value Iteration 算法一定会收敛。
3.1 什么是压缩映射?
把 BOE 的右边看作一个算子(Operator):
如果能证明对于任意两个向量,经过变换后,它们的距离变小了:
因为,所以是一个压缩映射。
3.2 不动点 (Fixed Point)
根据 Banach Fixed Point Theorem:
- 存在性:一定存在。
- 唯一性:是唯一的。
- 收敛性:任意初始化,只要不断算,最终一定收敛到。
简单人话:你随便猜一个 Value Table,只要不断用“贪心”的方式更新它,最后它一定会变成真正的最优 Value Table。
3.3 深度思考:压缩映射的物理意义
为什么就能保证压缩?
这表示每次迭代,我们离真理的距离都会缩小倍。
物理意义:
是折扣因子,它代表了我们对未来的**“遗忘速度”**。
- 如果,Agent 是超级近视眼,只看眼前。任何遥远的误差都影响不到现在,所以收敛极快。
- 如果,Agent 是远视眼,千秋万代都要考虑。远处的微小误差都会传递到现在,所以收敛很慢。
结论:压缩映射的本质是**“用时间的衰减来消除初始猜测的错误”**。
4. 最优策略的确定性
一个有趣且重要的结论:对于有限 MDP,总是存在一个确定性的最优策略(Deterministic Optimal Policy)。
这意味着最优策略不需要随机扔骰子(不需要)。
在每个路口,只要坚定地走 Q 值最大的那条路就行了。如果有多个动作 Q 值一样大,随便选一个确定的即可。
5. Python 代码实战:验证最优性
在第2章的代码中,我们计算了一个随机策略的 Value。现在我们来“手动”算一下最优策略。
1 | import numpy as np |
通过这段代码逻辑,我们可以看到 Value Iteration 的雏形:算 Q 值 -> 取 Max -> 更新 V。
6. 总结
本章解决了 RL 的核心目标问题:
- 定义最优:。
- 方程描述:。
- 求解难点:非线性,无法矩阵求逆。
- 理论保障:压缩映射定理保证了迭代法的收敛性。
这为下一章正式介绍 Value Iteration (VI) 和 Policy Iteration (PI) 算法铺平了道路。
上一章:第2章 - 贝尔曼方程 | 下一章:第4章 - 值迭代与策略迭代 >>

