深入理解强化学习——多臂赌博机:基于置信度上界的动作选择

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


因为对动作—价值的估计总会存在不确定性,所以试探是必须的。贪心动作虽然在当前时刻看起来最好,但实际上其他一些动作可能从长远看更好。 ϵ − \epsilon- ϵ贪心算法会尝试选择非贪心的动作,但是这是一种盲目的选择,因为它不大会去选择接近贪心或者不确定性特别大的动作。在非贪心动作中,最好是根据它们的潜力来选择可能事实上是最优的动作,这就要考虑到它们的估计有多接近最大值,以及这些估计的不确定性。一个有效的方法是按照以下公式选择动作:
A t = arg ⁡ max ⁡ a [ Q t ( a ) + c ln ⁡ t N t ( a ) ] A_t=\arg\max_a[Q_t(a)+c\sqrt{\frac{\ln{t}}{N_t(a)}}] At=argamax[Qt(a)+cNt(a)lnt ]

在这个公式里, ln ⁡ t \ln{t} lnt表示的自然对数, N t ( a ) N_t(a) Nt(a)表示在 t t t时刻之前动作 a a a被选择的次数。 c c c是一个大于0的数,它控制试探的程度。如果 N t ( a ) = 0 N_t(a)=0 Nt(a)=0,则 a a a就被认为是满足最大化条件的动作。

这种基于置信度上界(UpperConfidence Bound,UCB)的动作选择的思想是,平方根项是对 a a a动作值估计的不确定性或方差的度量。因此,最大值的大小是动作 a a a的可能真实值的上限,参数 c c c决定了置信水平。每次选 a a a时,不确定性可能会减小;由于 N t ( a ) N_t(a) Nt(a)出现在不确定项的分母上,因此随着 N t ( a ) N_t(a) Nt(a)的增加,这一项就减小了。另一方面,每次选择 a a a之外的动作时,在分子上的增大,而 N t ( a ) N_t(a) Nt(a)却没有变化,所以不确定性增加了。自然对数的使用意味着随着时间的推移,增加会变得越来越小,但它是无限的。所有动作最终都将被选中,但是随着时间的流逝,具有较低价值估计的动作或者已经被选择了更多次的动作被选择的频率较低。

下图展示了在10臂测试平台上采用UCB算法的结果。如图所示,UCB往往会表现良好。但是和 ϵ − \epsilon- ϵ贪心算法相比,它更难推广到其它一些更一般的强化学习问题。一个难题是要处理大的状态空间,目前还没有已知的实用方法利用UCB动作选择的思想。
USB算法

参考文献:
[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.niftyadmin.cn/n/5163320.html

相关文章

程序员想要网上接单?那这几点注意事项你可要记好了!不看后悔!

相信网上接单对于程序员来说并不陌生,甚至有些程序员还以此为主业,靠网上接单来增加收入,维持生计,但是你真的确定你懂网上接单的套路吗?你知道网上接单的注意事项吗?这期文章就来盘点一下,无论…

SpringBoot的bean属性校验

1.导入坐标 <!-- 导入JSR303规范--> <dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId> </dependency> 2.Validated 说明&#xff1a;开启对当前bean的属性注入校验 package com.…

ai实景直播矩阵式引流---技术开发搭建(剪辑、矩阵、直播)

目前我们的短视频矩阵剪辑分发系统更新&#xff1a; 无人直播更新&#xff1a; 1、新增文案引流&#xff1a;已接入混元数据大模型&#xff0c;千帆数据大模型&#xff0c;星火数据大模型&#xff0c;盘古数据大模型&#xff0c;通义数据大模型&#xff0c;ChatGPT数据大模型…

Spring Cloud - 通过 Gateway webflux 编程实现网关异常处理

一、webflux 编程实现网关异常处理 我们知道在某一个服务中出现异常&#xff0c;可以通过 ControllerAdvice ExceptionHandler 来统一异常处理&#xff0c;即使是在微服务架构中&#xff0c;我们也可以将上述统一异常处理放入到公共的微服务中&#xff0c;这样哪一个微服务需要…

Linux命令行及图形化窗口安装与切换

CentOS安装图形化桌面 更新系统&#xff1a;使用sudo yum update命令来更新系统&#xff0c;确保系统是最新的版本。 安装GNOME桌面环境&#xff1a;输入sudo yum groupinstall "GNOME Desktop"命令来安装GNOME桌面环境及其依赖项。 设置默认运行级别&#xff1a;输入…

Go 面向对象,多态,基本数据类型

程序功能解读 第一行为可执行程序的包名&#xff0c;所有的Go源文件头部必须有一个包生命语句&#xff0c;Go通过包名来管理命名空间。 第三行import是引用外部包的说明 func关键字声明定义一个函数&#xff0c;如果是main则代表是Go程序入口函数 Go源码特征解读 源程序以.g…

52基于MATLAB的希尔伯特Hilbert变换求包络谱

基于MATLAB的希尔伯特Hilbert变换求包络谱&#xff0c;对原始信号进行初步滤波&#xff0c;之后进行包络谱分析。可替换自己的数据进行优化。程序已调通&#xff0c;可直接运行。 52的尔伯特Hilbert变换包络谱 (xiaohongshu.com)

香港优才计划diy申请失败怎么回事?怎么办?那些后悔莫及的事儿!

香港优才计划diy申请失败怎么回事&#xff1f;怎么办&#xff1f;那些后悔莫及的事儿&#xff01; 今年香港优才计划申请由于政策放开&#xff0c;申请人数确实暴涨&#xff01;不过近期收获到不少客户申请被拒的倾诉&#xff0c;我能感受到他们对申请失败的失落心情&#xff0…