强化学习:贝尔曼最优公式

news2024/10/2 1:37:37

策略改进案例

  强化学习的目的是寻找最优策略。其中涉及两个核心概念最优状态值和最优策略,和一个工具:贝尔曼最优公式。
  首先,我们给出一个熟悉的例子,了解贝尔曼方程是如何改进策略的。
在这里插入图片描述
根据给出的策略,我们很容易得到贝尔曼方程如下:
v π ( s 1 ) = − 1 + γ v π ( s 2 ) v_π(s_1)=-1+γv_π(s_2) vπ(s1)=1+γvπ(s2) v π ( s 2 ) = + 1 + γ v π ( s 4 ) v_π(s_2)=+1+γv_π(s_4) vπ(s2)=+1+γvπ(s4) v π ( s 3 ) = + 1 + γ v π ( s 4 ) v_π(s_3)=+1+γv_π(s_4) vπ(s3)=+1+γvπ(s4) v π ( s 4 ) = + 1 + γ v π ( s 4 ) v_π(s_4)=+1+γv_π(s_4) vπ(s4)=+1+γvπ(s4)
γ = 0.9 γ=0.9 γ=0.9 时,求得
v π ( s 4 ) = v π ( s 3 ) = v π ( s 2 ) = 10 v π ( s 1 ) = 8 v_π(s_4)=v_π(s_3)=v_π(s_2)=10 \quad v_π(s_1)=8 vπ(s4)=vπ(s3)=vπ(s2)=10vπ(s1)=8
  知道了 state value 那么可以求得 action value ,以状态 s 1 s_1 s1 为例,结果如下:
q π ( s 1 , a 1 ) = − 1 + γ v π ( s 1 ) = 6.2 q_π(s_1,a_1)=-1+γv_π(s_1)=6.2 qπ(s1,a1)=1+γvπ(s1)=6.2 q π ( s 1 , a 2 ) = − 1 + γ v π ( s 2 ) = 8 q_π(s_1,a_2)=-1+γv_π(s_2)=8 qπ(s1,a2)=1+γvπ(s2)=8 q π ( s 1 , a 3 ) = 0 + γ v π ( s 3 ) = 9 q_π(s_1,a_3)=0+γv_π(s_3)=9 qπ(s1,a3)=0+γvπ(s3)=9 q π ( s 1 , a 4 ) = − 1 + γ v π ( s 1 ) = 6.2 q_π(s_1,a_4)=-1+γv_π(s_1)=6.2 qπ(s1,a4)=1+γvπ(s1)=6.2 q π ( s 1 , a 5 ) = 0 + γ v π ( s 1 ) = 7.2 q_π(s_1,a_5)=0+γv_π(s_1)=7.2 qπ(s1,a5)=0+γvπ(s1)=7.2
  通过上面计算和直观感受,我们知道这个策略是不好的,那么当策略不好时我们应该如何改进策略呢?这就得依赖 action value 。我们可以将当前的策略用数学形式表达出来,如下:
