当前位置: 首页 > news >正文

04 贝尔曼最优公式

贝尔曼最优公式

  • 前言
  • 1、Motivating examples
  • 2、Definition of optimal policy
  • 3、Bellman optimality equation(BOE):Introduction
  • 4、 BOE:Maximization on the right-hand side
  • 5、BOE:Rewrite as v = f(v)
  • 6、Contraction mapping theorem
  • 7、BOE:Solution
  • 8、BOE:Optimality
  • 9、Analyzing optimal policies

前言

本文来自西湖大学赵世钰老师的B站视频。
本节课介绍最优策略和贝尔曼最优公式。贝尔曼最优公式是贝尔曼公式的一个特殊情况,本次学习有两个重要概念和一个工具。
(1) 两个概念:optimal state value 和optimal policy.
(2) 一个工具:bellman optimality equation(BOE).
强化学习的目标就是寻找最优策略,因此本文主要讲最优策略。本文大纲如下:
在这里插入图片描述

1、Motivating examples

在这里插入图片描述
这是上节课介绍的贝尔曼方程,有了贝尔曼方程,我们就可以求解state value,有了state value,我们就可以进一步求解action value。下图是求解action value的流程,以状态s1出发为例:
在这里插入图片描述
以上是对前几次课的复习,由此我们可以提出一个问题,就是当前这个策略如果是不好的,我们应该怎么去提升它?这个就依赖于action value。当前的策略可以写成以下形式:
在这里插入图片描述
在这里插入图片描述
由上可知,我们已经知道a3是最好的,如果选择a3是这个新的策略,我们就获得了new policy。新的策略就是对应action value 最大。
我们首先对每一个状态都选择action value最大的 action,选择完了一次,然后再来一次迭代得到了一个新的策略,就这样不断迭代,最后那个策略就会趋向于一个最优的策略。

2、Definition of optimal policy

在这里插入图片描述

3、Bellman optimality equation(BOE):Introduction

在这里插入图片描述
贝尔曼最优公式就是在贝尔曼公式的前面加一个max,这个max就涉及到一个优化问题,就是要先解决优化问题,求解出一个策略π,带入到贝尔曼公式中。
在这里插入图片描述
上面是矩阵形式。
在这里插入图片描述

4、 BOE:Maximization on the right-hand side

下面是BOE的两种表示形式,实际上我们是得到一个式子,但有两个未知量,如何求解呢?
在这里插入图片描述
下面是一个小例子:
在这里插入图片描述
这个小例子的求解思路就可以放到贝尔曼最优公式求解中。
在这里插入图片描述

我们先给定公式右边的v(s’)一个初值,这样q(s,a)就是确定的了,此时我们需要把π(a|s)确定下来。我们知道对于网格问题有5个action,则有5个q(s,a),我们怎样求解π(a|s)?再看一个例子,假设有3个q值:
在这里插入图片描述
在这里插入图片描述
至此,我们解决了π(a|s)如何求解的问题。

5、BOE:Rewrite as v = f(v)

本文第4小节,我们知道了如何选择π(a|s),此时贝尔曼最优公式的求解问题就变的比较简单了,我们就可以给等式右边一个初值,用矩阵迭代求解了。
在这里插入图片描述

6、Contraction mapping theorem

下面介绍一些概念:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上实际上是迭代法求解矩阵收敛性的公式证明。
在这里插入图片描述

7、BOE:Solution

在这里插入图片描述

8、BOE:Optimality

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、Analyzing optimal policies

利用贝尔曼最优公式我们求解最优的策略,求解最优的state value。下面我们就用这个工具分析一些最优的策略。
在这里插入图片描述
已知红色的量,把黑色的量求解出来。
在这里插入图片描述
在这里插入图片描述
γ比较大的时候,策略会考虑的更长远。相反,γ如果等于0,策略会更加短视。

在这里插入图片描述
当我们把forbidden arera的惩罚值设置的比较大时,策略会选择绕过forbidden area。
在这里插入图片描述
策略选择的重点不在于奖励值设置的绝对大小,而在于相对大小。
在这里插入图片描述

下面再看一个例子:
在这里插入图片描述
很多人可能会觉得,我每走一步,应该给一个惩罚,即r=-1,实际当中这个r=-1就代表一种能量的消耗,这样的话智能体就不会绕远路,它就会尽可能地走最短的路径到目标区域,如果没有r=-1的话,好像就会绕远路,是这个样子吗?通过上图示例我们可以发现并不是这样子的,因为除了r来约束它不要绕远路之外,还有γ,因为它越绕远路就意味着我得到到达目标的奖励越晚,那么对应γ的次方就会越大,那么打折就会越厉害,所以它自然就会找一个最短的路径过去。

最后总结如下:
在这里插入图片描述

相关文章:

04 贝尔曼最优公式

贝尔曼最优公式 前言1、Motivating examples2、Definition of optimal policy3、Bellman optimality equation(BOE):Introduction4、 BOE:Maximization on the right-hand side5、BOE:Rewrite as v f(v)6、Contraction mapping theorem7、BO…...

