强化学习理论-第二课-贝尔曼公式

news/2024/11/15 22:31:08/文章来源:https://www.cnblogs.com/penuel/p/18531693

1. return和贝尔曼


上图说明从不同状态出发得到的return,依赖于从其他状态出发的return

v是return,将第一张图写成矩阵的形式,r代表immediate reward,是已知的,矩阵P是策略加上state transition,也是已知的,求解v
这个公式实际上就是贝尔曼公式

  1. \(S_t\)采用什么样的动作\(A_t\),是有策略决定的,\(\pi\)
  2. \(S_t\)采用了\(A_t\)的动作,reward是有reward probability决定,p
  3. \(S_t\)采用了\(A_t\)的动作,会产生什么状态,是有state transition probability决定的

2. State value

  • return和state value的区别:
    return:对单条轨迹的返回值
    state value:对多条轨迹的返回值,从一个状态出发,有可能会有多条轨迹

3. Bellman equation

贝尔曼公式描述了不同状态的state value之间的关系。

把state value分成了2个expectation,一个是immediate reward,一个是future reward。

3.1 mean of immediate reward:

在当前状态\(S_t\),得到的reward是\(R_{t+1}\),那么它的mean是多少:

\(\pi (a|s)\):在状态s,采取action_a的概率是\(\pi\),累加起来所有的action概率
\(p(r|s,a)r\):在状态s,采取action_a,获取reward为r的概率为p,再乘上reward本身的值,累加起来所有reward的概率

3.2 mean of future reward:

我从状态s出发,到一下时刻的return的mean。

