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

基于值函数的强化学习算法之SARSA详解

        SARSA是一种基于值函数的强化学习算法,属于同策略(On-Policy)方法,其核心思想是通过当前策略生成的实际动作序列来更新Q值。前文我们已经了解过Q-Learning,而Q-Learning是异策略(off-policy),即使用一个策略来探索,另一个策略来更新。与Q-Learning不同,SARSA严格遵循“行动策略即学习策略”的原则,这意味着它在学习过程中遵循的策略与用于行动的策略是相同的。这一点是SARSA的核心区别。具体的我们从SARSA的名字来源State-Action-Reward-State-Action就可知,说明它是基于当前状态、动作、奖励、下一个状态和下一个动作来进行更新的。因此SARSA特别适用于需要平衡探索与利用的安全敏感场景(如机器人避障、无人机飞行)。

        同时,SARSA也属于时间差分学习(Temporal Difference, TD)方法的一种。这个在后面的内容中继续学习。

        有关Q-Learning可以看我的文章:基于值函数的强化学习算法之Q-Learning详解-CSDN博客

一、核心思想

        同策略学习:SARSA使用当前策略(如ε-贪婪策略)生成的动作序列来更新Q值,即更新依赖于实际执行的动作(包括探索动作)。

        更新公式:基于贝尔曼方程,用实际下一步动作的Q值计算目标值:

        其中a′是实际在状态s′下选择的动作。

        SARSA使用的是实际执行的下一个动作的Q值。因此,SARSA的更新更依赖于实际采取的策略,这在某些情况下可能更安全,但收敛可能较慢。

二、算法流程

        SARSA的流程与Q-Learning类似,但关键区别在于动作选择和Q值更新

1.初始化

        创建Q值表Q(s,a),初始化为零或随机值。

        设置超参数:学习率α、折扣因子γ、探索率ϵ。

2.循环训练(每回合)

http://www.dtcms.com/a/49037.html

相关文章:

  • 02 HarmonyOS Next仪表盘案例详解(一):基础篇
  • Python执行脚本并捕获输出
  • linux下手动升级ollama
  • Windows逆向工程入门之MASM过程调用机制深度解析
  • 【前端css】position定位
  • 虚拟机IP的配置,让它上网
  • [BUUCTF]web--wp(持续更新中)
  • 嵌入式C语言学习记录之-14~17day
  • 2024第十六届蓝桥杯模拟赛(第二期)-Python
  • RT-DETR融合YOLOv12中的R-ELAN结构
  • NModbus 连接到Modbus服务器(Modbus TCP)
  • 详解DeepSeek模型底层原理及和ChatGPT区别点
  • 【通俗讲解电子电路】——从零开始理解生活中的电路(三)
  • 什么是 Prompt?——一篇详细的介绍
  • 一周学会Flask3 Python Web开发-Flask3之表单处理WTForms安装与定义WTForms表单类
  • 【向量数据库Weaviate】 和Elasticsearch的区别
  • 0012SSM+VUE学生考勤管理系统的设计与实现程序+文档
  • PGlite:浏览器中运行的PostgreSQL
  • ‌Vetur‌ 与 Vue-Official 的区别
  • Leetcode 316 去除重复字母
  • 第10篇:文件IO与数据持久化(下)(JSON、二进制文件)
  • 塔能物联运维:城市照明运维成本的破局之道
  • Python:全方位赋能,开启科技前沿无限可能
  • win32汇编环境,窗口程序中使控件子类化的示例一
  • 使用Linux服务器搭建。
  • (十 九)趣学设计模式 之 中介者模式!
  • Linux IO编程核心要点解析:文件、流与缓冲区实战指南
  • 多空狙击线-新指标-图文教程,多空分界买点以及强弱操盘技术教程,通达信炒股软件指标
  • 从DNS到TCP:DNS解析流程和浏览器输入域名访问流程
  • QKV 注意力机制在Transformer架构中的作用,和卷积在卷积神经网络中的地位,有哪些相似之处?