机器学习——强化学习中的“策略π”的个人思考

news2024/9/20 5:46:42

这两天回顾了《西瓜书》中的最后一章——“强化学习”,但是忽然发现之前对于本章中的“策略π”的理解有些偏差,导致我在看值函数公式时有些看不明白。对此,我在网上查了一些资料,但是大部分人都是一笔带过,或者是照本宣科,看的我仍然很迷惑,然后自己琢磨了一下,所以这篇文章主要想分享一下个人对于强化学习中的“策略π”的看法,如果有误请见谅,欢迎一起进行探讨。当然,如果这篇文章还能入得了各位“看官”的法眼,麻烦点赞、关注、收藏,支持一下!

话不多说,进入正文。

相信很多学习强化学习的伙伴们在初期都会有一个疑惑,具体的“策略π”是指什么?

直接我个人的看法,一个具体的策略π”本质上就是一条具体的公式

相信很多学习强化学习的伙伴们都知道,“策略π”分为两种,一种是确定性策略,一种是随机性策略。在我看来,一个具体的“策略π”,不管是确定性策略还是随机性策略,都只是一条具体的公式,两者本质上是没有区别的,只是说两者的输入与输出不同。对于确定性策略,他的输入是“状态”,输出是“动作”,而对与随机性策略,他的输入时“状态”和“动作”,输出是“概率”。

既然,“策略π”是一条具体的公式,那么他的输入和输出就是不固定的,换句话说,就是可以存在多个输入和多个输出的,但是每一个输入都对应一个输出,具体该如何理解呢?我举个路径规划例子,大家直观的感受一下,该例子中的“策略π”为随机性策略:

S0是起点,S3是终点,S1和S2是我们中间可能经过的地方,a0~a4是我们的具体选择,即我们要走哪条路,P0~P4则代表着我们在当前位置选择走某条路的概率,从上图中,我们不难看出,从起点S0出发,到达终点S3,有三种路径:

①S0→S1→S3     ②S0→S2→S3    ③S0→S2→S1→S3

在日常生活中,我们肯定会认为以上三种路径分别对应的是三种不同的策略,但是在强化学习中则不是这样的。在强化学习中,不管我们选择上面三条路径中的哪一条路径,其实都是基于同一个“策略π”

说到这里,可能有些小伙伴会很疑惑,为什么三条种路径都是基于同一个策略?因为“策略π”的本质是一条公式啊,概率P0~P4都是将相对应的S和a带入这条公式算出来的,这条公式是没变的,所以三条路径都是基于同一条“策略π”,也就是说,在同一“策略π”下,只要我们的输入S和a是确定的,那么我们就能得到一个固定的输出P。

另外,这里有一点需要注意

网上很多图片的标注具备误导性,导致广大网友可能会认为上图中的part1部分存在一个策略,part2部分存在一个策略,part3部分存在一个策略,这样其实是不对的。之所以不对,我举个反例大家就清楚了:

我们都知道T步积累状态值函数V是指按照某确定的策略执行T步的平均奖励的期望,定义式如下图所示。假设上图中的第③种路径不存在,只剩①和②两种路径,那么我们要算S0到S3的积累状态值函数,如果认为part1部分存在一个策略,part3部分存在一个策略,那从S0到S3的过程中就是在执行两个策略,那么就直接违背了积累状态值函数V是在执行某确定策略的定义和要求,那么我们就无法求得积累状态值函数V。

说明一下,上述公式中的x就对应第一张图中的S,两者都是表示状态 。

既然说到T步积累状态值函数了,我就紧接着路径规划的这个例子,把这条T步积累状态值函数的公式展开跟大家说说:

 先把P0~P4的值以及相应的奖励给出,如下两表所示:

P0P1P2P3P4
0.810.20.80.2
S0→S1S1→S3S0→S2S2→S1S2→S3
R0=1R1=2R2=3R3=4R4=5

解释一下,为什么第一张表格中的P1=1,因为当我们处于S1位置时,我们只有一条路可以选,所以选择走这条路的概率就是1

根据所列数据,我们可以求出在确定的某一“策略π”下,三种路径各自被选中的概率:

P(S0→S1→S3)=P0*P1=0.8*1=0.8

