《强化学习数学原理》学习笔记3——贝尔曼方程核心概念梳理

贝尔曼方程核心概念梳理

1. 状态价值(State Value)

v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s) = \mathbb{E}[G_t | S_t = s] vπ(s)=E[Gt∣St=s]

解释:策略 π \pi π 下,当前处于状态 s s s 时,从该状态往后所有回报的期望。

2. 动作价值(Action Value)

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

解释:策略 π \pi π 下,当前处于状态 s s s 且选动作 a a a 时,从该"状态 - 动作对"往后所有回报的期望。

3. 贝尔曼方程(元素形式)

v π ( s ) = ∑ a π ( a ∣ s ) [ ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) ] = ∑ a π ( a ∣ s ) q π ( s , a ) \begin{align*} v_{\pi}(s) &= \sum_{a} \pi(a|s) \left[ \sum_{r} p(r|s,a)r + \gamma \sum_{s'} p(s'|s,a)v_{\pi}(s') \right] \\ &= \sum_{a} \pi(a|s) q_{\pi}(s, a) \end{align*} vπ(s)=a∑π(a∣s)[r∑p(r∣s,a)r+γs′∑p(s′∣s,a)vπ(s′)]=a∑π(a∣s)qπ(s,a)

解释:状态 s s s 的价值 = 该状态下各动作的选择概率 × 对应动作价值,再求和;而动作价值包含"即时回报期望 + 后续状态价值的折扣期望"。

4. 贝尔曼方程(矩阵 - 向量形式)

v π = r π + γ P π v π v_\pi = r_\pi + \gamma P_\pi v_\pi vπ=rπ+γPπvπ

解释:用矩阵、向量整体表示状态价值关系, v π v_\pi vπ 是状态价值向量, r π r_\pi rπ 关联回报, P π P_\pi Pπ 关联状态转移,体现状态价值与后续状态、即时回报的线性联系。

5. 贝尔曼方程的解法

解析解(Closed - form Solution):通过代数运算直接求精确的状态价值表达式。

迭代解(Iterative Solution):通过不断迭代更新,逐步逼近状态价值的准确值。

最后贴一下原书第2章最后的问答,对笔者很有帮助:

问题1:状态价值与回报之间有什么关系?

答:某一状态的价值是智能体从该状态出发所能获得的回报的均值。

问题2:我们为何关注状态价值?

答:状态价值可用于评估策略。事实上,最优策略是基于状态价值来定义的。这一点在下一章会更加清晰。

问题3:我们为何关注贝尔曼方程?

答:贝尔曼方程描述了所有状态价值之间的关系。它是分析状态价值的工具。

问题4:为何求解贝尔曼方程的过程被称为策略评估?

答:求解贝尔曼方程会得到状态价值。由于状态价值可用于评估一个策略,因此求解贝尔曼方程可被解读为对相应策略的评估。

问题5:我们为何需要研究贝尔曼方程的矩阵 - 向量形式?

答:贝尔曼方程涉及为所有状态建立的一组线性方程。为了求解状态价值,我们必须将所有线性方程整合起来。矩阵 - 向量形式是这些线性方程的简洁表达式。

问题6:状态价值与动作价值之间有什么关系?

答:一方面,一个状态的价值是该状态下各动作价值的均值。另一方面,一个动作的价值依赖于智能体在采取该动作后可能转移到的后续状态的价值。

问题7:我们为何关注给定策略无法选择的动作的价值?

答:尽管给定的策略无法选择某些动作,但这并不意味着这些动作不好。相反,有可能给定的策略并非良策,从而错失了最佳动作。为了找到更好的策略,我们必须持续探索不同的动作,即便其中一些动作可能不会被给定的策略所选择。

相关推荐
点亮一颗LED(从入门到放弃)1 天前
C语言学习笔记
笔记·学习
找了一圈尾巴1 天前
Python 学习-深入理解 Python 进程、线程与协程(下)
开发语言·python·学习
遇到困难睡大觉哈哈1 天前
Harmony os ——ArkTS 语言笔记(五):泛型、空安全与可选链
前端·笔记·安全·harmonyos·鸿蒙
ljt27249606611 天前
Compose笔记(五十七)--snapshotFlow
android·笔记·android jetpack
活跃的煤矿打工人1 天前
【星海随笔】标准学习
学习
adam_life1 天前
【P8306 【模板】字典树】
数据结构·算法·字典树·trie·哈希表··结构体
Wenhao.1 天前
LeetCode Hot100 腐烂的橘子
算法·leetcode·职场和发展
行走的bug...1 天前
支持向量机
算法·机器学习·支持向量机
信号处理学渣1 天前
matlab之将一个升序数组按照元素值连续与否分成多组
数据结构·算法·matlab
大工mike1 天前
代码随想录算法训练营第三十四天 | 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
数据结构·算法·动态规划