算法学习(八)——SARSA和Q-Learning

news/2024/7/23 19:25:41 标签: python, 算法, 深度学习, 人工智能

SARSA是一种on-policy算法,Q-Learning是一种off-policy算法

关于on-policy和off-policy的定义,网上有很多不同的讨论,我认为, on-policy和off-policy的差异 在于 训练目标策略 所用到的数据  (有时候也表现为数据  )是不是当前目标策略(此时还没开始训练)得到的 ,如果是目标策略得到的,那么就是on-policy,如果不是,那么就是off-policy。

 ——https://zhuanlan.zhihu.com/p/384497349

SARSA的伪代码:

Q-Learning的伪代码:

区别在于更新方式:

关于ε-greedy:

一种贪心选择算法,类似的还有UCB(最大置信度上界),在稍后的文章中再详细解释。

个人理解:

就是把奖励矩阵R通过反复迭代的方式,把值赋给价值矩阵Q,然后根据Q选择要转移的状态。

Q-learning很好的参考文章:

http://mnemstudio.org/path-finding-q-learning-tutorial.htm


http://www.niftyadmin.cn/n/957424.html

相关文章

reactive()的使用,这短代码为什么不好使

<div id"app">count: {{ count }} </div><script src"https://unpkg.com/vuenext"></script> <script> const state Vue.reactive({count: 0 });const vm app.mount(#app) </script>为什么不出来count: 0呢&#xf…

127.0.0.1拒绝了我们的连接请求

问题描述 浏览器打不开127.0.0.1&#xff0c;显示拒绝连接。试着ping了一下。 需要指明一点&#xff0c;::1是ipv6的地址&#xff0c;但正常localhost应该指向127.0.0.1。 使用Windows自带的网络诊断工具&#xff0c;出现了“127.0.0.1未设置为接受端口“万维网服务(HTTP)”上…

详解PyTorch项目使用TensorboardX进行训练可视化

目录 什么是TensorboardX配置TensorboardX 环境要求安装 使用 pip 安装从源码安装使用TensorboardX 使用各种 add 方法记录数据 数字 (scalar)图片 (image)直方图 (histogram)运行图 (graph)嵌入向量 (embedding)其他一些tips什么是TensorboardX Tensorboard 是 TensorFlow 的…

Python之利用abc模块实现抽象类

import abc #利用abc模块实现抽象类class All_file(metaclassabc.ABCMeta):all_type fileabc.abstractmethod #定义抽象方法&#xff0c;无须实现功能def read(self):# 子类必须定义写功能passabc.abstractmethod #定义抽象方法&#xff0c;无须实现功能def write(self…

toRefs解构响应式状态

<div id"app"><p>作者: {{ author }}</p><p>书名: {{ title }}</p> </div><script src"https://unpkg.com/vuenext"></script> <script> const { reactive, toRefs } Vue; /* 为什么这里又从effec…

toRef与toRefs有什么区别,没看出来,toRef是可以传单个的吗?单个的时候可以用toRefs传吗?综合的时候用toRefs简便得多?

<div id"app"><p>作者: {{ author }}</p><p>书名: {{ title }}</p> </div><script src"https://unpkg.com/vuenext"></script> <script> const { reactive, toRef } Vue; /* 为什么这里又从effect…

Pytorch的nn.DataParallel

公司配备多卡的GPU服务器&#xff0c;当我们在上面跑程序的时候&#xff0c;当迭代次数或者epoch足够大的时候&#xff0c;我们通常会使用nn.DataParallel函数来用多个GPU来加速训练。一般我们会在代码中加入以下这句&#xff1a; device_ids [0, 1] net torch.nn.DataParal…

pytorch中with torch.no_grad():

1.关于with with是python中上下文管理器&#xff0c;简单理解&#xff0c;当要进行固定的进入&#xff0c;返回操作时&#xff0c;可以将对应需要的操作&#xff0c;放在with所需要的语句中。比如文件的写入&#xff08;需要打开关闭文件&#xff09;等。 以下为一个文件写入…