E.1.5 线性代数公式速查与练习
前置知识:本页汇总 E.1 模块所有公式,建议在读完 E.1.1 到 E.1.4 后再来回顾。如果你是第一次读,先跳到正文章节。
回到第 3 章再看一遍
现在你有了向量、矩阵、点积、范数、特征值这些工具。回头看看第 3 章学过的东西,会发现很多"当时只是接受"的公式,其实都有更简洁的矩阵表达。
贝尔曼方程:从逐个手写到一行矩阵
第 3 章里,贝尔曼期望方程写成:
有了矩阵之后, 个这样的方程压缩成一行:
闭式解是 。第 3 章的 DP 方法反复做 ,本质上是在迭代逼近这个闭式解。
TD Error:增量更新与矩阵方程的关系
第 3 章的 TD 更新是:
用向量语言看,这可以写成:
其中 是状态 的 one-hot 向量(只有第 个位置为 ,其余为 ), 是 TD Error。这和 E.1.2 的贝尔曼矩阵形式 是同一个东西的两种表达——前者是逐步增量更新(每次只改一个分量),后者是整体方程(所有分量同时满足)。
Q-Learning 表格法:one-hot + 点积的特例
第 3 章的 Q-Learning 为每个 (状态, 动作) 对存一个数。从线性代数的视角看,这就是用了 one-hot 特征的线性近似:,其中 是 one-hot 向量。查表是线性近似的特例。
策略梯度更新:范数和信任域的舞台
第 3 章路线二定义了策略目标 。更新参数时,梯度裁剪限制 ,信任域约束 ——这些都是在用线性代数工具保证训练安全。
概念地图
下面这张表按依赖关系组织了 E.1 模块的所有概念。可以顺着依赖链从上往下读,也可以当作索引直接跳到某个概念。
| 概念 | 核心公式 | 依赖 | RL 角色 |
|---|---|---|---|
| 标量 | r=2,γ=0.9 | 无 | 奖励、超参数 |
| 向量 | v ∈ ℝⁿ | 标量 | 装所有状态的价值 |
| 矩阵 | P ∈ ℝⁿˣⁿ | 向量 | 装所有状态间的转移 |
| 矩阵乘法 | (Pv)ᵢ = Σⱼ Pᵢⱼvⱼ | 矩阵 + 向量 | 概率加权未来价值 |
| 贝尔曼矩阵形式 | v = r + γPv | 矩阵乘法 | 价值递推方程 |
| 线性方程解 | v = (I − γP)⁻¹r | 贝尔曼矩阵 | 理论闭式解 |
| 点积 | wᵀx = Σᵢ wᵢxᵢ | 向量 | 线性价值/策略近似 |
| L2 范数 | ‖x‖₂ = √Σᵢ xᵢ² | 向量 | 梯度裁剪、正则化 |
| 特征值 | Au = λu | 矩阵 | 分析矩阵的放缩特性 |
| 谱半径与收敛 | ρ(γP) ≤ γ < 1 | 特征值 | 值迭代收敛保证 |
| 信任域约束 | (θ−θₒₗₐ)ᵀF(θ−θₒₗₐ) ≤ δ | 范数 + 特征值 | TRPO 的安全更新 |
沿着这张表从上往下读,每个概念都在前一个的基础上增加新能力。如果某个概念卡住了,回到它"依赖"的那一行重新看。
从困难到工具
E.1 模块的核心脉络:从"算不出来"到"算得安全"。
| 阶段 | 遇到的困难 | 引入的数学工具 | 关键公式 |
|---|---|---|---|
| 困难一 | 1000 个状态 = 1000 个方程 | 向量、矩阵、方程组 | v = (I − γP)⁻¹r |
| 困难二 | 状态太多存不下价值表 | 点积、范数 | v̂(s) = wᵀx(s),‖g‖₂ ≤ c |
| 困难三 | 训练可能发散/爆炸/偏移 | 特征值、加权范数 | ρ(γP) ≤ γ < 1,ΔθᵀFΔθ ≤ δ |
常见误区
- 把矩阵当成抽象符号。 在贝尔曼方程里,转移矩阵 的每一行都是"从当前状态出发,下一步去哪里"的概率表。
- 以为求逆就是实际算法。 是理论闭式解,真实大规模问题通常用迭代或函数近似——这就是第 3 章 DP → MC → TD 的演进逻辑。
- 忽略向量方向。 梯度、优势更新、信任域约束都不仅关心"数值大小",还关心参数空间中的方向。
- 混淆范数和正则化。 范数是度量工具("有多大"),正则化是把范数加入训练目标来约束参数,梯度裁剪是限制单步更新的幅度——三种不同用途。
- 以为 L2 范数是唯一的范数。 L1 范数产生稀疏解,Frobenius 范数衡量矩阵大小,加权范数(二次型)考虑方向敏感度——不同场景用不同范数。
练习
基础题
贝尔曼方程手算。 若 ,,,试手算 。
写出矩阵。 写出上题对应的 和 ,然后验证 是否等于你的手算结果。
梯度裁剪。 若梯度为 ,最大范数设为 ,裁剪后的梯度是多少?
进阶题
特征值计算。 矩阵 的特征值是多少?它是上三角矩阵,特征值有什么规律?
三状态贝尔曼方程。 三个状态,转移矩阵 ,奖励向量 ,。写出贝尔曼矩阵形式,不做求解。
点积近似。 状态 的特征是 ,权重 。计算 。如果 的真实值是 ,误差是多少?
挑战题
收敛速度估计。 假设 ,初始误差 。至少需要多少次贝尔曼更新才能让误差降到 以下?(提示:)
信任域验证。 ,,。这次更新在信任域内吗?如果 呢?解释为什么第二个方向更"贵"。