强化学习基石:Bellman 方程从直觉到推导(附手写笔记与 Python 示例)

摘要 :Bellman 方程是强化学习(Reinforcement Learning, RL)中最重要的方程之一。它把"长期回报"拆解为"即时奖励 + 未来折扣回报",从而让我们能够用递归/自举(bootstrapping)的方式求解任意策略下的状态价值。本文结合手写学习笔记,从 Return(回报)→ State Value(状态价值)→ Bellman 方程推导 → 矩阵形式 → Action Value(动作价值)→ Python 数值示例 完整梳理一遍,力求让初学者也能看懂。


文章目录

    • [1. 为什么要关心 Return 与 Bellman 方程?](#1. 为什么要关心 Return 与 Bellman 方程?)
    • [2. 从一个确定性例子理解回报](#2. 从一个确定性例子理解回报)
    • [3. 状态价值函数 State Value Function](#3. 状态价值函数 State Value Function)
      • [3.1 基本符号](#3.1 基本符号)
      • [3.2 折扣回报(Discounted Return)](#3.2 折扣回报(Discounted Return))
      • [3.3 状态价值函数](#3.3 状态价值函数)
    • [4. Bellman 方程的推导](#4. Bellman 方程的推导)
      • [4.1 即时奖励的期望](#4.1 即时奖励的期望)
      • [4.2 未来回报的期望](#4.2 未来回报的期望)
      • [4.3 合并得到 Bellman 期望方程](#4.3 合并得到 Bellman 期望方程)
    • [5. 求解状态价值:解析解与迭代解](#5. 求解状态价值:解析解与迭代解)
      • [5.1 解析解(闭式解)](#5.1 解析解(闭式解))
      • [5.2 迭代解(动态规划)](#5.2 迭代解(动态规划))
    • [6. 矩阵-向量形式](#6. 矩阵-向量形式)
    • [7. 动作价值函数 Action Value Function](#7. 动作价值函数 Action Value Function)
      • [7.1 动作价值的 Bellman 方程](#7.1 动作价值的 Bellman 方程)
      • [7.2 状态价值与动作价值的关系](#7.2 状态价值与动作价值的关系)
    • [8. 一个 4×4 网格的完整数值示例](#8. 一个 4×4 网格的完整数值示例)
      • [8.1 列方程](#8.1 列方程)
      • [8.2 手工求解](#8.2 手工求解)
      • [8.3 Python 验证](#8.3 Python 验证)
      • [8.4 直观解释](#8.4 直观解释)
    • [9. 总结](#9. 总结)
    • [10. 附录:原始手写学习笔记](#10. 附录:原始手写学习笔记)
      • [图 1:Bellman 方程的动机与确定性例子](#图 1:Bellman 方程的动机与确定性例子)
      • [图 2:状态价值函数的定义](#图 2:状态价值函数的定义)
      • [图 3:状态价值与回报的关系、Bellman 方程推导起点](#图 3:状态价值与回报的关系、Bellman 方程推导起点)
      • [图 4:即时奖励与未来回报的期望分解](#图 4:即时奖励与未来回报的期望分解)
      • [图 5:一个 4 状态网格的具体求解示例](#图 5:一个 4 状态网格的具体求解示例)
      • [图 6:Bellman 方程的矩阵-向量形式](#图 6:Bellman 方程的矩阵-向量形式)
      • [图 7:解析解、迭代解与动作价值函数](#图 7:解析解、迭代解与动作价值函数)
      • [图 8:动作价值计算与总结](#图 8:动作价值计算与总结)
  • 华丽的分隔线

1. 为什么要关心 Return 与 Bellman 方程?

在强化学习中,我们的目标是找到一个策略(policy) π \pi π,使得智能体(agent)在与环境交互过程中获得的累计奖励最大。

但问题随之而来:

  • 怎么评价一个策略到底好不好?
  • 某个状态下,按照策略 π \pi π 继续走下去,未来能赚多少奖励?
  • 这么多状态,难道要逐个模拟无穷多步才能估计价值吗?

Return(回报) 就是用来回答这些问题的核心指标。而 Bellman 方程 则告诉我们:

一个状态的价值,等于它立即能拿到的奖励的期望 ,加上下一状态价值的折扣期望

这种"用未来价值表示当前价值"的思想叫做 Bootstrapping(自举),是 RL 中动态规划、时序差分(TD)、Q-learning 等算法的根基。


2. 从一个确定性例子理解回报

假设有一个确定性的四状态系统: s 1 → s 2 → s 3 → s 4 → s 1 s_1 \to s_2 \to s_3 \to s_4 \to s_1 s1→s2→s3→s4→s1,每步转移分别获得奖励 r 1 , r 2 , r 3 , r 4 r_1, r_2, r_3, r_4 r1,r2,r3,r4。

图 1:四状态循环转移与回报的定义

从状态 s i s_i si 出发,未来所有折扣奖励之和就是回报(Return) V i V_i Vi:

V 1 = r 1 + γ r 2 + γ 2 r 3 + γ 3 r 4 + γ 4 r 1 + ⋯ V 2 = r 2 + γ r 3 + γ 2 r 4 + γ 3 r 1 + ⋯ V 3 = r 3 + γ r 4 + γ 2 r 1 + ⋯ V 4 = r 4 + γ r 1 + γ 2 r 2 + ⋯ \begin{aligned} V_1 &= r_1 + \gamma r_2 + \gamma^2 r_3 + \gamma^3 r_4 + \gamma^4 r_1 + \cdots \\ V_2 &= r_2 + \gamma r_3 + \gamma^2 r_4 + \gamma^3 r_1 + \cdots \\ V_3 &= r_3 + \gamma r_4 + \gamma^2 r_1 + \cdots \\ V_4 &= r_4 + \gamma r_1 + \gamma^2 r_2 + \cdots \end{aligned} V1V2V3V4=r1+γr2+γ2r3+γ3r4+γ4r1+⋯=r2+γr3+γ2r4+γ3r1+⋯=r3+γr4+γ2r1+⋯=r4+γr1+γ2r2+⋯

其中 γ ∈ [ 0 , 1 ) \gamma \in [0,1) γ∈[0,1) 是折扣因子(discount factor),表示未来奖励的"贬值率"。

关键观察:回报之间相互依赖

把 V 1 V_1 V1 的式子整理一下:

V 1 = r 1 + γ ( r 2 + γ r 3 + γ 2 r 4 + ⋯   ) ⏟ = V 2 = r 1 + γ V 2 V_1 = r_1 + \gamma \underbrace{(r_2 + \gamma r_3 + \gamma^2 r_4 + \cdots)}_{=V_2} = r_1 + \gamma V_2 V1=r1+γ=V2 (r2+γr3+γ2r4+⋯)=r1+γV2

同理可得:

V 2 = r 2 + γ V 3 , V 3 = r 3 + γ V 4 , V 4 = r 4 + γ V 1 V_2 = r_2 + \gamma V_3, \quad V_3 = r_3 + \gamma V_4, \quad V_4 = r_4 + \gamma V_1 V2=r2+γV3,V3=r3+γV4,V4=r4+γV1

写成向量形式:

V = r + γ P V \mathbf{V} = \mathbf{r} + \gamma P \mathbf{V} V=r+γPV

对于本例, P P P 就是确定性的循环转移矩阵:

P = 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 P = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \end{bmatrix} P= 0001100001000010

进一步整理得到 Bellman 方程的线性系统形式

( I − γ P ) V = r (I - \gamma P) \mathbf{V} = \mathbf{r} (I−γP)V=r

只要 ( I − γ P ) (I - \gamma P) (I−γP) 可逆(当 γ < 1 \gamma < 1 γ<1 时一定可逆),就能直接解出所有状态的价值:

V = ( I − γ P ) − 1 r \mathbf{V} = (I - \gamma P)^{-1} \mathbf{r} V=(I−γP)−1r


3. 状态价值函数 State Value Function

上面的例子是确定性的,而真实 RL 环境通常带有随机性。为此我们需要更严格的定义。

图 2:状态、动作、奖励、状态转移与折扣回报

3.1 基本符号

符号 含义
S t S_t St 时刻 t t t 的状态
A t A_t At 时刻 t t t 采取的动作
R t + 1 R_{t+1} Rt+1 采取动作 A t A_t At 后获得的奖励
S t + 1 S_{t+1} St+1 采取动作 A t A_t At 后转移到的下一状态
π ( a ∣ s ) \pi(a \mid s) π(a∣s) 策略:在状态 s s s 下选择动作 a a a 的概率
p ( r ∣ s , a ) p(r \mid s,a) p(r∣s,a) 奖励分布:在 ( s , a ) (s,a) (s,a) 下获得奖励 r r r 的概率
p ( s ′ ∣ s , a ) p(s' \mid s,a) p(s′∣s,a) 状态转移概率:在 ( s , a ) (s,a) (s,a) 下转移到 s ′ s' s′ 的概率

3.2 折扣回报(Discounted Return)

从时刻 t t t 开始,未来所有折扣奖励之和称为 return

G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ = ∑ k = 0 ∞ γ k R t + k + 1 G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \cdots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+⋯=k=0∑∞γkRt+k+1

由于奖励和转移都是随机的, G t G_t Gt 是一个随机变量

3.3 状态价值函数

状态价值函数 V π ( s ) V_\pi(s) Vπ(s) 定义为:在策略 π \pi π 下,从状态 s s s 出发的期望回报:

V π ( s ) = E π G t ∣ S t = s V_\pi(s) = \mathbb{E}_\pi G_t \\mid S_t = s Vπ(s)=EπGt∣St=s

它回答了:

"如果我现在处于状态 s s s,并且以后一直按照策略 π \pi π 行动,我平均能获得多少长期回报?"

图 3:状态价值是回报的期望;Bellman 方程推导的起始点


4. Bellman 方程的推导

Bellman 方程的核心思想是 把 G t G_t Gt 拆成第一步和剩余部分

G t = R t + 1 + γ G t + 1 G_t = R_{t+1} + \gamma G_{t+1} Gt=Rt+1+γGt+1

代入 V π ( s ) V_\pi(s) Vπ(s) 的定义:

V π ( s ) = E G t ∣ S t = s = E R t + 1 + γ G t + 1 ∣ S t = s = E R t + 1 ∣ S t = s + γ E G t + 1 ∣ S t = s \begin{aligned} V_\pi(s) &= \mathbb{E}G_t \\mid S_t = s \\6pt &= \mathbb{E}R_{t+1} + \\gamma G_{t+1} \\mid S_t = s \\6pt &= \mathbb{E}R_{t+1} \\mid S_t = s + \gamma \mathbb{E}G_{t+1} \\mid S_t = s \end{aligned} Vπ(s)=EGt∣St=s=ERt+1+γGt+1∣St=s=ERt+1∣St=s+γEGt+1∣St=s

4.1 即时奖励的期望

第一项是当前步能拿到的平均奖励

E R t + 1 ∣ S t = s = ∑ a π ( a ∣ s ) ∑ r p ( r ∣ s , a )   r \mathbb{E}R_{t+1} \\mid S_t = s = \sum_a \pi(a \mid s) \sum_r p(r \mid s,a) \, r ERt+1∣St=s=a∑π(a∣s)r∑p(r∣s,a)r

4.2 未来回报的期望

第二项是未来回报的期望。利用马尔可夫性质和全期望公式:

E G t + 1 ∣ S t = s = ∑ s ′ E G t + 1 ∣ S t = s , S t + 1 = s ′   p ( s ′ ∣ s ) = ∑ s ′ E G t + 1 ∣ S t + 1 = s ′   p ( s ′ ∣ s ) = ∑ s ′ V π ( s ′ )   p ( s ′ ∣ s ) = ∑ s ′ V π ( s ′ ) ∑ a π ( a ∣ s ) p ( s ′ ∣ s , a ) \begin{aligned} \mathbb{E}G_{t+1} \\mid S_t = s &= \sum_{s'} \mathbb{E}G_{t+1} \\mid S_t = s, S_{t+1} = s' \, p(s' \mid s) \\6pt &= \sum_{s'} \mathbb{E}G_{t+1} \\mid S_{t+1} = s' \, p(s' \mid s) \\6pt &= \sum_{s'} V_\pi(s') \, p(s' \mid s) \\6pt &= \sum_{s'} V_\pi(s') \sum_a \pi(a \mid s) p(s' \mid s,a) \end{aligned} EGt+1∣St=s=s′∑EGt+1∣St=s,St+1=s′p(s′∣s)=s′∑EGt+1∣St+1=s′p(s′∣s)=s′∑Vπ(s′)p(s′∣s)=s′∑Vπ(s′)a∑π(a∣s)p(s′∣s,a)

4.3 合并得到 Bellman 期望方程

把两部分合并,得到 Bellman 期望方程(Bellman Expectation Equation)

V π ( s ) = ∑ a π ( a ∣ s ) ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) V π ( s ′ ) \boxed{ V_\pi(s) = \sum_a \pi(a \mid s) \left \\sum_r p(r \\mid s,a) r + \\gamma \\sum_{s'} p(s' \\mid s,a) V_\\pi(s') \\right } Vπ(s)=a∑π(a∣s)r∑p(r∣s,a)r+γs′∑p(s′∣s,a)Vπ(s′)

图 4:即时奖励期望与未来回报期望的分解

这个方程说明:

  • V π ( s ) V_\pi(s) Vπ(s) 依赖于即时奖励的期望
  • V π ( s ) V_\pi(s) Vπ(s) 也依赖于所有后继状态的价值 V π ( s ′ ) V_\pi(s') Vπ(s′);
  • 策略 π \pi π、奖励分布 p ( r ∣ s , a ) p(r\mid s,a) p(r∣s,a)、转移概率 p ( s ′ ∣ s , a ) p(s'\mid s,a) p(s′∣s,a) 都是已知的,只有 V π V_\pi Vπ 是未知函数。

5. 求解状态价值:解析解与迭代解

5.1 解析解(闭式解)

把 Bellman 方程写成矩阵形式(见第 6 节):

V π = r π + γ P π V π \mathbf{V}\pi = \mathbf{r}\pi + \gamma P_\pi \mathbf{V}_\pi Vπ=rπ+γPπVπ

整理得:

V π = ( I − γ P π ) − 1 r π \mathbf{V}\pi = (I - \gamma P\pi)^{-1} \mathbf{r}_\pi Vπ=(I−γPπ)−1rπ

只要状态数有限且 γ < 1 \gamma < 1 γ<1,逆矩阵一定存在,可以直接计算。

5.2 迭代解(动态规划)

当状态空间很大时,求逆矩阵计算量太大。可以用 迭代策略评估(Iterative Policy Evaluation)

V k + 1 = r π + γ P π V k \mathbf{V}{k+1} = \mathbf{r}\pi + \gamma P_\pi \mathbf{V}_k Vk+1=rπ+γPπVk

从任意初始值 V 0 \mathbf{V}_0 V0 开始,反复更新,序列 { V k } \{\mathbf{V}k\} {Vk} 会收敛到真实的 V π \mathbf{V}\pi Vπ:

lim ⁡ k → ∞ V k = V π \lim_{k \to \infty} \mathbf{V}k = \mathbf{V}\pi k→∞limVk=Vπ

图 5:Bellman 方程的闭式解与迭代解


6. 矩阵-向量形式

为了计算方便,通常把 Bellman 方程写成紧凑的矩阵形式。

图 6:Bellman 方程的矩阵-向量表示

定义:

  • 状态价值向量: V π = V π ( s 1 ) , ... , V π ( s n ) T \mathbf{V}_\pi = V_\\pi(s_1), \\dots, V_\\pi(s_n)^T Vπ=Vπ(s1),...,Vπ(sn)T
  • 平均奖励向量: r π ( s ) = ∑ a π ( a ∣ s ) ∑ r p ( r ∣ s , a ) r r_\pi(s) = \sum_a \pi(a \mid s) \sum_r p(r \mid s,a) r rπ(s)=∑aπ(a∣s)∑rp(r∣s,a)r
  • 策略诱导的状态转移矩阵:

P π i j = p π ( s j ∣ s i ) = ∑ a π ( a ∣ s i ) p ( s j ∣ s i , a ) P_\\pi{ij} = p\pi(s_j \mid s_i) = \sum_a \pi(a \mid s_i) p(s_j \mid s_i, a) ij=pπ(sj∣si)=a∑π(a∣si)p(sj∣si,a)

则 Bellman 方程变为:

V π = r π + γ P π V π \boxed{ \mathbf{V}\pi = \mathbf{r}\pi + \gamma P_\pi \mathbf{V}_\pi } Vπ=rπ+γPπVπ

对应到四状态网格例子中,转移矩阵可以具体写出来,然后代入数值求解。


7. 动作价值函数 Action Value Function

有时候我们更关心:在当前状态 s s s 下,采取某个具体动作 a a a 会有多好? 这就是 Action Value Function(动作价值函数) ,记为 q π ( s , a ) q_\pi(s,a) qπ(s,a):

q π ( s , a ) = E π G t ∣ S t = s , A t = a q_\pi(s,a) = \mathbb{E}_\pi G_t \\mid S_t = s, A_t = a qπ(s,a)=EπGt∣St=s,At=a

图 7:动作价值函数与状态价值函数的关系

7.1 动作价值的 Bellman 方程

由于动作已经确定,不再需要关于 a a a 求期望:

q π ( s , a ) = ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) V π ( s ′ ) \boxed{ q_\pi(s,a) = \sum_r p(r \mid s,a) r + \gamma \sum_{s'} p(s' \mid s,a) V_\pi(s') } qπ(s,a)=r∑p(r∣s,a)r+γs′∑p(s′∣s,a)Vπ(s′)

7.2 状态价值与动作价值的关系

状态价值是所有动作价值的加权和,权重就是策略 π \pi π:

V π ( s ) = ∑ a π ( a ∣ s ) q π ( s , a ) \boxed{ V_\pi(s) = \sum_a \pi(a \mid s) q_\pi(s,a) } Vπ(s)=a∑π(a∣s)qπ(s,a)

这个关系非常重要:

  • 如果我们已经算出所有 V π ( s ′ ) V_\pi(s') Vπ(s′),就能算出 q π ( s , a ) q_\pi(s,a) qπ(s,a);
  • 如果我们已经算出所有 q π ( s , a ) q_\pi(s,a) qπ(s,a),就能算出 V π ( s ) V_\pi(s) Vπ(s);
  • Policy IterationQ-learning 中,这两个函数会反复互相更新。

图 8:动作价值的具体计算与总结


8. 一个 4×4 网格的完整数值示例

考虑如下简化网格世界(与笔记中保持一致):

  • 4 个状态 s 1 , s 2 , s 3 , s 4 s_1, s_2, s_3, s_4 s1,s2,s3,s4;
  • 策略是确定性的:
    • 在 s 1 s_1 s1 选择动作 a 3 a_3 a3,转移到 s 3 s_3 s3,获得奖励 0 0 0;
    • 在 s 2 s_2 s2 选择动作 a 4 a_4 a4,转移到 s 4 s_4 s4,获得奖励 1 1 1;
    • 在 s 3 s_3 s3 选择动作 a 3 a_3 a3,停留在 s 3 s_3 s3,获得奖励 1 1 1;
    • 在 s 4 s_4 s4 选择动作 a 4 a_4 a4,停留在 s 4 s_4 s4,获得奖励 1 1 1。
  • 折扣因子 γ = 0.9 \gamma = 0.9 γ=0.9。

8.1 列方程

根据 Bellman 方程:

V π ( s 1 ) = 0 + 0.9   V π ( s 3 ) V π ( s 2 ) = 1 + 0.9   V π ( s 4 ) V π ( s 3 ) = 1 + 0.9   V π ( s 3 ) V π ( s 4 ) = 1 + 0.9   V π ( s 4 ) \begin{aligned} V_\pi(s_1) &= 0 + 0.9 \, V_\pi(s_3) \\ V_\pi(s_2) &= 1 + 0.9 \, V_\pi(s_4) \\ V_\pi(s_3) &= 1 + 0.9 \, V_\pi(s_3) \\ V_\pi(s_4) &= 1 + 0.9 \, V_\pi(s_4) \end{aligned} Vπ(s1)Vπ(s2)Vπ(s3)Vπ(s4)=0+0.9Vπ(s3)=1+0.9Vπ(s4)=1+0.9Vπ(s3)=1+0.9Vπ(s4)

8.2 手工求解

由 V π ( s 3 ) = 1 + 0.9 V π ( s 3 ) V_\pi(s_3) = 1 + 0.9 V_\pi(s_3) Vπ(s3)=1+0.9Vπ(s3) 解得:

V π ( s 3 ) = 1 1 − 0.9 = 10 V_\pi(s_3) = \frac{1}{1 - 0.9} = 10 Vπ(s3)=1−0.91=10

同理 V π ( s 4 ) = 10 V_\pi(s_4) = 10 Vπ(s4)=10, V π ( s 2 ) = 1 + 0.9 × 10 = 10 V_\pi(s_2) = 1 + 0.9 \times 10 = 10 Vπ(s2)=1+0.9×10=10, V π ( s 1 ) = 0.9 × 10 = 9 V_\pi(s_1) = 0.9 \times 10 = 9 Vπ(s1)=0.9×10=9。

8.3 Python 验证

python 复制代码
import numpy as np

# 折扣因子
gamma = 0.9

# 策略诱导的转移矩阵 P_pi
# 行:当前状态 s1,s2,s3,s4;列:下一状态 s1,s2,s3,s4
P_pi = np.array([
    [0, 0, 1, 0],   # s1 -> s3
    [0, 0, 0, 1],   # s2 -> s4
    [0, 0, 1, 0],   # s3 -> s3
    [0, 0, 0, 1],   # s4 -> s4
])

# 平均奖励向量 r_pi
r_pi = np.array([0, 1, 1, 1])

# 解析解:V = (I - gamma * P)^(-1) * r
V_closed = np.linalg.solve(np.eye(4) - gamma * P_pi, r_pi)
print("解析解 V =", V_closed)
# 输出: [ 9. 10. 10. 10.]

# 迭代解
V = np.zeros(4)
for k in range(50):
    V = r_pi + gamma * P_pi @ V
print("迭代解 V =", V)
# 输出: [ 9. 10. 10. 10.]

输出结果与手算完全一致:

V π = 9 , 10 , 10 , 10 T \mathbf{V}_\pi = 9,\\ 10,\\ 10,\\ 10^T Vπ=9, 10, 10, 10T

8.4 直观解释

  • s 3 , s 4 s_3, s_4 s3,s4 是"自循环奖励状态",每步都能稳定获得奖励 1 1 1,因此价值等于无限折扣和 1 1 − γ = 10 \frac{1}{1-\gamma} = 10 1−γ1=10;
  • s 2 s_2 s2 一步进入 s 4 s_4 s4,所以价值也是 10 10 10;
  • s 1 s_1 s1 需要先花一步进入 s 3 s_3 s3,奖励被折扣一次,所以价值是 0.9 × 10 = 9 0.9 \times 10 = 9 0.9×10=9。

9. 总结

概念 定义 作用
Return G t G_t Gt ∑ k = 0 ∞ γ k R t + k + 1 \sum_{k=0}^\infty \gamma^k R_{t+k+1} ∑k=0∞γkRt+k+1 衡量一条轨迹的长期收益
State Value V π ( s ) V_\pi(s) Vπ(s) E G t ∣ S t = s \mathbb{E}G_t \\mid S_t=s EGt∣St=s 评估"状态 s s s 在策略 π \pi π 下有多好"
Action Value q π ( s , a ) q_\pi(s,a) qπ(s,a) E G t ∣ S t = s , A t = a \mathbb{E}G_t \\mid S_t=s, A_t=a EGt∣St=s,At=a 评估"在 s s s 做动作 a a a 有多好"
Bellman 方程 V π ( s ) = ∑ a π ( a ∣ s ) ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) V π ( s ′ ) V_\pi(s) = \sum_a \pi(a\mid s)\left\\sum_r p(r\\mid s,a)r + \\gamma \\sum_{s'}p(s'\\mid s,a)V_\\pi(s')\\right Vπ(s)=∑aπ(a∣s)∑rp(r∣s,a)r+γ∑s′p(s′∣s,a)Vπ(s′) 把价值函数递归地联系起来
矩阵形式 V π = r π + γ P π V π \mathbf{V}\pi = \mathbf{r}\pi + \gamma P_\pi \mathbf{V}_\pi Vπ=rπ+γPπVπ 便于解析求解和迭代计算

Bellman 方程不仅是数学上的优美恒等式,更是无数 RL 算法的灵魂:

  • 策略评估(Policy Evaluation) :用 Bellman 方程迭代求 V π V_\pi Vπ;
  • 策略改进(Policy Improvement) :用 q π ( s , a ) q_\pi(s,a) qπ(s,a) 选择更优动作;
  • 值迭代(Value Iteration):直接用 Bellman 最优方程迭代求最优价值;
  • Q-learning / SARSA:在未知模型的情况下,用样本估计来近似 Bellman 更新。

理解了 Bellman 方程,你就掌握了 RL 大厦的第一块基石。


10. 附录:原始手写学习笔记

下面是我整理这篇博文时参考的 8 张手写学习笔记原图,方便对照查看推导细节。

图 1:Bellman 方程的动机与确定性例子

图 2:状态价值函数的定义

图 3:状态价值与回报的关系、Bellman 方程推导起点

图 4:即时奖励与未来回报的期望分解

图 5:一个 4 状态网格的具体求解示例

图 6:Bellman 方程的矩阵-向量形式

图 7:解析解、迭代解与动作价值函数

图 8:动作价值计算与总结


写在最后:如果你也在入门强化学习,建议把 Bellman 方程自己推一遍,再用一个小例子手算 + 代码验证,印象会深刻很多。欢迎大家在评论区交流讨论!

关键词:强化学习、Bellman 方程、状态价值、动作价值、策略评估、动态规划、折扣回报、Reinforcement Learning


华丽的分隔线


以上内容生成全部是AI完成的,使用的工具是WorkBuddy,内容为:

上面这些是学习笔记,学习bellman公式的,我现在要根据上面的内容,在合理的扩展情况下,完成博文的撰写,撰写的内容于发在csdn上,格式是markdown格式的,帮我完成标题、内容、样例这些撰写,博文的最后要保留这几张图片,帮我完成它

好吧,还是要承认效果很不错,有种再次回顾课程的感觉,有些解释比第一次看过程时能理解的更好,继续加油...

相关推荐
ysa0510306 小时前
【并查集】判环
c++·笔记·算法
FakeOccupational8 小时前
【电路笔记 通信】IEEE 1588精密时间协议(PTP):时间戳格式+精确到ns的时间表示与处理
笔记
aaaameliaaa10 小时前
计算斐波那契数(递归、迭代)(1,1,2,3,5.....)
c语言·开发语言·笔记·算法·排序算法
小c君tt11 小时前
linux学习笔记1
linux·笔记·学习
ysu_031412 小时前
高数期末复习笔记
笔记
疯狂打码的少年12 小时前
【操作系统】段式存储管理与段页式存储管理
笔记
半导体守望者14 小时前
MKS C系列MFC CMA10 CMA50快速紧凑型手侧与PC联网教程软件驱动USB
经验分享·笔记·功能测试·自动化·制造
小c君tt15 小时前
QT笔记记录
开发语言·笔记·qt