Sarsa VS Q-Learning

news2024/11/16 15:32:02

前言

1.如何计算价值函数?

为了使模型训练的最好,学习到更多有用的知识即完成任务的最好策略。对策略好坏的评价标准自然是得到最多最好的奖励,那么如何找到最好的最好的奖励,即如何得到最好的价值函数?
首先对于在状态s,根据策略采取行为 a 的总奖励q是 当前奖励R 和 对未来各个可能的状态转化奖励的期望v组成,根据一定的 ϵ 概率每次选择奖励最大q或探索,便可以组成完整的策略,那么目标就变成了计算这个 q 值,然后根据q选择策略就好。
在这里插入图片描述

  • 穷举法:把所有可能的路径和状况都试一遍计算,直接比较最后哪条路的总价值最大。
  • 动态规划(DP):将一个问题拆成几个子问题,分别求解这些子问题,反向推断出大问题的解。即要求最大的价值,那么根据递推关系,根据上一循环得到的价值函数来更新当前循环。但是它需要知道具体环境的转换模型,计算出实际的价值函数。相比穷举法,动态规划即考虑到了所有可能,但不完全走完。
  • 蒙特卡洛(MC):采样计算。即通过对采样的多个完整的回合(如玩多次游戏直到游戏结束),在回合结束后来完成参数的计算,求平均收获的期望并对状态对动作的重复出现进行计算,最后再进行更新。

在这里插入图片描述
状态价值函数和动作价值函数的更新就为:
在这里插入图片描述
这种方法是价值函数q的无偏估计,但方差高(因为需要评价每次完成单次采样的结果,波动往往很大)。

  • 时序差分(TD):步步更新。不用知道全局,走一步看一步的做自身引导。即此时与下一时刻的价值函数差分(也可以理解是现实与预测值的差距)来近似代替蒙特卡洛中的完整价值。
    在这里插入图片描述
    那么:
    在这里插入图片描述
    所以它是有偏估计,但是方差小,也便于计算,在实践中往往用的最多。

一、 Sarsa算法简介

Sarsa 是一种on-policy算法,它优化的是它实际执行的策略,它直接用下一步会执行的动作去优化 Q 表格。
在学习的过程中,只存在一种策略,它用同一种策略去做动作的选取和优化。所以 Sarsa 知道它下一步的动作有可能会跑到悬崖那边去,它就会在优化自己的策略的时候,尽可能离悬崖远一点。

1.更新公式

在这里插入图片描述

2.预测策略

  • Sarsa算法采用ε 贪心搜索的策略

3.代码

链接:https://pan.baidu.com/s/1LOTz2xTbNbu6DrEpYAnnZw?pwd=ps7l
提取码:ps7l

二、Q-Learning算法简介

Sarsa 是一种off-policy算法,它优化的是它所有执行的策略,它用下一步会执行的所有动作去优化 Q 表格。
在学习的过程中,存在两种策略,它用一种策略去做动作的选取,用另一种策略优化。所以 Q-Learning 不知道它下一步的动作有可能会跑到悬崖那边去,它就会在优化自己的策略的时候,找到一条风险比较大的路。

1.更新公式

在这里插入图片描述

2.二者区别

Q-learning 和 SARSA 这两个公式区别就在Q value 更新方式上,Q-learning 是用max的方式更新Q value ,也就是说这个max方式就是他的更新策略(不带有探索性,完全的贪婪)。但是Q-learning的执行策略是带有epsilon的探索方式。所以他就是Off Policy

3.预测策略

  • Q-learning 算法采用ε 贪心搜索的策略

4.代码

链接:https://pan.baidu.com/s/1j3igmVPZ6eTLAaOy2qTp8A?pwd=vca7
提取码:vca7

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/420017.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode.2280 表示一个折线图的最少线段数

题目链接 Leetcode.2280 表示一个折线图的最少线段数 Rating : 1681 题目描述 给你一个二维整数数组 stockPrices,其中 stockPrices[i] [dayi, pricei]表示股票在 dayi的价格为 pricei 。折线图 是一个二维平面上的若干个点组成的图,横坐标…

ROS学习——艰辛的环境安装之路一Ubuntu

文章目录Ubuntu安装和下载页面设置安装Vmware Tools安装VSCODE用几个常用命令简单熟悉下UbuntuUbuntu 安装和下载 Ubuntu的安装和下载 看这个链接 Ubuntu安装和下载1 或者这个链接 Ubuntu安装和下载2 页面设置 安装Vmware Tools 看这个链接 VMware Tools的介绍和安装 安装…

算法训练第五十五天 | 392.判断子序列、115.不同的子序列

动态规划part15392.判断子序列题目描述思路总结115.不同的子序列题目描述思路392.判断子序列 题目链接:392.判断子序列 参考:https://programmercarl.com/0392.%E5%88%A4%E6%96%AD%E5%AD%90%E5%BA%8F%E5%88%97.html 题目描述 给定字符串 s 和 t &…

RabbitMQ 基础篇 | 黑马

目录 一、RabbitMQ简介 1、AMQP 2、基本概念 3、工作模式 4、JMS 5、小结 二、快速入门 简单模式 生产者 消费者 三、工作模式 1、Work queues 工作队列模式 2、Pub/Sub 订阅模式 3、Routing 路由模式 4、Topics 通配符模式 四、SpringBoot整合RabbitMQ 1、生产…

