【强化学习】贝尔曼公式 - bellman equation

news2025/1/18 20:57:17

return作用

迷宫游戏
还是用这个迷宫游戏说。
首先明确,不撞墙到终点比撞墙到终点好。路径越短到终点越好。

  1. 不撞墙到终点比撞墙到终点好。你可以把撞墙这个reward设置成负数,不撞墙设置成0。那么在最终return进行累加的时候,不撞墙的return就会大。
  2. 路径越短到终点越好。我们计算return的时候还会乘上一个discount rate。介于0~1之间。走了几步这个rate就几次方再乘上reward进行求和。所以越后面到终点获得到的reward乘上这个rate就会越小
    在这里插入图片描述
    所以return可以来进行衡量我目前这个路径到底好还是不好

return计算

return可以衡量路径好还是不好那么也可以用来说明这个决策好还是不好。可以进行比较了。所以就需要进行对于return的计算。
比如说给出一个policy怎么计算他在这个policy下的return值为多少。
在这里插入图片描述
可以列出return式子长这样
在这里插入图片描述
可以用巧方法,把后面这个discount rate提出去变这样
在这里插入图片描述
每个都这样变换一下变成这样
在这里插入图片描述
然后把这几个标量组合到一起去,写成向量形式
在这里插入图片描述

然后就可以对这个矩阵方程进行求解,就可以解出这个V的向量值,也就是对应每一个return

这个就是贝尔曼公式
在这里插入图片描述

state value

刚刚的这个例子的策略是一个state只有一个action,但实际上我一个state不一定只有有一个action,可能会有好多个action进行选择做。所以需要新的指标,这个就是state value。
return实际上是针对一个trajectory进行一个reward进行一个累计。
那么如果我一个state有好几个action进行选择,然后每一个action进入了不同state,他们又有好几个action,推下去就有好多个好多个trajectory,也就是有好多个return。
state value就是把所有他们加起来算期望。也就是我只关心我的起点是这个state。只要是以这个state为起点就加进来算期望。最终得到的就是这个状态的state value
然后注意的是,这个state value也是要基于这个决策的。所以state value实际上会有两个参数,一个是policy一个是state。
例子
在这里插入图片描述
然后刚刚的那个return的例子,以及我们学习过的马尔科夫的性质,可以察觉到state value可以写成一个递推的式子。数学上确实也可以做的到。严谨的推理长这样:
在这里插入图片描述
把GT也就是return的第一步拆解了出来,再拆开期望进行分离,前部分就是关于行为获得reward的期望,后面就是discount rate乘上转移后状态的期望
在这里插入图片描述
然后去仔细分析一下这个概率取值。就会发现这个代表当前这个状态的各个行为的reward的期望
在这里插入图片描述
同样这个自习分析一下概率,可以发现这一项代表能够根据s状态转移到的不同状态对应的state value的期望

然后把前后两项相同的条件概率提出去就可以得到贝尔曼公式
在这里插入图片描述
参考第二个return特例,也可以写出贝尔曼公式的向量形式
在这里插入图片描述

action value

最后再说说action value。
return值可以反映我这个trajectory好不好。那么他进行期望,得到的state value就可以说明我这个状态是否是更接近我的目标的。
那么我们还需要进行考虑的是,我在我这个state 我到底需要进行那个action?所以就有action value。
感觉一下,我的做出action是不是有一个reward,然后我进行了action是不是到了一个新的state。所以我的action value就是把他们加起来。然后有多个action,算期望就行。
同理action value主要拿来评判我这个action到底哪个会好一点的。
有数学定义与证明。
这里略

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

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

相关文章

生信分析Python实战练习 4 | 视频22

开源生信 Python教程 生信专用简明 Python 文字和视频教程 源码在:https://github.com/Tong-Chen/Bioinfo_course_python 目录 背景介绍 编程开篇为什么学习Python如何安装Python如何运行Python命令和脚本使用什么编辑器写Python脚本Python程序事例Python基本语法 数…

打包个七夕exe玩玩

前段时间七夕 当别的哥们都在酒店不要不要的时候 身为程序员的我 还在单位群收到收到 正好后来看到大佬些的这个 https://www.52pojie.cn/thread-1823963-1-1.html 这个贱 我必须要犯,可是我也不能直接给他装个python吧 多麻烦 就这几个弹窗 好low 加上bgm 再打包成…

雪花算法生成id分析与实践

目录 1 什么是雪花算法? 结构 优点 缺点 2 在java中使用 使用注意: 测试代码 效果 1 什么是雪花算法? witter的雪花算法(Snowflake Algorithm)。雪花ID是一种分布式唯一ID生成算法,旨在解决分布式…

【C++历险记】面向对象|菱形继承及菱形虚拟继承

个人主页:兜里有颗棉花糖💪 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【C之路】💌 本专栏旨在记录C的学习路线,望对大家有所帮助🙇‍ 希望我们一起努力、成长&…

《多线程编程实战指南》总结

Java 并发和多线程编程推荐《Java 并发编程实战》和《多线程编程实战指南》,前者是外国非常受欢迎的书籍的翻译本,后者是国人写的书,符合国人的思维模式。 进程、线程与任务 在操作系统中会运行多个程序,一个运行中的程序就是一个…

msvcp120.dll丢失的解决方法?全面解决方法推荐

