深入理解强化学习——多臂赌博机:非平稳问题

分类目录:《深入理解强化学习》总目录


到目前为止我们讨论的取平均方法对平稳的赌博机问题是合适的,即收益的概率分布不随着时间变化的赌博机问题。但如果赌博机的收益概率是随着时间变化的,该方法就不合适。如前所述,我们经常会遇到非平稳的强化学习问题。在这种情形下,给近期的收益赋予比过去很久的收益更高的权值就是一种合理的处理方式。最流行的方法之一是使用固定步长。比如说,用于更新 n − 1 n-1 n1个过去的收益的均值 Q n Q_n Qn的增量更新规则可以改为:
Q n + 1 = Q n + α [ R n − Q n ] Q_{n+1}=Q_n+\alpha[R_n-Q_n] Qn+1=Qn+α[RnQn]

式中,步长参数 α ∈ ( 0 , 1 ] \alpha\in(0, 1] α(0,1]是一个常数。这使得 Q n + 1 Q_{n+1} Qn+1成为对过去的收益和初始的估计 Q 1 Q_1 Q1的加权平均。我们将此称为加权平均,因为我们可以验证权值的和是 ( 1 − α ) n + ∑ i = 1 n α ( 1 − α ) n − 1 = 1 (1-\alpha)^n+\sum_{i=1}^n\alpha(1-\alpha)^{n-1}=1 (1α)n+i=1nα(1α)n1=1。需要注意的是,赋给收益垃的权值 R i R_i Ri的权重依赖于它被观测到的具体时刻与当前时刻的差,即 n − i n-i ni 1 − α 1-\alpha 1α小于1,因此赋予的权值随着相隔次数的增加而递减。事实上,由于 ( 1 − α ) (1-\alpha) (1α)上的指数,权值以指数形式递减(如果 1 − α = 0 1-\alpha=0 1α=0,根据约定 0 0 = 1 0^0=1 00=1,则所有的权值都赋给最后一个收益 R i R_i Ri。正因为如此,这个方法有时候也被称为指数近因加权平均。

有时候随着时刻一步步改变步长参数是很方便的。设 α n ( a ) \alpha_n(a) αn(a)表示用于处理第 n n n次选择动作 a a a后收到的收益的步长参数。正如我们注意到的,选择 α n ( a ) = 1 n \alpha_n(a)=\frac{1}{n} αn(a)=n1会得到采样平均法,大数定律保证它可以收敛到真值。然而,收敛性当然不能保证对任何 { α n ( a ) } \{\alpha_n(a)\} {αn(a)}序列都满足。随机逼近理论中的一个著名结果给出了保证收敛概率为1所需的条件:
∑ i = 1 ∞ α n ( a ) = ∞ 且 ∑ i = 1 ∞ α n 2 ( a ) < ∞ \sum_{i=1}^\infty\alpha_n(a)=\infty\quad\text{且}\quad\sum_{i=1}^\infty\alpha^2_n(a)<\infty i=1αn(a)=i=1αn2(a)<

第一个条件是要求保证有足够大的步长,最终克服任何初始条件或随机波动。第二个条件保证最终步长变小,以保证收敛。两个收敛条件在采样平均的案例 α n ( a ) = 1 n \alpha_n(a)=\frac{1}{n} αn(a)=n1中都得到了满足,但在常数步长参数 α n ( a ) = α \alpha_n(a)=\alpha αn(a)=α中不满足。在后面一种情况下,第二个条件无法满足,说明估计永远无法完全收敛,而是会随着最近得到的收益而变化。正如我们前面提到的,在非平稳环境中这是我们想要的,而且强化学习中的问题实际上常常是非平稳的。此外,符合上述条件的步长参数序列常常收敛得很慢,或者需要大量的调试才能得到一个满意的收敛率。尽管在理论工作中很常用,但符合这些收敛条件的步长参数序列在实际应用和实验研究中很少用到。

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022

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

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

相关文章

Excel VBA开发基本语句说明

前言 VBA&#xff08;Visual Basic for Applications&#xff09;是一种用于编写宏的编程语言&#xff0c;它广泛应用于Microsoft Office套件中的各种应用程序&#xff0c;如Excel、Word、Access和PowerPoint等。在这些应用程序中&#xff0c;VBA可用于自动化任务、定制功能、…

AAOS CarPowerManager

文章目录 提供什么服务&#xff1f; 如何提供的&#xff1f;基础的carpowerpolicyd的服务 提供什么服务&#xff1f; 如何提供的&#xff1f; 作用是什么&#xff1f; 电源管理&#xff0c; 车上面的状态可能有很多中&#xff0c;比如在车库&#xff0c;停车&#xff0c;短时…

douyin ios六神

抖音 ios六神算法&#xff0c; x-gorgon x-khronos x-ladon x-argus x-helios x-medusaios版本的六神算法&#xff0c;以及ios越狱过检测抓包logs插件 {x-helios: xnamv9MBKpjSfng4vnl1kCue1d0RPzLcHcU06Ww7CdrYV6d2, x-gorgon: 840460970000aa8ffefc2ed82fff5b7e9eaefd00598…

贴片电容规格怎么看?

贴片电容规格怎么看&#xff1f; 原理图中的电容参数给的数值&#xff0c;目的是便于分析电路。而采购的电容&#xff0c;所给的参数是一串字母和数字组成的字符串&#xff0c;来料检查人员必须根据料单&#xff0c;判断来料是否合格。有时&#xff0c;在一些面试场合&#xf…

vue3的自定义指令

除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外&#xff0c;Vue 还允许你注册自定义的指令 (CustomDirectives)。 1.自定义指令的目的和简单介绍 自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。 一个自定义指令由一个包含类似组件生命周期钩子的对象…

字符串混淆

IDA打开so&#xff0c;在Export里面搜索.datadiv 跟进可以找到混淆的字符串 异或加密的字符串可以直接手动异或恢复 Export里面搜索JNI_OnLoad 如果没有将变量类型改为JavaVM *vm, void *reserved 在这里Load jni.h 一些OLLVM加密的字符串可以直接用Frida来hook function h…

蓝桥杯每日一题2023.11.3

题目描述 承压计算 - 蓝桥云课 (lanqiao.cn) 题目分析 将重量存入a中&#xff0c;每一层从上到下进行计算&#xff0c;用d进行计算列的重量&#xff0c;当前d的重量应为正上数组和右上数组的个半和并加上自身的重量 计算到30层记录最大最小值&#xff0c;进行比例运算即可 …

centos 搭建内网ntp时间服务器

在 CentOS 搭建内网 NTP 时间服务器&#xff0c;你可以按照以下步骤操作&#xff1a; 安装 NTP 服务&#xff1a; 打开终端并以 root 用户身份登录。使用以下命令安装 NTP 服务&#xff1a; sudo yum install ntp配置 NTP 服务器&#xff1a; 打开 NTP 配置文件 /etc/ntp.conf&…

Verilog刷题[hdlbits] :Alwaysblock1

题目&#xff1a;Alwaysblock1 Since digital circuits are composed of logic gates connected with wires, any circuit can be expressed as some combination of modules and assign statements. However, sometimes this is not the most convenient way to describe the…

后端配置跨域怎么配置

在后端配置跨域&#xff0c;需要在服务器的代码中添加相应的设置。以下是几种常见的后端语言的跨域配置方式&#xff1a; Node.js 在使用 Node.js 的 Express 框架时&#xff0c;可以使用 cors 中间件来处理跨域问题。安装 cors 中间件后&#xff0c;在代码中添加如下设置&am…

shopee虾皮跨境电商网站商品数据支持网站后缀(.com.my;.vn;.ph)

作为一名技术爱好者&#xff0c;我们总会遇到各种各样的技术问题&#xff0c;需要寻找合适的技术解决方案。而在互联网时代&#xff0c;我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而&#xff0c;在不同的技术分享中&#xff0c;我们常常会遇到质量参差不齐的文…

2024泰安高企认定从何认定?

企业申请认定时须注册成立一年以上&#xff1b; 注意事项&#xff1a; “须注册成立一年以上”是指企业注册成立365个日历天数以上。 相关证明材料&#xff1a; 证明事项告知承诺书或营业执照。 02企业通过自主研发、受让、受赠、并购等方式&#xff0c;获得对其主要产品&…

日常踩坑-[sass]Error: Expected newline

在学习sass的时候&#xff0c;运行时发现报错 经过网上冲浪知道&#xff0c;原来在声明语言的时候 lang 不能声明为 sass &#xff0c;而是 scss ,这就有点坑了 原因&#xff1a; scss是sass3引入进来的&#xff0c;scss语法有"{}“,”;"而sass没有&#xff0c;所以…

黑芝麻智能与香港科技园签订合作备忘录,迈向全球化发展新阶段

11月6日&#xff0c;黑芝麻智能与香港科技园公司举行合作签约仪式&#xff0c;双方将合力推动黑芝麻智能香港科技创新研发中心在科技园落地&#xff0c;并促进园区打造车规级高性能智能汽车计算芯片平台。黑芝麻智能首席市场营销官杨宇欣、香港科技园公司首席企业发展总监姚庆良…

Unity之NetCode多人网络游戏联机对战教程(6)--NetworkTransform组件

文章目录 前言NetworkTransform是什么玩家移动脚本NetworkTransform字段讲解Synchronizing ("Syncing")ThresholdsLocal spaceInterpolationSlerp PositionUse Quaternion SynchronizationUse Quaternion CompressionUse Half Float PrecisionAuthority modesServer …

Linux多线程编程- pthread_detach()

基本概念 pthread_detach 函数是 POSIX 线程&#xff08;pthreads&#xff09;库的一部分&#xff0c;它用于将指定的线程置于分离状态&#xff08;detached state&#xff09;。分离状态的线程在终止时会自动释放其资源回操作系统&#xff0c;包括线程的堆栈和线程描述符。这…

Excel中截取特殊字符之前、之间、之后的数据

1、第一个数据&#xff0c;“*” 之前的数据&#xff0c; 公式 &#xff1a;LEFT(J2,FIND("*",J2)-1) 2、第二个数据&#xff0c;两个 “*” 之中的数据&#xff0c; 公式 &#xff1a;MID(J2,FIND("*",J2)1,FIND("*",J2,FIND("*",…

ZZULIOJ 1108: 打印数字图形(函数专题) (C/C++)

1108: 打印数字图形&#xff08;函数专题&#xff09; 题目描述 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用如下函数&#xff1a;PrintSpace(m)用来输出m个空格&#xff1b;PrintDigit(m)来输出一行中的数字串"12…m…21"&#xff…

IP协议汇总

IP协议 1.基本概念 IP协议全称为“网际互连协议&#xff08;Internet Protocol&#xff09;” ,IP协议是TCP/IP体系中的网络层协议。 总的来说&#xff0c;IP协议的最重要功能是提供了一种标准化的方式来路由和传输数据包&#xff0c;以实现全球互联网上的通信。 &#xff…

CJSON解析json字符串示例

cJSON 作为 Json 格式的解析库,其主要功能就是构建和解析 Json 格式 CJSON解析json字符串 {"action":"started","code":"0","data":"","desc":"success","sid":"a8"} …