ESP32设备驱动-BME680环境传感器驱动

BME680环境传感器驱动 文章目录 BME680环境传感器驱动1、BME680介绍2、硬件准备3、软件准备4、驱动实现1、BME680介绍 BME680 是一款集成环境传感器,专为尺寸和低功耗是关键要求的移动应用和可穿戴设备而开发。 BME680 扩展了 Bosch Sensortec 现有的环境传感器系列,首次集成…

电影《龙马精神》观后感

上周看了龙叔的电影《龙马精神》,整体故事围绕着一匹马而展开的,因为这匹马,饰演罗师傅的龙叔,被小混混催债,因为这匹马,罗师傅才有机会和女儿接触,因为这匹马,才有机会看见女婿。 看…

数据结构-排序

本节目标: 1.排序的概念及其运用 2.常见排序算法的实现 3.排序算法复杂度及稳定性分析 1.排序的概念及其应用 1.1排序的概念 排序就是按照某个我们设定的关键字,或者关键词,递增或者递减,完成这样的操作就是排序。 1.2排…

打开组策略提示:无法为文件xxx找到适当的资源文件,错误=2的解决方法

最近把自己的电脑升级成win11了,出现了一些bug,不见得是win11系统的问题,也可能是某个过程出现了问题,出现了问题咱就解决,参考了几个文档和视频,最终解决了,记录一下。 打开本地策略出现问题如…

7.Java中的String类、常用类及包装类

Java中的String类、常用类及包装类 一、String类 1、String类定义 String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为…

2023爱分析·中国城市轨交智能运维市场厂商评估报告:逸迅科技

报告编委 张扬 爱分析联合创始人&首席分析师 王鹏 爱分析分析师 目录 1. 研究背景 2. 市场综述 3. 市场分析 4. 厂商评估:逸迅科技 5. 最佳实践案例 1. 研究背景 轨道交通是我国国民经济的命脉和交通运输的骨干网络,不仅承担了绝大…

RocketMQ 消息发送源码解读

可靠同步发送、可靠异步发送、单向发送、批量消息发送。 RocketMQ 消息发送需要考虑以下3个问题。 1)消息队列如何进行负载? 2)消息发送如何实现高可用? 3)批量消息发送如何实现一致性? org.apache.rocketm…

基于SpringBoot+微信小程序的失物招领小程序

基于SpringBoot微信小程序的失物招领小程序 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目…

通达信欧奈尔RPS指标公式编写和设置方法(完全版)

通达信欧奈尔RPS指标公式的编写和设置较为复杂,对于初学者来说可能具有一定挑战性。在编写口袋支点公式时,需要使用RPS指标公式作为基础条件,因此有必要先了解其编写和设置方法。 一、上市一年以上选股 首先选出上市一年以上的股票&#xff…

python实现折线图和条形图

画图的部分函数 pandas 读取数据 相关包:import pandas as pd 函数:dfpd.read_excel(“文件名”) #读取excel文件 df.head(n)#查看前n行 df.tail(n)#查看后n行 df.shape #查看行数和列数 df.columns # 查看列索引 df.index #查看行索引 df.info() #查看…

怎样恢复删除的视频?视频恢复,4个方法!

案例:怎样恢复删除的视频 【谁懂啊!电脑里视频太多了太占内存,本想删除一些不太重要的,但却删错了!有朋友知道怎样恢复删除的视频吗?】 在数字化时代,我们经常使用电脑来存储和管理各种视频文…

股票量比实时筛选报警

一.什么是股票的量比 量比是短线投资一个参考指标,是衡量相对成交量的一个数值和指标,用于反映股票交易相对于以往的活跃程度;是指在股市开盘以后,平均每一分钟的成交量与过去五个交易日平均每分钟交易量的比。反映股票相对最近5…

自动驾驶定位模块的作用是什么?为什么会有多种坐标系?

无人车,要实现自动驾驶,首先要知道自己的的位置。更准确的说法是:相对某个坐标系,确定车辆的位置和姿态。 这个坐标系可以是局部的: 也可以是全局坐标系: 这是更大维度上的坐标系。 坐标系确定之后,相对坐标原点和坐标轴,车上坐标系(本地坐标系),平移得到位置(x…

SQL语句要点一文速览

以下内容参考《SQL必知必会(第4版)》 了解 SQL 数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)。最简单的办法是将数据库想象为一个文件柜。这个文件柜是一个存放数据的…

【数据结构】算法的时间复杂度和空间复杂度(下)(附leetcode练习题)

☃️个人主页:fighting小泽 🌸作者简介:目前正在学习C语言和数据结构 🌼博客专栏:数据结构 🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪&…

【Linux】system V 共享内存

文章目录system V1. 共享内存原理第一阶段原理第二阶段原理2. 直接写代码--编写代码进行原理介绍shmget函数ftok函数key值用法1. 创建key值2. 创建共享内存 获取共享内存3. 将自己和共享内存关联起来4. 将自己和共享内存取消关联5. 删除共享内存用指令删除调用系统调用完整代码…