印象笔记使用技巧

印象笔记(Evernote)是一款广泛使用的笔记应用,它帮助用户整理个人信息、文件和备忘录。以下是一些提高在印象笔记中效率的使用技巧: ### 1. 使用标签和笔记本组织笔记 - **建立笔记本**:为不同的项目或类别创建笔记本…...

产品设计中的“注册”说明

​在使用网站或应用的时候必不可少的就是账号系统,账号系统有些人可能觉得简单,无非就是账号密码。真的是这样吗? 一个完整的账号系统通常大家会分成四部分: 1.注册(手机号、邮箱、用户名/密码限制/验证码)…...

【linux学习】多线程(1)

文章目录 线程的概念线程与进程 线程的用法线程的创建多线程 线程的等待线程锁死锁 线程的概念 在Linux中,线程(Thread)是程序执行流的最小单位,是进程中的一个实体,负责在程序中执行代码。线程本身不拥有系统资源&…...

Leetcode 3149. Find the Minimum Cost Array Permutation

Leetcode 3149. Find the Minimum Cost Array Permutation 1. 解题思路2. 代码实现 题目链接:3149. Find the Minimum Cost Array Permutation 1. 解题思路 这一题的话就是一个动态规划的问题,不过他这个错位着实是把题目变得复杂了不少,唉…...

Python | 为列表中的元素分配唯一值

我们可以给列表中的所有数字分配一个唯一的值,重复时它会保留给它的值。这是一个非常常见的问题,在Web开发中,处理物品id时会遇到。让我们讨论一下解决这个问题的一些方法。 1. 使用enumerate() 列表解析 # initializing list test_list …...

HTML炫酷的相册

目录 写在前面 HTML简介 完整代码 代码分析 系列推荐 写在最后 写在前面 本期小编给大家带来一个炫酷的旋转相册,快来解锁属于你的独家记忆吧! HTML简介 HTML(全称为超文本标记语言)是一种用于创建网页结构和内容的标记语…...

C++笔试强训day20

目录 1.经此一役小红所向无敌 2.连续子数组最大和 3.非对称之美 1.经此一役小红所向无敌 链接 简单模拟即可。 需要注意的是&#xff1a; 除完之后有无余数&#xff0c;若有&#xff0c;则还可以再挨一次打。 #include <iostream> using namespace std; #define in…...

【PHP【实战项目】系统性教学】——使用最精简的代码完成用户的登录与退出

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…...

Linux下的常用基本指令

基本指令 前言一、ls 指令语法功能常用选项举例注意要点关于拼接关于 -a关于文件ls与/的联用ls与根目录ls与任意文件夹ls与常用选项与路径 ls -d与ls -ldls与ll 二、pwd命令语法功能常用选项注意要点window与Linux文件路径的区别家目录 三、cd 指令语法功能举例注意要点cd路径.…...

phpstorm环境配置与应用

在 PhpStorm 中配置 PHP 开发环境及进行一些常用的应用设置涉及以下几个主要步骤&#xff1a; ### 1. 安装和激活 PhpStorm - **下载安装**: 访问 JetBrains 官网下载最新版本的 PhpStorm 安装包&#xff0c;然后按照提示进行安装。 - **激活**: 启动 PhpStorm&#xff0c;你可…...

【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout 文章编号&…...

Hive Aggregation 聚合函数

Hive Aggregation 聚合函数 基础聚合 增强聚合...

Unity 性能优化之GPU Instancing(五)

提示&#xff1a;仅供参考&#xff0c;有误之处&#xff0c;麻烦大佬指出&#xff0c;不胜感激&#xff01; 文章目录 前言一、GPU Instancing使用方法二、使用GPU Instancing的条件三、GPU Instancing弊端四、注意五、检查是否成功总结 前言 GPU Instancing也是一种Draw call…...

LeetCode 138. 随机链表的复制

目录 1.原题链接&#xff1a; 2.结点拆分&#xff1a; 代码实现&#xff1a; 3.提交结果&#xff1a; 4.读书分享&#xff1a; 1.原题链接&#xff1a; 138. 随机链表的复制 2.结点拆分&#xff1a; ①.拷贝各个结点&#xff0c;连接在原结点后面&#xff1b; ②.处…...

【PC微信小程序点不动处理方法】

描述 在使用电脑小程序抓包的时候发现原来能点的小程序今天不能点了。就是原来有个输入车牌号的输入框点击会出现车牌号键盘&#xff0c;现在不行了&#xff0c;经过卸载安装发现不是微信的问题&#xff0c;是WeChatAppEx.exe 的bug。早期使用的是不带ex的都没有问题升级以后&…...

量化交易:日内网格交易策略.md

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 本文将详细介绍日内网格交易策略的原理&#xff0c;并结合Python代码示例&#xff0c;展示如何在掘金平台上实现这一策略。 策略原理 日内网格交易策略的核心思想是在一天的交易时间内&#xff0c;通过设置多个买卖…...