msvcp120.dll是Windows操作系统中的一个关键组件,如果丢失或损坏,可能会导致系统崩溃或无法正常运行。本文将介绍三种解决msvcp120.dll丢失问题的方法。 随着计算机应用的广泛普及,越来越多的人开始遇到各种电脑问题。其中,msvcp…

淘宝商品销量接口API更新(总销+精准月销API)

不少客户有获取淘宝商品销量的需求,淘宝商品销量接口主要用于以下业务场景。有不齐全的欢迎大家补充。 库存管理:商家可以通过接口获取到实时的销量信息,更好地进行库存管理。供应链计划:商家可以通过接口了解到商品的销售趋势&a…

一篇文章教会你什么是二叉搜索树

二叉搜索树 二叉搜索树概念二叉搜索树操作1.二叉搜索树的查找2.二叉搜索树的插入3.二叉搜索树的删除4.二叉搜索树的遍历 二叉搜索树的实现1.二叉搜索树节点结构2.二叉搜索树类3.二叉搜索树的构造及析构4.二叉搜索树的拷贝构造及赋值重载5.二叉搜索树插入6.二叉搜索树查找7.二叉…

Mybatis学习|日志工厂、分页

1.日志工厂 如果一个数据库操作,出现了异常,我们需要排错。日志就是最好的助手! 曾经: sout、debug 现在:日志工厂! 我们主要掌握STDOUT_LOGGING 和LOG4j 在Mybatis中具体使用哪个一日志实现,在设置中设定! 在mybatis核心配置文件中&#…

使用 ElasticSearch 作为知识库,存储向量及相似性搜索

一、ElasticSearch 向量存储及相似性搜索 在当今大数据时代,快速有效地搜索和分析海量数据成为了许多企业和组织的重要需求。Elasticsearch 作为一款功能强大的分布式搜索和分析引擎,为我们提供了一种优秀的解决方案。除了传统的文本搜索,El…

技术绕路─个人物品遗失情况说明

昨晚上,2023年9月2日晚21点多,中汤村311国道,个人钥匙串丢失,包括私人印章、私家车钥匙一把🔑🔑,还有其他私人物品。 私家车钥匙如下图: 特意在这个技术社区留一份声明。

【Apollo学习笔记】——规划模块TASK之SPEED_DECIDER

文章目录 前言SPEED_DECIDER功能简介SPEED_DECIDER相关配置SPEED_DECIDER流程MakeObjectDecisionGetSTLocationCheck类函数CheckKeepClearCrossableCheckStopForPedestrianCheckIsFollowCheckKeepClearBlocked Create类函数 前言 在Apollo星火计划学习笔记——Apollo路径规划算…

使用Sumo以及traci实现交叉口信号灯自适应控制

使用Sumo以及traci实现交叉口信号灯自适应控制 文章目录 使用Sumo以及traci实现交叉口信号灯自适应控制 使用Sumo以及traci实现交叉口信号灯感应控制一、什么是交叉口感应控制二、Traci中的感应控制实现流程1.感应控制逻辑2.仿真过程 使用Sumo以及traci实现交叉口信号灯感应控制…

无涯教程-JavaScript - WEIBULL函数

WEIBULL函数取代了Excel 2010中的WEIBULL.DIST函数。 描述 该函数返回威布尔分布。在可靠性分析中使用此分布,如计算设备的平均故障时间。 语法 WEIBULL(x,alpha,beta,cumulative)争论 Argument描述Required/OptionalXThe value at which to evaluate the function.Requir…

二进制转换16进制 快速心算

1111 1110 ---> 0xFE 1111 为 8 4 2 1 ---> 8 4 2 1 15 --> 16进制表示为F1110 为 8 4 2 0 ---> 8 4 2 0 14 --> 16进制表示为E

thinkPHP项目搭建

1 宝塔添加站点 (1)打开命令提示行,输入以下命令,找到hosts文件。 for /f %P in (dir %windir%\WinSxS\hosts /b /s) do copy %P %windir%\System32\drivers\etc & echo %P & Notepad %P (2)添加域…

关于Comparable、Comparator接口返回值决定顺序的问题

Comparable和Comparator接口都是实现集合中元素的比较、排序的,下面先简单介绍下他们的用法。 1. 使用示例 public class Person {private String name;private Integer age;public Person() {}public Person(String name, Integer age) {this.name name;this.ag…

软件产品确认测试鉴定测试

软件产品确认测试 确认测试也称鉴定测试,即验证软件的功能、性能及其它特性是否与用户的要求一致。软件确认测试是在模拟的环境下,验证软件是否满足需求规格说明书列出的需求。为此,需要首先制定测试计划,规定要做测试的种类&…

ETH PHY

核心信息: 信号: Layout 信号轨迹: PCB迹线是有损耗的,长迹线会降低信号质量。痕迹必须尽可能短。除非另有说明,否则所有信号迹线应为50Ω,单端阻抗。差分记录道应为50Ω,单端和100Ω差分。注…

【C++刷题】动态规划

文章目录 前言一、斐波那契系列1.第 N 个泰波那契数2.三步问题3.使用最小花费爬楼梯4.解码方法5.不同路径6.下降路径最小和7.地下城游戏 二、多种状态系列1.按摩师2.打家劫舍II3.删除并获得点数4.粉刷房子5.买卖股票的最佳时机6.买卖股票的最佳时机III 三、子数组和子串系列1.最…