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

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

话不多说,进入正文。

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

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

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

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

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.mfbz.cn/a/764081.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day8: 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项

题目232. 用栈实现队列 - 力扣(LeetCode) class MyQueue { public:MyQueue() {}void push(int x) { // 出栈input.push(x);}int pop() {// 如果出栈为空,把入栈元素全都转移到出栈if (output.empty()) {while (!input.empty()) {int itop i…

基于小波同步压缩变换与集成深度学习的情绪识别

摘要 本研究设计了一种基于小波同步压缩变换(WSST)驱动优化集成深度学习(DL)的自动多类情绪识别(AMER)系统,用于识别样本依赖(subject-dependent)和样本独立(subject-independent)两种模式下的人类情感。使用WSST方法将1-D脑电(EEG)信号转换为2-D时频表征(TFR)&…

2024年6月总结及随笔之打卡网红点

1. 回头看 日更坚持了547天。 读《人工智能时代与人类未来》更新完成读《AI未来进行式》开更并更新完成读《AI新生:破解人机共存密码》开更并持续更新 2023年至2024年6月底累计码字1267912字,累计日均码字2317字。 2024年6月码字90659字,…

hadoop分布式云笔记系统-计算机毕业设计源码15725

摘 要 随着信息技术的飞速发展,人们对于数据的存储、管理和共享需求日益增长。传统的集中式存储系统在处理大规模数据时面临着性能瓶颈和扩展性问题。而 Hadoop 作为一种分布式计算框架,为解决这些问题提供了有效的解决方案。 本研究旨在设计并实现一种…

昇思25天学习打卡营第6天|关于函数与神经网络梯度相关技术探讨

目录 Python 库及 MindSpore 相关模块和类的导入 函数与计算图 微分函数与梯度计算 Stop Gradient Auxiliary data 神经网络梯度计算 Python 库及 MindSpore 相关模块和类的导入 Python 中的 numpy 库被成功导入,并简称为 np。numpy 在科学计算领域应用广泛&#x…

2、SSD基本技术

发展史 上文中说SSD是以闪存为介质的存储设备,这只能算是现代SSD的特点,而不能算是定义。 HDD是磁存储,SSD是电存储;HDD的特点导致寻址到不同扇区其性能存在明显差异,比如寻址下个扇区和上个扇区;而SSD寻…

SpringBoot学习06-[SpringBoot与AOP、SpringBoot自定义starter]

SpringBoot自定义starter SpringBoot与AOP SpringBoot与AOP 使用AOP实现用户接口访问日志功能 添加AOP场景启动器 <!--添加AOP场景启动器--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</…

第十四届蓝桥杯省赛C++A组F题【买瓜】题解(AC)

70pts 题目要求我们在给定的瓜中选择一些瓜&#xff0c;可以选择将瓜劈成两半&#xff0c;使得最后的总重量恰好等于 m m m。我们的目标是求出至少需要劈多少个瓜。 首先&#xff0c;我们注意到每个瓜的重量最多为 1 0 9 10^9 109&#xff0c;而求和的重量 m m m 也最多为…

3.2ui功能讲解之graph页面

本节重点介绍 : graph页面target页面flags页面status页面tsdb-status页面 访问地址 $ip:9090 graph页面 autocomplete 可以补全metrics tag信息或者 内置的关键字 &#xff0c;如sum聚合函数table查询 instante查询&#xff0c; 一个点的查询graph查询调整分辨率 resolutio…

中原汉族与北方游牧民族舞蹈文化在这段剧中表现得淋漓尽致,且看!

中原汉族与北方游牧民族舞蹈文化在这段剧中表现得淋漓尽致&#xff0c;且看&#xff01; 《神探狄仁杰》之使团喋血记是一部深入人心的历史侦探剧&#xff0c;不仅以其曲折离奇的案情和狄仁杰的睿智形象吸引观众&#xff0c;更以其对唐代文化的精准再现而备受赞誉。#李秘书讲写…

云计算【第一阶段(23)】Linux系统安全及应用

一、账号安全控制 1.1、账号安全基本措施 1.1.1、系统账号清理 将非登录用户的shell设为/sbin/nologin锁定长期不使用的账号删除无用的账号 1.1.1.1、实验1 用于匹配以/sbin/nologin结尾的字符串&#xff0c;$ 表示行的末尾。 &#xff08;一般是程序用户改为nologin&…

JavaScript——对象的创建

目录 任务描述 相关知识 对象的定义 对象字面量 通过关键字new创建对象 通过工厂方法创建对象 使用构造函数创建对象 使用原型(prototype)创建对象 编程要求 任务描述 本关任务&#xff1a;创建你的第一个 JavaScript 对象。 相关知识 JavaScript 是一种基于对象&a…

Spring Boot配置文件properties/yml/yaml

一、Spring Boot配置文件简介 &#xff08;1&#xff09;名字必须为application,否则无法识别。后缀有三种文件类型&#xff1a; properties/yml/yaml&#xff0c;但是yml和yaml使用方法相同 &#xff08;2&#xff09; Spring Boot 项⽬默认的配置文件为 properties &#xff…

kafka线上问题:rebalance

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 大家好,我是小米。今天,我们来聊聊一个在大数据处理领域常见但又令人头疼的问题——Kafka消费组内的重平衡(rebalance)。这可是阿里巴巴面试中的经…

惠海 H6912 升压恒流芯片IC 支持2.6-40V升12V24V36V48V60V100V 10A 摄影灯 太阳能灯 UV灯 杀菌灯

1.产品描述 H6912是一款外围电路简洁的宽调光比升压调光LED恒流驱动器&#xff0c;可适用于2.6-40V输入 电压范围的LED恒流照明领域。H6912可以实现高精度的恒流效果&#xff0c;输出电流恒流精度≤士3%&#xff0c;电压工作范围为2.6-40V.可以轻松满足锂电池及中低压的应用需…

第十四届蓝桥杯省赛C++B组D题【飞机降落】题解(AC)

解题思路 这道题目要求我们判断给定的飞机是否都能在它们的油料耗尽之前降落。为了寻找是否存在合法的降落序列&#xff0c;我们可以使用深度优先搜索&#xff08;DFS&#xff09;的方法&#xff0c;尝试所有可能的降落顺序。 首先&#xff0c;我们需要理解题目中的条件。每架…

R语言学习笔记1-介绍与安装

R语言学习笔记1-介绍与安装 简介应用领域R语言优势安装步骤&#xff08;linux版本&#xff09;在R脚本中绘制简单的条形图示例 简介 R语言是一种非常强大和流行的据分析和统计建模工具。它是一种开源的编程语言和环境&#xff0c;专门设计用于数据处理、统计分析和可视化。 应…

PHP贵州非遗推广小程序-计算机毕业设计源码14362

摘 要 本文设计并实现了一个基于贵州非遗推广的小程序&#xff0c;旨在通过小程序平台推广和展示贵州省非物质文化遗产。该小程序提供了非遗项目介绍、相关活动展示、购买非遗产品等功能。 首先&#xff0c;我们收集了贵州省各个非遗项目的资料和相关信息&#xff0c;并将其整理…

vue3中使用弹幕组件vue-danmaku

1、最开始使用的是vue3-marquee&#xff0c;后面发现一直有一个bug无法解决&#xff0c;就是鼠标hover到第一个弹幕上字体就会变粗&#xff0c;已经提了issue给作者&#xff0c;但是目前还未答复&#xff0c;所以就换了方案。 地址如下&#xff1a; https://github.com/megasa…

同时安装JDK8和JDK17+环境变量默认无法修改

一、问题描述 当在windows系统中&#xff0c;同时安装JDK8和JDK17&#xff0c;环境变量默认就为jdk17&#xff0c;且从jdk17切换为jdk8后不生效&#xff0c;使用"java -version"命令查看后还是17版本。 解决方法 首先&#xff0c;产生的原因是&#xff0c;在安装…