P(S0→S2→S3)=P2*P4=0.2*0.2=0.04

P(S0→S2→S1→S3)=P2*P3*P1=0.2*0.8*1=0.16

仔细观察上述的三个概率,不难发现:

P(S0→S1→S3)+P(S0→S2→S3)+P(S0→S2→S1→S3)=1

下面,我们计算积累状态值函数V :

 参考文章链接:

强化学习中状态价值函数和动作价值函数的理解-CSDN博客

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

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

相关文章

网络安全入门教程(非常详细)从零基础入门到精通,看完这一篇你就是网络安全高手了。

关于我 我算是“入行”不久的一个新人安全工作者,为什么是引号呢,因为我是个“半个野路子”出身。早在13年的时候,我在初中时期就已经在90sec、wooyun等社区一直学习、报告漏洞。后来由于升学的压力,我逐渐淡出了安全圈子&#x…

卷烟厂打叶复烤线万亿条数据处理难?TDengine 来解决!

在当今竞争激烈的市场环境中,烟草行业面临着越来越多的挑战。如何提升生产效率、降低成本、实现数字化转型,成为各大卷烟厂亟需解决的问题。近日,为解决某卷烟厂面临的一系列挑战,TDengine与云南昆船电子设备有限公司达成签约合作…

第二节:如何使用thymeleaf渲染html(自学Spring boot 3.x的第一天)

大家好&#xff0c;我是网创有方&#xff0c;今天来学习如何使用thymeleaf渲染html。该模板运用不广泛&#xff0c;所以本节内容了解既可。 第一步&#xff1a;创建html文件。 在模板templates目录下创建一个html文件。 编写代码如下&#xff1a; <!DOCTYPE html> <…

教程:在 Kubernetes 集群上部署 WordPress 网站

WordPress 是专为每个人设计的开源软件&#xff0c;强调创建网站、博客或应用程序的可访问性、性能、安全性和易用性。WordPress 是一个基于 PHP 的内容管理系统&#xff08;CMS&#xff09;&#xff0c;使用 MySQL 作为数据存储&#xff0c;目前很多网站、电商独立站、个人博客…

uniapp中实现瀑布流 短视频页面展示

直接上干货 第一部分为结构 <swiper class"list" :currentindex change"swiperchange" scrolltolower"onReachBottom"><swiper-item style"overflow: scroll;" v-for"(item,index) in 2" :key"index"&g…

day01-项目介绍及初始化-登录页

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 day01-项目介绍及初始化-登录页一、人力资源项目介绍1.1项目架构和解决方案主要模块解决的问题 二、拉取项目基础代码1.引入库2.升级core-js版本到3.25.5按照完整依…

【高级篇】InnoDB引擎深入:核心机制与实战优化(十五)

引言 在探索了MySQL集群与分布式技术之后,我们进入了数据库引擎的核心地带——InnoDB。作为MySQL的默认存储引擎,InnoDB凭借其对事务的支持、行级锁定、高效的恢复机制以及复杂的内存管理,成为众多应用场景的首选。本章,我们将深入InnoDB的内部机制,透彻理解锁管理、事务…

【数据结构】计数排序等排序

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

【人工智能学习之图像操作(四)】

【人工智能学习之图像操作&#xff08;四&#xff09;】 图像金字塔高斯金字塔拉普拉斯金字塔 模板匹配单对象匹配多对象匹配无缝融合Canny边缘提取算法 轮廓轮廓查找与绘制面积&#xff0c;周长&#xff0c;重心轮廓近似凸包与凸性检测边界检测轮廓性质 图像金字塔 高斯金字塔…

同步时钟:北斗/GPS卫星、电信基站、NTP以太网校时方式的区别

同步时钟是保证各设备时间统一的重要装置&#xff0c;广泛应用于电力、通信、金融、学校、医院、地铁等多个领域。目前&#xff0c;常用的同步时钟方式包括&#xff1a;北斗/GPS卫星、电信基站、NTP以太网等。 下面跟着小编来看一下这些校时方式及他们的区别吧。 1. 北斗/GP…

Windows Server 2019部署网络负载均衡NLB服务的详细操作步骤

