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

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.hqwc.cn/news/95221.html

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

相关文章

【方案】基于视频与AI智能分析技术的城市轨道交通视频监控建设方案

一、背景分析 地铁作为重要的公共场所交通枢纽,流动性非常高、人员大量聚集,轨道交通需要利用视频监控系统来实现全程、全方位的安全防范,这也是保证地铁行车组织和安全的重要手段。调度员和车站值班员通过系统监管列车运行、客流情况、变电…

使用PAM保障开发运营安全

硬编码凭据和 DevOps 系统中缺乏凭据安全性是组织的巨大漏洞。以明文形式访问凭据的恶意内部人员可以在 IT 中建立和扩展其立足点 基础设施,构成巨大的数据被盗风险。 什么是PAM 特权访问管理 (PAM) 是指一组 IT 安全管理原则,可…

Redis之管道解读

目录 基本介绍 使用例子 管道对比 管道与原生批量命令对比 管道与事务对比 使用pipeline注意事项 基准测试 基本介绍 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务器。 这意味着请求通常按如下步骤处理: 客户端发送一个请求到服务器&am…

Go实现LogCollect:海量日志收集系统【下篇——开发LogTransfer】

Go实现LogAgent:海量日志收集系统【下篇】 0 前置文章 Go实现LogAgent:海量日志收集系统【上篇——LogAgent实现】 前面的章节我们已经完成了日志收集(LogAgent),接下来我们需要将日志写入到kafka中,然后…

【C++入门】命名空间、缺省参数、函数重载、引用、内联函数

​👻内容专栏: C/C编程 🐨本文概括: C入门学习必备语法 🐼本文作者: 阿四啊 🐸发布时间:2023.9.3 前言 C是在C的基础之上,容纳进去了面向对象编程思想,并增加…

【C++技能树】继承概念与解析

Halo,这里是Ppeua。平时主要更新C,数据结构算法,Linux与ROS…感兴趣就关注我bua! 继承 0. 继承概念0.1 继承访问限定符 1. 基类和派生类对象赋值兼容转换2. 继承中的作用域3. 派生类中的默认成员函数4.友元5.继承中的静态成员6.菱…

如何使用Puppeteer进行新闻网站数据抓取和聚合

导语 Puppeteer是一个基于Node.js的库,它提供了一个高级的API来控制Chrome或Chromium浏览器。通过Puppeteer,我们可以实现各种自动化任务,如网页截图、PDF生成、表单填写、网络监控等。本文将介绍如何使用Puppeteer进行新闻网站数据抓取和聚…

Linux挖矿程序清除

1. 找到挖矿进程 2.找到病毒的文件地址 ls -l /proc/进程ID/exe3.删除文件命令 rm -rf 文件地址4.杀死挖矿进程 kill -9 进程ID

Python入门学习——Day2-控制流程

一、Python 控制流程 什么是控制流程: 在Python中,控制流程指的是根据不同的条件或规则来控制程序的执行顺序和逻辑。Python提供了多种控制流程的语句和结构,可以根据条件进行分支判断和循环迭代。 1.1 条件语句(if-elif-else&…

Kafka知识点总结

常见名词 生产者和消费者 同一个消费组下的消费者订阅同一个topic时,只能有一个消费者收到消息 要想让订阅同一个topic的消费者都能收到信息,需将它们放到不同的组中 分区机制 启动方法 生成者和消费者监听客户端

Docker consul 容器服务自动发现和更新

目录 一、什么是服务注册与发现 二、Docker-consul集群 1.Docker-consul consul提供的一些关键特性 2.registrator 3.Consul-template 三、Docker-consul实现过程 以配置nginx负载均衡为例 先配置consul-agent ,有两种模式server和client 四、Docker-cons…

自然语言处理(五):子词嵌入(fastText模型)

子词嵌入 在英语中,“helps”“helped”和“helping”等单词都是同一个词“help”的变形形式。“dog”和“dogs”之间的关系与“cat”和“cats”之间的关系相同,“boy”和“boyfriend”之间的关系与“girl”和“girlfriend”之间的关系相同。在法语和西…