[通俗易懂]《动手学强化学习》学习笔记2-第2、3、4章

文章目录

  • 前言
  • 小总结(前文回顾)
  • 第二章 多臂老虎机
    • 2.2.2形式化描述
  • 第三章 马尔可夫决策过程
    • 3.6 占用度量 代码
    • 3.6 占用度量 定理2
  • 第四章 动态规划算法
    • 4.3.3 策略迭代算法 代码
  • 总结


前言

参考:
《动手学强化学习》作者:张伟楠,沈键,俞勇
动手学强化学习 网页版
动手学强化学习 github代码
动手学强化学习 视频
强化学习入门这一篇就够了!!!万字长文(讲的很好)
+
参考:
强化学习入门(第二版)读书笔记

小总结(前文回顾)

先简单总结一下第一章所学的知识点:
我做了一个思维导图很方便理解
之后学习完会在这里一直更新。

这里2、3、4章作者讲的非常好,就是得多读几遍,这里只做下当时学习时没弄明白的笔记。

补充一下:第2、3、4章要下载的库
#第2章
pip install numpy
pip install matplotlib
#第4章
pip install pygame
pip insatll gym

第二章 多臂老虎机

第二章的代码基本上认真看都能看懂,和伪代码一对照看,很容易就看懂了。

random.uniform(x, y) 是指在均匀分布下(所有值出现的概率相等),随机生成[x,y]内的浮点型数,包含x和y。

2.2.2形式化描述

在这里插入图片描述
这里"R(·|a)"通常表示在给定条件"a"的情况下,某个随机变量的概率分布函数。这里的”·"是一个占位符,代表随机变量的可能值。例如,如果我们有一个随机变量X,那么"R(x|a)"将表示在条件"a"下,随机变量X取值为x的概率。

第三章 马尔可夫决策过程

3.6 占用度量 代码

占用度量定义:
在这里插入图片描述

问题:红色箭头和公式对不上
在这里插入图片描述
这一部分的估计实际概率就相当于
在这里插入图片描述
原因:在这里插入图片描述
这样就和公式对应了。

3.6 占用度量 定理2

问题 :不理解这个定理2是什么意思。
在这里插入图片描述
目前自己理解为:
分母上的a’为:除了状态s目前的动作a外的其他动作。
这里分母为能访问到状态s下的其他动作的概率的和。
在这里插入图片描述
但没有具体程序,也没有实际例子,不能断定。

第四章 动态规划算法

4.3.3 策略迭代算法 代码

公式为:
在这里插入图片描述
问题:
1、是因为这个环境是基于模型的,所以要乘以状态转移概率吗?
2、这里+= 用了累加,可公式中只有对状态转移函数进行了累加求和,这个r回报没有进行累加求和,为什么代码里用了+=的形式,而不是先+=后面的状态转移函数再进行单独的相加r?
在这里插入图片描述
原因:这里的r(s,a)根据先前书上的定义,r(s,a)=E(r|S=s,A=a),也就是说这个已经是求过期望后的了。
如果它是求过期望前:则公式为这样:
在这里插入图片描述
那么两个问题就迎刃而解了。这里qsa有点迷惑性质
1、这里的p对应的是p(s’|s,a)。
若不是基于模型的,或者说不是这个算法的,大概率是没有这个p的,看每个算法的公式异同了。
2、这里的累加放在这里就对应第二个累加求和的符号。

总结

其余代码多看两遍就理解了,和伪代码都对的上。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要部署IP SSL证书?怎么申请?

我们需要知道什么是IP SSL证书。SSL,全称为Secure Sockets Layer,即安全套接层,是为网络通信提供安全及数据完整性的一种安全协议。而IP SSL证书就是基于SSL协议的一种证书,它能够为网站和用户的数据传输提供加密处理,…

Prometheus-Grafana基础篇安装绘图

首先Prometheus安装 1、下载 https://prometheus.io/download/ 官网路径可以去这儿下载 2、如图: 3.解压: tar -xf prometheus-2.6.1.linux-amd64 cd prometheus-2.6.1.linux-amd64 4.配置文件说明: vim prometheus.yml 5.启动Promethe…

OpenHarmony NAPI 框架生成工具实现流程

NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件一键生成 NAPI 框架代码、业务代码框架、GN 文件等。在开发 JS 应用与 NAPI 间接口时,底层框架开发者无需关注 Nodejs 语法、C 与 JS 之间的数据类型转换等上层应用转换逻辑,只关注底…

论文| Convolutional Neural Network-based Place Recognition - 2014

2014-Convolutional Neural Network-based Place Recognition

Qt plugin 开发UI界面插件