部署前准备 首先需要准备两台Windows Server 2019服务器&#xff0c;虚拟机创建请参考 VMware Workstation安装Windows Server2019系统详细操作步骤_安装windows server 2019操作系统(写出操作过程)-CSDN博客 克隆虚拟机请参考 VMware Workstation克隆虚拟机详细步骤-CSDN博…

解决ssh: connect to host IP port 22: Connection timed out报错(scp传文件指定端口)

错误消息 ssh: connect to host IP port 22: Connection timed out 指出 SSH 客户端尝试连接到指定的 IP 地址和端口号&#xff08;默认 SSH 端口是 22&#xff09;&#xff0c;但是连接超时了。这意味着客户端没有在预定时间内收到来自服务器的响应。 可能的原因 SSH 服务未…

第三节:如何理解Spring的两个特性IOC和AOP(自学Spring boot 3.x第一天)

大家好&#xff0c;我是网创有方&#xff0c;接下来教大家如何理解Spring的两个特性IOC和AOP。本节有点难&#xff0c;大家多理解。 IOC&#xff08;控制反转&#xff09; 定义与核心思想&#xff1a; IOC&#xff0c;全称Inversion of Control&#xff0c;即控制反转。 其核…

桶排序的图解过程、代码实现和使用场景

桶排序&#xff08;bucket sort&#xff09;是分治策略的一个典型应用。它通过设置一些具有大小顺序的桶&#xff0c;每个桶对应一个数据范围&#xff0c;将数据平均分配到各个桶中&#xff1b;然后&#xff0c;在每个桶内部分别执行排序&#xff1b;最终按照桶的顺序将所有数据…

【Electron】Electron入门实现

Electron 学习笔记 Electron 是一个开源框架&#xff0c;允许开发者使用网页技术&#xff08;HTML、CSS 和 JavaScript&#xff09;来构建跨平台的桌面应用程序。它由 GitHub 开发并维护&#xff0c;最初是为了支持开发 Atom 编辑器。Electron 结合了 Chromium&#xff08;用于…

【Lua小知识】Vscode中Emmylua插件大量报错的解决方法

起因 Vscode写Lua用的好好的&#xff0c;最近突然出现了大量报错。 看报错是有未定义的全局变量&#xff0c;这里查日志才发现是由于0.7.5版本新增诊断启用配置&#xff0c;所以导致了原先好的代码&#xff0c;现在出现了大量的报错。 解决方案一 最直接的方法当然是在配置中直…

什么是GPIO口,GPIO口最简单的input/output

目录 一&#xff0c;什么是GPIO口 二&#xff0c;GPIO内部结构 三&#xff0c;GPIO口工作模式 一&#xff0c;什么是GPIO口 1.GPIO口是通用输入输出端口&#xff08;General-purpose input/output&#xff09;的英文缩写&#xff0c;是所有的微控制器必不可少的外设之一&…

没有兴趣爱好的我,怎么填报高考志愿选专业?

这是我从知乎看来的一个问题&#xff0c;也在知乎做了回复&#xff0c;顺便摘录下来做个记录。 原文是&#xff1a;以为考完了就走向人生巅峰了&#xff0c;谁知道会这么down。我爸这两天一直追着问我有什么理想&#xff0c;搞得我很难受。过去的十几年里&#xff0c;我对人生都…

stm32cubemx,adc采样的几种方总结,触发获取adc值的方法dma timer trigger中断

stm32cubemx adc采样的几种方总结&#xff0c;触发获取adc值的方法 timer trigger中断 方法1&#xff0c;软件触发方法2&#xff1a;,Timer触发ADC采集通过DMA搬运 触发获取adc值的方法 Regular Conversion launched by software 软件触发 调用函数即可触发ADC转换 Timer X Cap…

虹科技术丨跨越距离障碍:PCAN系列网关在远程CAN网络通信的应用潜力

来源&#xff1a;虹科技术丨跨越距离障碍&#xff1a;PCAN系列网关在远程CAN网络通信的应用潜力 原文链接&#xff1a;虹科技术 | 跨越距离障碍&#xff1a;PCAN系列网关在远程CAN网络通信的应用潜力 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; #PCAN #网关 #CA…