第一行公式:
E:当前状态s,跳到下一状态\(s^{'}\)所得return的mean
\(p(s^{'} | s)\):当前状态s,跳到下一个状态\(s^{'}\)的概率
对所有的下一步状态进行累加

第三行公式:
\(v_{\pi} (s^{'})\):当前状态是\(s^{'}\),所得return的mean,这个就是\(s^{'}\)的state value。

第四行公式:
\(p(s^{'} | s, a)\pi(a|s)\):当前状态是s,采取action_a,会跳到状态\(s^{'}\)的概率p * 从s出发采取不同的action的概率\(\pi\),对所有可能的action概率累加

3.3 Bellman equation



注意一点,这个贝尔曼公式在使用中是一组公式,\(v_{\pi}(s)\)\(v_{\pi}(s^{'})\)都需要计算,然而前者依赖后者,看似不能计算,但是对于一个trajectory,有很多组公式,结合一起就可以计算了。
model是未知的话,就是model free reinforcement learning算法,这里还是有model的

3.4 列子:


3.5 贝尔曼公式变形为矩阵形式


4. Solve state values


最终,\(v_k\)会收敛到\(v_{\pi}\)
证明:

5. action values

与state values的区别:
state values:从一个状态到下一个状态的平均返回值
action values:从一个状态采取一个action到下一个状态的平均返回值
策略跟action value相关

5.1 定义:


这个\(q_{\pi}(s, a)\)就是action value。
从当前状态s出发,选择action_a,所得到的return的mean值。

6. 总结:

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

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

相关文章

为了`小米互联`升级big sur, 但是无用

起了个大早,升级到big sur,为了小米互联take some photos about upgrading macOS from 10.15.7 to 11.6.5about 1hour....dmg From hyperos.mi.com doesn’t work.Xiaomi HyperConnect 跨端智联app from appStore , incompatiablemy mac info ☁ Downloads neofetchc. …

OFA-Sys/chinese-clip-vit-base-patch16 占用显存测试

model.get_image_features(inputs)64 batch_size 2096MB 取消with torch.no_grad():后 8GB占满 16 batch_size 3886MBAutoModel .from_pretrained(MODEL_NAME) 执行慢,原因是需要启用网络代理,否则总是卡在验证阶段DataLoader 增加num_workers后 torch.cuda.OutOfMemoryError…

java 中都有哪些引用类型

强引用(Strong Reference):Java中默认声明的就是强引用,例如:​​Object obj = new Object();​​ 只要强引用存在,垃圾回收器将永远不会回收被引用的对象 ,哪怕内存不足时,JVM也会直接抛出OutOfMemoryError,不会去回收。如果想中断强引用与对象之间的联系,可以显示的…

类加载的执行过程

类加载的执行过程是Java虚拟机(JVM)将类文件从磁盘加载到内存,并进行验证、准备、解析和初始化等一系列操作的过程。这个过程可以分为以下几个阶段: 1. 加载根据查找路径找到相应的 class 文件然后导入;2. 验证检查加载的 class 文件的正确性;3. 准备给类中的静态变量分…

请问PbootCMS获取结果页面的搜索keyword值和tag值

问题:PbootCMS如何获取结果页面的搜索关键词和tag值? 答案:搜索关键词keyWord:如果搜索结果页面地址后缀为?keyword=三角形,则获取关键词方式为{$get.keyword} tag关键词:如果搜索结果页面地址后缀为/tag/伪静态配置.HTML,则获取关键词方式为{$get.tag} 其他页面:获取…

PbootCMS模板如何调用当前位置面包屑标签

PbootCMS模板如何调用当前位置面包屑标签标签:{pboot:position}参数说明:separator=*:分隔符,非必填,默认为>>indextext=*:首页文本,非必填,默认为"首页"扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各种CMS,精通PHP+MYSQL、HT…

织梦修改后的网站,织梦CMS内容管理与优化

织梦CMS(DedeCMS)是一款流行的开源内容管理系统,以下是一些内容管理和优化的步骤:登录后台:打开网站的后台管理页面,输入用户名和密码登录。编辑内容:在后台的“内容管理”模块中,找到需要编辑的文章或页面。 点击“编辑”按钮,进行内容修改。发布新内容:在“发布文章…

织梦网站怎么修改自定义,织梦自定义字段管理

在织梦CMS中,自定义字段可以帮助你扩展文章或页面的属性,以下是一些管理自定义字段的步骤:登录后台:打开织梦CMS的后台管理页面,输入用户名和密码登录。进入模型管理:在后台左侧菜单中,点击“核心” > “频道模型” > “管理内容模型”。选择模型:选择需要添加自…

怎么修改企业网站排版,企业网站排版调整指南

调整企业网站的排版可以显著改善用户体验和品牌形象。以下是一些基本步骤:需求分析:确定您希望达到的效果,比如提高转化率、增强品牌形象等。 备份网站:在进行任何重大更改之前,确保备份当前网站的所有文件和数据库,以防万一。 选择合适的工具:如果您使用的是CMS,大多数…

CF1945题解

CF1945A 贪心简单题 先把b自己内部组合,再考虑与c组合 CF1945B 简单题数学题 因为在0m的时间内一定能覆盖所有的情况,所以对0m的时间内最多烟花数进行小学2年纪计算即可 CF1945C 简单题 枚举每一个断点,记录答案即可 CF1945D 挺好玩的一道贪心题。 转化一下式子,我们发现 \…

Python中实现微信支付

目录一,准备环境1,要有微信公众号,商户平台账号2,支持的支付方式有 3,备案域名 一,扫码支付如图1所示,使用模式一生成支付二维码 2,使用模式二生成支付二维码二,使用JSAPI发起微信支付 回到顶部 一,准备环境#1,要有微信公众号,商户平台账号# https://pay.weixin.…

Docker版的应用不要连127.0.0.1

昨晚一直在配置docker 版的nacos,使用如下命令,然后一直启动不成功 docker run -d --env MODE=standalone --name nacos --restart=always -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_DATABASE_NUM=1 -e MYSQL_SERVICE_HOST=127.0.0.1 -e MYSQL_SERVICE_PORT=3306 -e MYS…