当前位置: 首页 > news >正文

Expected Sarsa 算法的数学原理


🌟 一、Expected Sarsa 算法的数学原理

1. 什么是 Expected Sarsa?

Expected Sarsa 是一种基于 时序差分(Temporal Difference, TD)学习 的强化学习算法,用于估计 动作值函数 ( q_{\pi}(s, a) )。它是 Sarsa 算法的一种改进版本,通过计算期望值来减少方差,提高学习的稳定性。

2. Expected Sarsa 的目标方程

Expected Sarsa 的目标是求解以下方程:

[qπ(s,a)=E[Rt+1+γEAt+1∼π(St+1)[qπ(St+1,At+1)]∣St=s,At=a],∀s,a.][ q_{\pi}(s,a)=\mathbb{E}\Big[R_{t+1}+\gamma\mathbb{E}_{A_{t+1}\sim\pi(S_{t+1})}[q_{\pi}(S_{t+1},A_{t+1})]\Big|S_{t}=s,A_{t}=a\Big],\quad\forall s,a. ][qπ(s,a)=E[Rt+1+γEAt+1π(St+1)[qπ(St+1,At+1)]St=s,At=a],s,a.]

  • ( q_{\pi}(s,a) ):在策略 ( \pi ) 下,状态-动作对 ( (s,a) ) 的动作值函数。
  • ( R_{t+1} ):在状态 ( s ) 执行动作 ( a ) 后获得的即时奖励。
  • ( \gamma ):折扣因子,平衡即时奖励和未来奖励。
  • ( \mathbb{E}{A{t+1}\sim\pi(S_{t+1})}[\cdot] ):表示在下一状态 ( S_{t+1} ) 下,根据策略 ( \pi ) 选择动作 ( A_{t+1} ) 的期望。

3. 与贝尔曼方程的关系

上述方程是 贝尔曼期望方程(Bellman Expectation Equation) 的另一种表达形式:

[qπ(s,a)=E[Rt+1+γvπ(St+1)∣St=s,At=a],][ q_{\pi}(s,a)=\mathbb{E}\Big[R_{t+1}+\gamma v_{\pi}(S_{t+1})\Big|S_{t}=s,A_{t}=a\Big], ][qπ(s,a)=E[Rt+1+γvπ(St+1)St=s,At=a],]

  • ( v_{\pi}(S_{t+1}) ):在策略 ( \pi ) 下,下一状态 ( S_{t+1} ) 的状态值函数。
  • 这个方程表示动作值函数 ( q_{\pi}(s,a) ) 等于即时奖励加上下一状态的状态值函数的折扣期望。

🌟 二、Expected Sarsa 与 Sarsa 的区别

特点SarsaExpected Sarsa
更新目标使用实际采样的下一动作 ( A_{t+1} )使用下一状态所有动作的期望值
方差较高(因为采样动作随机性大)较低(因为对所有动作取期望)
稳定性较低较高
计算复杂度较低较高(需要计算期望)

🌟 三、Expected Sarsa 的更新公式

Expected Sarsa 的动作值函数更新公式为:

[Q(St,At)←Q(St,At)+α[Rt+1+γEA′∼π(St+1)[Q(St+1,A′)]−Q(St,At)]][ Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha \Big[ R_{t+1} + \gamma \mathbb{E}_{A'\sim\pi(S_{t+1})}[Q(S_{t+1}, A')] - Q(S_t, A_t) \Big] ][Q(St,At)Q(St,At)+α[Rt+1+γEAπ(St+1)[Q(St+1,A)]Q(St,At)]]

  • ( \alpha ):学习率。
  • ( \mathbb{E}{A’\sim\pi(S{t+1})}[Q(S_{t+1}, A’)] ):在下一状态 ( S_{t+1} ) 下,根据策略 ( \pi ) 对所有动作 ( A’ ) 的 ( Q ) 值取期望。

🌟 四、总结

你提供的图片内容强调了以下几点:

  • Expected Sarsa 是一种用于求解动作值函数的强化学习算法。
  • 它通过计算期望值来减少方差,提高学习的稳定性。
  • 该算法的数学基础是贝尔曼期望方程。

🌟 五、进一步学习建议

如果你想更深入地理解 Expected Sarsa 算法,可以:

  • 学习 SarsaQ-learning,比较它们与 Expected Sarsa 的异同。
  • 了解 on-policyoff-policy 的区别(Expected Sarsa 是 on-policy)。
  • 尝试用 Python 实现 Expected Sarsa 算法,解决简单的强化学习问题(如网格世界、悬崖行走等)。

希望这个解释能帮助你更好地理解 Expected Sarsa 算法!

http://www.lryc.cn/news/584373.html

相关文章:

  • Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用
  • Go语言包管理完全指南:从基础到最佳实践
  • UECC-UE连接协调的运作方式
  • 【会员专享数据】2013-2024年我国省市县三级逐月SO₂数值数据(Shp/Excel格式)
  • 2025年最新Python+Playwright自动化测试- 隐藏元素定位与操作
  • DSP的基础平台搭建
  • 24、企业设备清单管理(Equipment)详解:从分类到管理,设备全生命周期把控
  • 虚拟环境已安装该包,且已激活,但报错
  • 介绍 cnpm exec electron-packager
  • Apache http 强制 https
  • Qt使用脚本实现GUI扩展技术详解
  • Android View 绘制流程 优化 (Bitmap 复用+内容变化检测+防抖调度策略)
  • Canny边缘检测(cv2.Canny())
  • 2025年语言处理、大数据与人机交互国际会议(DHCI 2025)
  • MD5有什么特点吗
  • Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
  • fastMCP基础(一)
  • 如何将多个.sql文件合并成一个:Windows和Linux/Mac详细指南
  • STM32F103C8T6驱动无源蜂鸣器详解:从硬件设计到音乐播放
  • 【研报复现】方正金工:(1)适度冒险 因子
  • Boost.Asio学习(3):异步读写
  • Pytest之收集用例规则与运行指定用例
  • 读取按键的四种方式
  • Thrust库介绍与使用
  • AI进校园:北京中小学9月起开设AI通识课,每学年不少于8课时
  • 【PTA数据结构 | C语言版】链式栈的3个操作
  • AI 对话实现打字机效果 Vue3 setup
  • SEO算法更新应对:5大实战案例与优化策略
  • 力扣刷题记录(c++)06
  • The 2023 ICPC Asia Hangzhou Regional Contest(G. Snake Move(最短路))