π ( a 1 ∣ s 1 ) = { 1 a = a 2 0 a ≠ a 2 π(a_1|s_1)=\left\{ \begin{matrix} 1 \quad a=a_2\\ 0 \quad a≠a_2\\ \end{matrix} \right. π(a1s1)={1a=a20a=a2

  通过计算前面以状态 s 1 s_1 s1 为例得到的 action value 可知 q π ( s 1 , a 3 ) q_π(s_1,a_3) qπ(s1,a3) 最大,因此我们可以考虑选择 a 3 a_3 a3 作为一个新的策略,则新的策略表达如下:
π n e w ( a ∣ s 1 ) = { 1 a = a ∗ 0 a ≠ a ∗ π_{new}(a|s_1)=\left\{ \begin{matrix} 1 \quad a=a^*\\ 0 \quad a≠a^*\\ \end{matrix} \right. πnew(as1)={1a=a0a=a
a = a ∗ a=a^* a=a 期概率为1,表明新的策略一定会选择 a ∗ a^* a , 而在这个例子中 a ∗ = m a x a q π ( s 1 , a ) = a 3 a^*=max_aq_π(s_1,a)=a_3 a=maxaqπ(s1,a)=a3

贝尔曼最优方程:定义

  通过前面例子的计算,我们现在可以给出最优策略的定义了,定义如下:
如果 v π ∗ ( s ) ≥ v π ( s ) f o r a l l s ∈ S 则说明 π ∗ 是最优策略 如果 \quad v_{π^*}(s)≥v_{π}(s) \quad for\quad all\quad s∈S\quad 则说明 π^*是最优策略 如果vπ(s)vπ(s)forallsS则说明π是最优策略

最优策略这一定义引发了许多问题:
	最优策略存在吗?
	最优策略唯一吗?
	最优策略是随机的还是确定性的?
	如何获得最优策略?

为了回答这些问题,我们需要研究贝尔曼最优公式。
在这里插入图片描述
  上图第二式即为贝尔曼最优公式,相比与贝尔曼公式我们可以发现贝尔曼最优公式是最优策略条件下的贝尔曼公式。下面给出贝尔曼的变形形式以及向量形式,如下图:
在这里插入图片描述
  我们可以发现贝尔曼最优公式存在两个未知数 v 和 π v和π vπ,一个方程怎么求解两个未知数呢?我们以下列式子说明,是可以求解的。
在这里插入图片描述
在这里插入图片描述
  我们通过上面两个例子知道,如果 q ( s , a ) q(s,a) q(s,a) 知道,那么最大值就等于 m a x ( q ( s , a ) ) max(q(s,a)) max(q(s,a)) ,当 a = a ∗ = m a x a q ( s , a ) a=a^*=max_aq(s,a) a=a=maxaq(s,a) 时,其数学表达以及条件如下: 在这里插入图片描述

贝尔曼最优方程:求解

  在解贝尔曼最优方程时,我们引入 f ( v ) f(v) f(v) ,其形式如下:
在这里插入图片描述
  在解上述方程前,我们引入几个概念:不动点、压缩映射

已知函数 f ( x ) , 若存在 x , 使得 f ( x ) = x 那么点( x , f ( x ) ) 就是函数 f ( x ) 的一个不动点 已知函数f(x),若存在x,使得f(x)=x那么点(x,f(x))就是函数f(x)的一个不动点 已知函数f(x),若存在x,使得f(x)=x那么点(x,f(x))就是函数f(x)的一个不动点 设 ( X , d X ) 与 ( Y , d Y ) 是度量空间 , f : X → Y 是映射。若存在常数 k ∈ [ 0 , 1 ) 使得 ∣ ∣ d Y − d X ∣ ∣ ≤ γ ∣ ∣ X − Y ∣ ∣ 则称 f 为压缩映射, k 称为压缩系数 设(X,d_X)与(Y,d_Y)是度量空间,f:X→Y是映射。若存在常数k∈[0,1)使得\quad||d_Y-d_X||≤γ||X-Y||\quad 则称f为压缩映射,k称为压缩系数 (X,dX)(Y,dY)是度量空间,fXY是映射。若存在常数k[01)使得∣∣dYdX∣∣γ∣∣XY∣∣则称f为压缩映射,k称为压缩系数
  有了上述两个概念,现在我们介绍Banach不动点定理 (Contraction Mapping Theorem),这是数学分析中的一个重要定理。它断言在完备度量空间中的压缩映射必定有唯一的不动点。

由Banach不动点定理可以得到以下性质:
只要满足 x = f ( x ) x=f(x) x=f(x) 形式的方程,如果 f f f 是压缩映射,那么
  1、 一定存在一个不动点 x ∗ , 使得 f ( x ∗ ) = x ∗ 一定存在一个不动点 x^* ,使得f(x^*)=x^* 一定存在一个不动点x,使得f(x)=x
   2 、不动点 x ∗ 是唯一存在的 2、不动点x^*是唯一存在的 2、不动点x是唯一存在的
   3 、可以通过迭代求得不动点: x k + 1 = f ( x k ) , x k ≈ x ∗ ,当 k 趋于 ∞ 时 ; 3、可以通过迭代求得不动点:x_{k+1}=f(x_k),x_k≈x^*,当k趋于∞时; 3、可以通过迭代求得不动点:xk+1=f(xk),xkx,当k趋于;

  现在,我们可以用上面的Banach不动点定理来解贝尔曼最优方程,在解之前,我们要证明 f ( v ) f(v) f(v) 是压缩映射,但这里我们只给应用,证明过程感兴趣的朋友可以自己去看看。由Banach不动点定理可以知道一定存在唯一的 v ∗ v^* v ,并且可以通过迭代求得。
在这里插入图片描述

贝尔曼最优公式求解例子

  我们以一个简单的例子来加深理解贝尔曼方程求解过程。如下图,机械人有三个行为:向左 a l a_l al、向右 a r a_r ar、原地 a 0 a_0 a0,奖励设置为 r 终点 = + 1 r_{终点}=+1 r终点=+1 r 边界 = − 1 r_{边界}=-1 r边界=1
在这里插入图片描述
  根据上面制定的规则,我们可以得到机械人的 q ( s , a ) q(s,a) q(s,a)
在这里插入图片描述
现在的问题是怎么求取最优状态值 v ∗ ( s i ) v^*(s_i) v(si) 和最优策略 π ∗ π^* π
运用上面介绍的方法,取 γ = 0.9 γ=0.9 γ=0.9 ,当 k = 0 k=0 k=0 时,我们首先随意给定一个初值
在这里插入图片描述
可以的到
在这里插入图片描述
可以看到,我们已经找到了最优策略。

最优策略的性质

  我们思考有哪些因素影响最优策略?由下列公式可知,影响最优策略的因素有 r 、 γ ,以及模型环境 r、γ,以及模型环境 rγ,以及模型环境
在这里插入图片描述

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

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

相关文章

jsonpath 语法介绍

文章目录 前言 一、对jsonpath的理解 二、补充 三、哪里可以用的到呢? 总结 前言 在使用Python做接口测试中需要获取json中的字段值,因此需要使用jsonpath里面的提取规则,所以特意学习了jsonpath中的语法。 一、对jsonpath的理解 在线运…

ZigBee案例笔记 - 定时器

文章目录 1.片内外设I/O2.定时器简介3.定时器1寄存器4.定时器1操作自由运行模式模模式正计数/倒计数模式 5.16位计数器定时器1控制LED 示例 6.定时器3概述自由运行模式倒计数模式模模式正/倒计数模式 7.定时器3寄存器定时器3控制LED闪烁 1.片内外设I/O 定时器这样的片内外设也…

微信小程序原生开发功能合集十五:个人主页功能实现

本章个人主页功能实现,展示当前登录用户信息、个人主页、修改密码、浏览记录、我的收藏、常见问题、意见反馈、关于我们等界面及对应功能实现。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如…

django ORM框架 第四章 聚合函数

上一章:django ORM框架 第三章 关联表的数据创建与查询_做测试的喵酱的博客-CSDN博客 一、聚合函数类型: from django.db.models import Q, Count, Avg, Max, Min 班级表: 学生信息表: 1.1 Count 模版: QuerySet.…

如何将m4a音频转换mp3格式,5种简单方法帮你处理

如何将m4a音频转换mp3格式?这个问题想必在工作生活中经常遇到吧。为什么要将m4a音频转换mp3格式呢?首先,M4A是一种较新的高质量音频文件格式,通常用于存储高保真度的音频文件,例如音乐录音室的原始录制。但是&#xff…

基于C#制作一个ChatGPT桌面助手

基于C#制作一个ChatGPT桌面助手,在工作或者学习时提升自己的效率,工欲善其事,必先利其器。 一、前言1.1、什么是ChatGPT1.2、ChatGPT官网及key申请 二、后台项目2.1、项目创建2.2、界面设置2.3、获取版本2.4、发送信息 一、前言 1.1、什么是…

深度学习实战31-开发基于机器学习的在线图像识别工具

大家好,我是微学AI,今天给大家讲一下深度学习实战31-开发基于机器学习的在线图像识别工具,本文开发一个基于机器学习的在线图像识别工具,用户可以上传一张图片,并得到对应的标签或分类信息。该工具应该支持多种图像类型,例如自然风景、动物、物品等,并且在处理复杂图像时…

面向移动机器人的道路环境感知

分享嘉宾 | 范睿 文稿整理 | William 自动驾驶感知 首先,三维几何模型背后的机理是多视图几何学,多视图几何学是指想要得到对应模型的三维几何架构,则必须要用相机在两个不同的位置进行拍照。如图1,可以通过利用两个相机在不同位…

【HarmonyOS】【JS】小白的鸿蒙学习之路2--小小的图片啊,动呀动起来

【关键字】 image组件、动画 【介绍】 今天和大家分享下,我在官网上学习的一篇Codelab。这篇帖子通过一个代码示例,实现image组件的平移、缩放、旋转和透明度变化效果。话不多说,我们一起学起来吧! 【成果展示】 【开发步骤】 …

FE_VUE路由 细致解读router/index.js的配置

1 安装vue-router插件 安装vue-router,命令:npm i vue-router 【npm i vue-router3】,在main.js 中引入路由文件: import router from ./router, 注意router 不要变且为小写;注册路由(因为main…

商场室内地图导航如何实现?商场室内导航地图怎么做?

商场室内地图导航如何实现?现在,消费者的消费观念和消费心理日趋成熟,对于购物商场的要求也愈加挑剔。电子地图作为大家最喜闻乐见的高效应用形式,能够在顾客购物的过程中带来非常大的帮助和体验,对于在大型的综合商场…

抖音电商的新增量在哪里?

“抖音电商涨不动了,才提出做货架”,“抖音做不好货架”……去年,抖音电商提出做“全域兴趣电商”,当时业内外有鼓励,也有不看好的声音。一年过去,5月16日,抖音电商总裁魏雯雯回应了质疑&#x…

Python可视化工具分享

今天和大家分享几个实用的纯python构建可视化界面服务,比如日常写了脚本但是不希望给别人代码,可以利用这些包快速构建好看的界面作为服务提供他人使用。有关于库的最新更新时间和当前star数量。 1、 streamlit (23.3k Updated 2 hours ago) Streamlit…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(I.MX6U驱动GPT定时器中断实现高精度延时) 2023.5.19

目录 前言整体文件结构源码分析(保姆级讲解)初始化延时函数部分:微秒(us)级延时部分毫秒(ms)级延时部分主函数main部分 编译下载结束语 前言 在上一讲过程中我们使用了EPIT定时器来实现了定时器中断,从而解决了按键消抖的问题。但…

ChatGPT与深度学习的完美融合:打造智能化推荐系统新时代

PNN | AutoRec | 推荐算法 NFM | ChatGPT | 深度学习 新技术如ChatGPT、LLM、AIGC等的兴起,使推荐系统拥有更强的学习和预测能力。然而,推荐算法仍然是深度学习推荐系统中不可或缺的关键技术。推荐算法和这些技术应相辅相成,相互补充。推荐…

五大向量数据库入门横评

本文内容节选自 Paxi.ai 文章分享,Paxi.ai是一个基于GPT-4打造的帮助用户快速使用AI的AI工具,对内容感兴趣的朋友可以上他们官网查看。 从OpenAI发布GPT以来,AI尤其以LLM为代表的项目发展迅速,相信大家已经了解到大语言模型的魅力…

apk 作为资源提供 aar 的过程

1:参考:Android将APK项目封装为SDK(AAR) https://blog.csdn.net/weixin_51522235/article/details/128216091 四大点:1: apply plugin:com.android.library 2:去掉:applicationId 3:去掉:applicationVariants.all…

MySQL:触发器、权限管理

一、学习目标 了解什么是触发器掌握创建触发器的方法掌握查看触发器的方法掌握触发器的使用技巧掌握删除触发器的方法熟练掌握使用触发器的方法和技巧了解什么是权限表掌握权限表的用法掌握账户管理的方法掌握权限管理的方法掌握访问控制的方法熟练掌握新建用户的方法和技巧了…

小程序加weui或者TDesign安装

WeUI样式库展示:https://weui.io/ 微信官方WeUI相关文档:https://wechat-miniprogram.github.io/weui/docs/ WeUI-wxss 项目地址:https://github.com/Tencent/weui-wxss 安装 ,1.先安装node.js 2.建立或者打开已经有的项目。…

【SolVES 模型】生态系统服务功能社会价值评估(基于多源环境QGIS、PostgreSQL、ArcGIS、Maxent、R语言)

SolVES模型(Social Values for Ecosystem Services)全称为生态系统服务社会价值模型,是由美国地质勘探局和美国科罗拉多州立大学联合开发的一款地理信息系统应用程序,开发该模型的目的主要是对生态系统服务功能中的社会价值进行空…