目录 1.创建接口 2.创建插件 3.创建插件界面 4.插件实现 5.创建应用工程 6.应用插件 1.创建接口 打开QtCreater,点击左上角“文件”->新建文件或项目,在弹窗中选择C/CHeader File。 输入文件名,选好路径(可自行设置名称…

Golang | Leetcode Golang题解之第16题最接近的三数之和

题目&#xff1a; 题解&#xff1a; func threeSumClosest(nums []int, target int) int {sort.Ints(nums)var (n len(nums)best math.MaxInt32)// 根据差值的绝对值来更新答案update : func(cur int) {if abs(cur - target) < abs(best - target) {best cur}}// 枚举 a…

BM96 主持人调度(二)(贪心算法)

一开始写的时候忘了给start、end数组赋值了 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规定的值即可** 计算成功举办活动需要多少名主持人* param n int整型 有n个活动* param start…

Qt——示波器/图表 QCustomPlot

一、介绍 QCustomPlot是一个用于绘图和数据可视化的Qt C小部件。它没有进一步的依赖关系&#xff0c;提供友好的文档帮助。这个绘图库专注于制作好看的&#xff0c;出版质量的2D绘图&#xff0c;图形和图表&#xff0c;以及为实时可视化应用程序提供高性能。QCustomPlot可以导出…

解决 VSCode 编辑器点击【在集成终端中打开】出现新的弹框

1、问题描述 在 VSCode 的项目下&#xff0c;鼠标右键&#xff0c;点击【在集成终端中打开】&#xff0c;出现新的一个弹框。新版的 VSCode 会有这个问题&#xff0c;一般来说我们都希望终端是在 VSCode 的控制台中打开的&#xff0c;那么如何关闭这个弹框呢&#xff1f; 2、解…

浅谈一下数据接口怎么方便我们的工作

最近一段时间&#xff0c;一直在折腾自己工作上面的一些事情&#xff0c;这几天终于稍微闲下来去做一份表格。 这份表格是基于一款游戏的数据接口去做一个动态的运算&#xff0c;核算出相关的利润率等等的数据。那么我们今天来具体聊聊Excel的获取数据功能。 现在比较多应用都…

VUE3和SpringBoot实现ChatGPT页面打字效果SSE流式数据展示

在做这个功能之前&#xff0c;本人也是走了很多弯路&#xff08;花了好几天才搞好&#xff09;&#xff0c;你能看到本篇博文&#xff0c;那你就是找对地方了。百度上很多都是使用SseEmitter这种方式&#xff0c;这种方式使用的是websocket&#xff0c;使用这种方式就搞复杂了&…

Java项目:基于SSM+vue框架实现的人力资源管理系统设计与实现(源码+数据库+毕业论文+任务书)

一、项目简介 本项目是一套基于SSM框架实现的人力资源管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单、功能…

WEB漏洞-文件上传之WAF绕过及安全修复

#上传参数解析&#xff1a; Content-disposition&#xff1a;一般不可更改 Name&#xff1a;表单参数值&#xff0c;不能更改&#xff08;更改需要达到统一&#xff09; Filename&#xff1a;文件名&#xff0c;可以更改 Content-type&#xff1a;文件MIME&#xff0c;视情…

从零开始:构建、打包并上传个人前端组件库至私有npm仓库的完整指南

文章目录 一、写组件1、注册全局组件方法2、组件13、组件2 二、测试三、发布1、配置package.json2、生成库包3、配置发布信息4、发布 四、使用1、安装2、使用 五、维护1、维护和更新2、注意事项 一、写组件 确定组件库的需求和功能&#xff1a;在开始构建组件库之前&#xff0c…

【51单片机入门记录】RTC(实时时钟)-DS1302应用

目录 一、DS1302相关写函数 &#xff08;1&#xff09;Write&#xff3f;Ds1302 &#xff08;2&#xff09;Write&#xff3f;Ds1302&#xff3f;Byte 二、DS130相关数据操作流程及相关代码 &#xff08;1&#xff09;DS1302初始化数据操作流程及相关代码 (shijian[i]/10&…

4.9号驱动

1. ARM裸机开发和Linux系统开发的异同 相同点&#xff1a;都是对硬件进行操作 不同点&#xff1a; 有无操作系统 是否具备多进程多线程开发 是否可以调用库函数 操作地址是否相同&#xff0c;arm操作物理地址&#xff0c;驱动操作虚拟地址 2. Linux操作系统的层次 应用层…

SOCKS代理是如何提高网络性能和兼容性的?

SOCKS代理作为一种网络协议中间件&#xff0c;不仅在提升网络隐私和安全性方面发挥着重要作用&#xff0c;也在提高网络性能和兼容性方面有着不容忽视的影响&#x1f680;。本文将深入探讨SOCKS代理如何通过减少网络延迟&#x1f680;、优化数据传输&#x1f504;、提高跨平台兼…

基于Yolov5的检测系统实战

文章目录 一、数据集 二、网络结构 三、完整文件目录介绍 四、测试分析 一、数据集 1、数据格式&#xff1a;图像数据&#xff08;JPG格式&#xff09;&#xff0c;采用labelme标注后的图像&#xff08;XML格式&#xff09;&#xff0c;训练需要的TXT格式 2、数据来源&…

软考高项总结:第17章干系人管理

一、管理基础 1、每个项目都有干系人,他们会受到项目积极或消极的影响,或者能对项目施加积极或消极的影响。项目经理和团队管理干系人的能力决定着项目的成败。为提高项目成功的概率,尽早开始识别干系人并引导干系人参与。当项目章程被批准、项目经理被委任,以及团队开始组…

损失函数-交叉熵 梯度下降

文章目录 1、交叉熵的简单例子1.2、Classification Error&#xff08;分类错误率&#xff09;1.3、Mean Squared Error (均方误差)1.4、交叉熵损失函数1.5、二分类 2、什么是梯度下降法&#xff1f;2.2、梯度下降法的运行过程2.3、二元函数的梯度下降 1、交叉熵的简单例子 参考…