机器学习——强化学习状态值函数V和动作值函数Q的个人思考

最近在回顾《西瓜书》的理论知识,回顾到最后一章——“强化学习”时对于值函数部分有些懵了,所以重新在网上查了一下,发现之前理解的,包括网上的大多数对于值函数的描述都过于学术化、公式化,不太能直观的理解值函数以及值函数的推导,我琢磨了一下,所以这篇文章想通过流程图的形式跟大家分享一下我个人对值函数的思考,如果有误,请见谅。当然,如果这篇文章还能入得了各位“看官”的法眼,麻烦点赞、关注、收藏,支持一下!

一、概念简述

状态值函数V(s):表示智能体从当前状态s出发,按照指定策略π执行直至终止的累积奖励

动作值函数Q(s,a):表示智能体从当前状态s出发,执行指定动作a后,再按照指定策略π执行直至终止的积累奖励

PS:建议小伙伴们去看一下我之前写的文章——《机器学习——强化学习中的“策略π”的个人思考》,这样可能更好的帮助大家理解“指定策略”这一概念

二、值函数详解及推导

为方便大家直观的了解值函数的相关概念,我先从最特殊的情况跟大家进行讲解,如下图1所示:

图1 

图1中S表示状态,a表示动作,R表示执行某一动作后获得的奖励,r表示执行某一动作所对应的奖励

图1是一种最特殊的情况,即当智能体状态为S0时,必然执行a0动作,执行a0动作后状态必然会改变至S1……其中,必然代表着概率是100%。从图中不难发现最后执行完毕后智能体的状态由S0变到了S4,状态值函数V(S0)=动作值函数(S0,a0),即:

进一步的,当只能体为状态S0时,其可执行的动作不仅仅是a0时,怎么办?我将结合图2继续说明:

 图2

图2中S和Y表示状态,a和c表示动作,R表示执行某一动作后获得的奖励,r和q表示执行某一动作所对应的奖励,π(S0,a0)表示按照策略π执行时,在当前状态S0选择执行动作a0的概率,π(S0,c0)同理,不做过多解释。

从图2中,可以很直观的看出,状态值函数V(S0)不再等于单一的动作值函数Q(S0,a0)或者Q(S0,c0),而是按照给定的概率由两个状态值函数构成,即如下所示:

图2中,智能体状态为S0时,可以执行的动作有两个,观察公式不难发现,此时,状态值函数V=不同的动作值函数Q与执行该动作的概率π的乘积累加和,因此,我们就可以将一个状态、两个动作推广到一个状态、多个动作,并得到相应的值函数,如下所示:

符号说明:上式中的s对应图2中的S0,表示当前状态,a对应的是图2中的a0和c0,表示当状态所要执行的动作,π(s,a)表示当前状态s下执行动作a的概率

既然一个状态可执行的动作不唯一,那么一个动作产生的状态是否也是不唯一的呢?我的答案是:是的!!!对此,我们依然采用从特殊到普遍的推导方法,来帮助大家更加直观的理解,直接上图:

 图3

图3中S和X表示智能体状态,a和b表示动作,R表示执行某一动作后获得的奖励,r和z表示执行某一动作所对应的奖励,P0表示智能体在状态S0时执行动作a0后状态变为S1的概率,P1同理,不做过多解释。

从图3中,可以很直观的得到如下几条等式:

因此,通过观察上述的公式,我们就可以将一个动作、两个状态推广到一个动作、多个状态,并得到相应的动作值函数,如下所示:

符号说明:上式中的s对应图3中的S0,表示当前状态,a对应的是图3中的a0,表示当状态所要执行的动作,s'对应图3中的S1和X1,表示下一个状态,P对应图3中的P0和P1,表示执行当前动作后状态变化的概率,Rs对应图3中的r0和z0,表示执行动作a且当前状态由s变到s'时环境返回的奖励,V(s')对应图3中的V(S1)和V(X1),表示智能体从下一状态s'出发,按照指定策略π执行直至终止的累积奖励,π(s,a)表示当前状态s下执行动作a的概率

上面已经讲了一个状态可能执行多个动作,以及一个动作可能产生多个状态的情况,那么有些脑子非常非常灵活的小伙伴可能已经想到,我们是否可以将两者结合,来推导出一下多个状态,多个动作的情况呢?我的答案是:可以!!!直接上图:

 图4

通过对比图2、图3和图4,不难发现,图4是图2和图3的有机结合,图4中既存在一个状态可能执行两个动作,又存在一个动作可能产生两个状态的情况,因此,我们可以从图4中得到如下公式:、

通过观察上述的公式,我们就可以得到多个状态,多个动作下的状态值函数,即如下所示:

符号说明:上式中的s对应图4中的S0,表示当前状态,a对应的是图4中的a0和c0,表示当状态所要执行的动作,s'对应图4中的S1、X1以及Y1,表示下一个状态,P对应图4中的P0和P1,表示执行当前动作后状态变化的概率,Rs对应图4中的r0、z0以及q0,表示执行动作a且当前状态由s变到s'时环境返回的奖励,V(s')对应图4中的V(S1)、V(X1)以及V(Y1),表示智能体从下一状态s'出发,按照指定策略π执行直至终止的累积奖励,π(s,a)表示当前状态s下执行动作a的概率

三、T步积奖例累函数推导说明

一些细心的小伙伴可能发现了,我上面列的一些公式可能跟市面上的大部分参考书不一样,但是内部的机理是一致的,为了防止有些朋友会存在困惑,所以我解释一下:

1、符号不一样:为了增加区分度,让各位的更清楚,所以自己增设了一些符号

2、奖励函数不一样:很多人在参考书上看到的奖励函数应该都是T步平均奖励,或者γ折扣奖励,而上文以T步的累计和作为奖励,之所以采用T步的累加和作为奖励,是因为这样大家可以更加的直观了解两个值函数之间的关系与转换

为了跟广大的参考书籍保持一致,下面这一小节,我主要对T步积累奖励函数及其相关推导进行说明。

这里给出的T步积累奖励函数的原公式来源于周志华老师的《西瓜书》

先给出《西瓜书》中的公式:

看到《西瓜书》上的公式,我相信大部分小伙伴都发现了,我上文中推导出来的黄色高亮公式与《西瓜书》中的公式非常像,唯一区别就在于《西瓜书》中的公式中多出了为什么会这样呢?

其实原因很简单,《西瓜书》中的公式是以T步的平均值作为奖励,而上文中是以T步的累加和作为奖励。

当我们以T步的平均值作为奖励,也就是说,我们可以将每步的奖励看做是原来每步奖励的T分之一,于是图1将转换成下图5:

图5 

声明:本文中的 和《西瓜书》公式中的的表达式是不一致的,查看下面式子中红色标记部分即可知晓

于是,图5中的信息可表示为:

通过对比上面的公式,我们不难发现,其中中的T主要是因为每步的奖励变为了原来的T分之一,而主要是为了保证的显示格式统一。

通过上文,我想我应该讲清楚了T步积累奖励函数,如果有小伙伴还有不明白的,欢迎评论,另外,因为本人有点懒,又累了,所以就不对γ折扣奖励函数进行说明,原理跟T步积累奖励函数一致

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

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

相关文章

SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution

CVPR2024 香港理工大学&OPPO&bytedancehttps://github.com/cswry/SeeSR?tabreadme-ov-file#-licensehttps://arxiv.org/pdf/2311.16518#page5.80 问题引入 因为有些LR退化情况比较严重,所以超分之后的结果会出现语义的不一致的情况,所以本文训…

AI影像测量:开启测量仪器的智能之眼

在基于机器视觉的影像测量中,一些复杂特征传统测量需要人工手动选点测量,不仅易受到人为因素的干扰,而且极大的降低测量效率,提高了人力成本和生产成本。AI影像测量技术运用先进的机器视觉和深度学习算法,可快速、准确…

工程技术类SCI,低分快刊首选期刊,无版面费!

1、期刊概况 【期刊简介】IF:1.0-2.0,JCR2区,中科院4区; 【检索情况】SCIE在检 【版面类型】正刊,仅少量版面; 【出刊频率】年刊 2、征稿范围 本刊主要是发表有关能源转型和可再生能源需求相关的研究文…

如何用程序批量下载小红书的图片?

如何使用MediaCrawler快速下载图片 作为一名图像算法工程师,怎么能没有图片资源呢?今天,我要介绍一个能快速下载图片的方法,仅供学习使用,请勿用于其他用途。 下载项目 首先,从GitHub下载项目&#xff1…

Zabbix 排坑版 Centos7

systemctl stop firewalld;systemctl disable firewalld;setenforce 0sed -i s/SELINUXenforcing/SELINUXdisabled/ /etc/selinux/configzabbix源地址,可以自己选版本,安装都大差不差 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5…

Codeforces Round 955 (Div. 2) A~E

A.Soccer(思维) 题意: 迪马喜欢看足球比赛。在这样一场比赛中,记分牌上的比分表示为 x x x: y y y,其中 x x x是第一队的进球数, y y y是第二队的进球数。在任何时候,只有一支球队可以进球&am…

超声波清洗机怎么选?极力推荐四款口碑大牌超声波清洗机

相信大家都知道超声波清洗机,每次眼镜脏的时候,去眼镜店里让老板帮忙清洗,她们用的就是超声波清洗机,通过超声波的原理深入物品深处清洁,清洁效果非常好。相对手洗的方式,超声波清洗机能够保护镜片在清洗过…

jq实现拖动滑块实现人机校验——基础积累

最近在写后台管理系统,同事遇到一个需求关于滑动验证的。之前的样式是: 现在只要底部的滑动验证,图片不要了,而且要滑动到右边才算是验证通过。 就是如下所示的最简单的验证方式: 由于同事现有的项目是mvc的&#…

昇思25天学习打卡营第1天|yulang

今天主要了解了深度学习框架之昇思MindSpore的初学入门,没想到 ai学习入门如此简单,不愧是华为大手笔,提供的学习环境配置如此之高。这个平台有点类似百度飞桨,大大降低了AI开发门槛,使用户能够快速实现想要的模型&…

Dinky 让Flink作业纵享丝滑

1.Dinky是什么? Dinky 是一个开箱即用的一站式实时计算平台,以 Apache Flink 为基础,连接 OLAP 和数据湖等众多框架,致力于流批一体和湖仓一体的建设与实践。Dinky 让Flink作业纵享丝滑,为 Apache Flink 深度定制的新一代实时计算…

【Python机器学习】模型评估与改进——留一法交叉验证

留一法也是一种常见的交叉验证方法。 我们可以将留一法交叉验证看作是每折只包含单个样本的k折交叉验证。对于每次划分,选择单个数据点作为测试集。这种方法可能非常耗时,特征是对于大型数据,但是小型数据集上有时可以给出更好的估计结果&am…

生产环境部署Nginx服务器双机热备部署-keepalived(多种模式教程)

前言:今天演示下生产环境keepalived的部署方式,安装模式有很多,比如说主备模型和双主模型,主备分:抢占模式 和 非抢占模式。这里我会一一展开说具体怎么配置一、双节点均部署Nginx: 第一步:上传…

MSYS2教程(windows环境下使用linux工具)

MSYS2教程(windows环境下使用linux工具) 1.msys2简介 MSYS2(Minimal SYStem 2)是一个集成了大量的GNU工具链、工具和库的开源软件包集合。它提供了一个类似于Linux的shell环境,可以在Windows系统中编译和运行许多Linux应用程序和工具。 MS…

Hive SQL:实现炸列(列转行)以及逆操作(行转列)

目录 列转行行转列 列转行 函数: EXPLODE(ARRAY):将ARRAY中的每一元素转换为每一行 EXPLODE(MAP):将MAP中的每个键值对转换为两行,其中一行数据包含键,另一行数据包含值 数据样例: 1、将每天的课程&#…

我的世界服务器-高版本服务器-MC服务器-生存服务器-RPG服务器-幻世星辰

生存为主,RPG乐趣为辅,重视每位玩家的建议,一起打造心目中的服务器,与小伙伴一起探险我的世界! 服务器版本: 1.18.2 ~ 1.20.4 Q群: 338238381 服务器官网: 星辰毛毛雨-Minecraft高版本生存服务器我的世界…

C语言入门-指针和数组5

指针和地址 地址 地址是内存中一个特定位置的标识符。每个内存位置都有一个唯一的地址,用于存储数据。这些地址通常表示为十六进制数。 物理地址:硬件层次上的实际内存地址。逻辑地址:程序运行时使用的地址,由操作系统管理。 …

“蓝潮卫士“水位雨量监测一体机,重塑城市防洪新防线!

​ 6月24日,湖南长沙遭遇了一场突如其来的特大暴雨侵袭。天空像破了个口子,雨水倾盆而下,仅仅1小时,就下了54个西湖,降水量突破了历史同期极值。这场暴雨直接导致了严重的城市内涝问题,部分地区瞬间变成一…

强化学习的数学原理:贝尔曼公式

大纲 这一节课程的大纲: 重点 对于这次课,重点是两个东西: Motivating examples(为什么需要贝尔曼公式) 首先要明白,为什么 return 是重要的? 之前其实就说过,return 能够帮助我们评价一个策略是好还是坏…

阿里云:云通信号码认证服务,node.js+uniapp(vue),完整代码

api文档&#xff1a;云通信号码认证服务_云产品主页-阿里云OpenAPI开发者门户 (aliyun.com) reg.vue <template> <div> <input class"sl-input" v-model"phone" type"number" maxlength"11" placeholder"手机号…

几度互联网站群管理系统全媒体解决方案

随着高考的结束&#xff0c;各高校开启了紧张的招生宣传工作&#xff0c;几度互联网站群系统助力各高校招生宣传。 学校官方网站是互联网时代学校对外交流的重要途径和信息公开的主要载体&#xff0c;是展示学校形象、密切联系师生的重要窗口&#xff0c;是加强校园宣传思想工…