Ubuntu 20.04在Anaconda虚拟环境中配置PyQt4

一、创建一个虚拟环境 1 创建一个python2.7的虚拟环境&#xff1a; conda create -n pyqt4 numpy matplotlib python2.72 在环境中安装几个需要的包&#xff1a; pip install Theano pip install python-opencv3.4.0.14 pip install qdarkstyle pip install dominate二、在主…...

charts3D地球--添加航线

要在地球视角下画出海运路线图 方案 添加 globl 地球创建geo地理坐标系创建canvas对象用于承载地图世界地图this.worldChart //初始化canvas节点let cav document.createElement("canvas");this.$echarts.registerMap("world", geoJson);this.worldCha…...

变色龙还是树懒:揭示大型语言模型在知识冲突中的行为

你是知识变色龙还是树懒?我今天在ICLR学到一个很有趣的术语,叫做证据顺序(order of evidence)。 大模型RAG处理知识冲突的探讨: 在检索增强生成(Retrieval-Augmented Generation, RAG)的过程中,技术团队会将检索到的前几名文档作为证据,并提示(prompt)给大型语言模型(Large La…...

如何彻底摆脱网盘限速:8大主流网盘直链下载助手完整指南

如何彻底摆脱网盘限速&#xff1a;8大主流网盘直链下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天…...

taotoken的token plan套餐为团队开发带来的成本可控体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken 的 Token Plan 套餐为团队开发带来的成本可控体验 在团队开发环境中&#xff0c;频繁调用大模型 API 已成为提升研发效率…...

告别Claude Code封号烦恼用Taotoken稳定获取Anthropic模型服务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 告别Claude Code封号烦恼用Taotoken稳定获取Anthropic模型服务 对于依赖Claude Code进行编程辅助的开发者来说&#xff0c;访问的稳…...

别再只会插卡开机了!手把手带你用APDU命令探索手机SIM卡里的文件迷宫

解码SIM卡文件系统&#xff1a;用APDU命令探索移动通信的微观世界 当你把SIM卡插入手机时&#xff0c;它就像一把打开移动网络大门的钥匙。但鲜为人知的是&#xff0c;这张小小的芯片内部运行着一个完整的文件系统&#xff0c;其复杂程度堪比微型操作系统。本文将带你用APDU命令…...

Linux应用回滚流程排查方法

Linux应用回滚流程排查方法本文面向具备一定 Linux 基础的技术人员&#xff0c;围绕应用回滚流程展开&#xff0c;重点讨论版本切换、配置恢复和数据兼容。在中级运维和系统管理工作中&#xff0c;这类主题常常与配置变更、资源状态、权限边界、自动化任务和业务影响交织在一起…...

【算法题攻略】位运算总结(含习题解析)

文章目录一、位运算总结1. 位操作符 和 移位操作符&#xff08;含原码、反码、补码介绍&#xff09;2. 给一个数n&#xff0c;确定它的二进制表示中的第 x 位是 0 还是 13. 给一个数n&#xff0c;将它的二进制表示中的第 x 位修改成 1&#xff08;或 0&#xff09;4. 提取一个数…...

Linux依赖关系梳理排查方法

Linux依赖关系梳理排查方法本文面向具备一定 Linux 基础的技术人员&#xff0c;围绕依赖关系梳理展开&#xff0c;重点讨论上下游服务、网络路径和故障影响。在中级运维和系统管理工作中&#xff0c;这类主题常常与配置变更、资源状态、权限边界、自动化任务和业务影响交织在一…...

【LangChain 】从一行 LCEL 代码,理解 LangChain 管道操作符 `|` 的自动转换机制

从一行 LCEL 代码&#xff0c;理解 LangChain 管道操作符 | 的自动转换机制一、从一个代码片段说起 先看这段处理用户反馈的 LCEL 代码&#xff1a; processing_chain (extract_chain| RunnablePassthrough.assign(analysislambda x: analysis_chain.invoke(x["original_…...

VS Code CircuitPython扩展实战:嵌入式开发环境搭建与高效调试指南

1. 项目概述&#xff1a;为什么选择 VS Code CircuitPython 扩展&#xff1f;如果你正在玩像 Adafruit Feather、Raspberry Pi Pico 或者 ESP32-S3 这类支持 CircuitPython 的开发板&#xff0c;你可能已经习惯了在CIRCUITPY这个神奇的U盘里直接编辑code.py文件。这种方式简单…...

量子退火优化CPS测试用例生成的技术解析

1. 量子退火在CPS测试用例生成中的应用概述在安全关键系统&#xff08;如自动驾驶、工业控制系统&#xff09;的开发过程中&#xff0c;测试用例的质量直接关系到系统的可靠性。传统测试方法面临两大核心挑战&#xff1a;一是如何在庞大的输入空间中找到最具检测效力的测试用例…...