当前位置: 首页 > 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.循环训练(每回合)

相关文章:

  • 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 去除重复字母
  • 河南网站建设设计/百度网页版网址
  • 分销商城平台开发/广州aso优化公司 有限公司
  • 如何跟进网站建设的客户/班级优化大师免费下载电脑版
  • 可靠的合肥网站建设/最新足球新闻头条
  • 机械网站建设方案/2023推广平台
  • 做批发行业哪个网站比较好/搭建一个网站需要什么