强化学习笔记2--bellman equation
2026/7/23 7:13:04 网站建设 项目流程

一、State Value 状态价值的定义

在策略π下,从某个状态s开始会有多个trajectory,计算所有trajectory的平均Discounted Return,即为s1在策略π的state value,记为

如果在策略π中,s开始仅有一条trajectory,那么s的state value等于s的在这条trajectory的discounted return。

二、贝尔曼方程的推导

有这样一条trajectory

从时刻 t 开始的Discounted Return为:

可以直接写作:

这说明一个状态的 return 依赖于后续状态的 return。

脱离这条trajectory,将上述递归结构代入状态价值函数的定义中:

第一项:即时奖励期望
该项表示在状态 s 下,根据策略 π 选择动作,然后立刻获得奖励的期望值。展开为:

第二项:未来回报期望
该项表示在状态 s 下,所有可能转移到的下一个状态 s′ 的价值按其转移概率加权平均。展开为:

核心含义:当前状态的价值 = 即时奖励的期望 + 折扣后未来状态价值的期望。


三、矩阵形式的贝尔曼方程

对于有限状态空间,我们可以将贝尔曼方程写成矩阵形式,以描述所有状态价值之间的全局关系。

设状态空间大小为 n ,定义以下向量和矩阵:

向量r的元素为在策略 π 下ri获得的即时奖励均值

基于上述定义,标量形式的贝尔曼方程可以紧凑地表示为:


四、实例计算:2×2 网格世界

考虑一个 2×2 的网格,四个状态分别记为 s1,s2,s3,s4s1​,s2​,s3​,s4​ ,对应位置 [1,1], [1,2], [2,1], [2,2]。

在策略 π 下,各状态的转移和奖励如下:

  • 从 s1​ :以 0.5 概率选择动作 a1.1 ,转移到 s2​ ,获得奖励 -1;以 0.5 概率选择动作 a1.2,转移到 s3 ,获得奖励 0。
  • 从 s2 :选择动作 a2.1​ ,转移到 s4​ ,获得奖励 1。
  • 从 s3​ :选择动作 a3.1​ ,转移到 s4​ ,获得奖励 1。
  • 从 s4 :选择动作 a4.1​ ,自循环到 s4​ ,获得奖励 1。

根据贝尔曼方程,列出每个状态的价值方程:

矩阵形式:

像这样根据策略以及bellman equation进行state value求解就叫做策略评估 policy evaluation

计算出的state value可以用来对策略进行评估

五、一种迭代方式

在第三章中计算得到的state value的矩阵计算公式需要矩阵求逆,在高维矩阵实现较为复杂,这里介绍一种迭代方式可以进行state value计算。

公式:

r π 相当于第三章矩阵公式的矩阵r,Pπ相当于矩阵P

依然使用上面网格世界的例子进行展示

可以看到,随着迭代进行,各状态的state value在不断更新并逐渐接近真实值如 vπ(s4)=1/(1−0.9)=10=10 。实际应用中,当相邻两次迭代的差值小于某个阈值时,即可认为已收敛。

六、Action Value动作价值的定义

学习了state value后action value就很好理解了,state value会计算状态s下所有action的平均return

而action value衡量的是在状态s下采取特定action后的平均return

公式:

它与状态价值函数的关键区别在于:状态价值是对所有可能动作的加权平均,而动作价值是固定某个动作后的期望回报

从状态价值到动作价值的转换

回顾state value的公式

换成另一个式子

可知:

以及

根据这些公式可以通过state value计算action value,也可以通过action value计算state value

实例计算

依旧用之前的网格世界例子进行展示

计算s1的向右和向下两个action的action value

除此之外,策略没有定义的动作(即 𝜋(𝑎∣𝑠)=0的动作)也可以计算action value,当需要计算的依赖项(当前状态 𝑠 和执行的动作 𝑎、转移后的即时奖励r、转移后状态 𝑠'以及转移后的state value)全部已知时就可以计算。

如果当前策略之外的action的action value > 当前策略action的action value,就说明当前策略并非最优策略,这时策略优化的核心依据。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询