深入理解强化学习——多臂赌博机:梯度赌博机算法的基础知识

news2024/12/28 3:47:31

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


到目前为止,我们已经探讨了评估动作价值的方法,并使用这些估计值来选择动作。这通常是一个好方法,但并不是唯一可使用的方法。我们针对每个动作 a a a考虑学习一个数值化的偏好函数 H t ( a ) H_t(a) Ht(a)。偏好函数越大,动作就越频繁地被选择,但偏好函数的概念并不是从“收益"的意义上提出的。只有一个动作对另一个动作的相对偏好才是重要的,如果我们给每一个动作的偏好函数都加上1000,那么对于按照如下Softmax分布(吉布斯或玻尔兹曼分布)确定的动作概率没有任何影响:
Pr { A t = a } = e H t ( a ) ∑ i = 1 k e H t ( i ) = π t ( a ) \text{Pr}\{A_t=a\}=\frac{e^{H_t(a)}}{\sum_{i=1}^ke^{H_t(i)}}=\pi_t(a) Pr{At=a}=i=1keHt(i)eHt(a)=πt(a)

其中, π t ( a ) \pi_t(a) πt(a)是一个新的且重要的定义,用来表示动作 a a a在时刻时被选择的概率。所有偏好函数的初始值都是一样的(如: ∀ A : H 1 ( a ) = 0 \forall A:H_1(a)=0 A:H1(a)=0),所以每个动作被选择的概率是相同的。

基于随机梯度上升的思想,本文提出了一种自然学习算法。在每个步骤中,在选择动作 A t A_t At并获得收益 R t R_t Rt之后,偏好函数将会按如下方式更新:
H t + 1 ( A t ) = H t ( A t ) + α ( R t − R t ˉ ) ( 1 − π t ( A t ) ) H t + 1 ( a ) = H t ( a ) − α ( R t − R t ˉ ) π t ( a ) , ∀ a ≠ A t \begin{aligned} H_{t+1}(A_t)&=H_t(A_t)+\alpha(R_t-\bar{R_t})(1-\pi_t(A_t)) \\ H_{t+1}(a)&=H_t(a)-\alpha(R_t-\bar{R_t})\pi_t(a) \end{aligned}\quad ,\forall a\neq A_t Ht+1(At)Ht+1(a)=Ht(At)+α(RtRtˉ)(1πt(At))=Ht(a)α(RtRtˉ)πt(a),a=At

其中, α \alpha α是一个大于0的数,表示步长。 R t ∈ R R_t\in R RtR是在时刻 t t t内所有收益的平均值,可以按文章《深入理解强化学习——多臂赌博机:增量式实现》所述逐步计算,若是非平稳问题,则可以参考文章《深入理解强化学习——多臂赌博机:非平稳问题》。 R t ˉ \bar{R_t} Rtˉ作为比较收益的一个基准项。如果收益高于它,那么在未来选择动作的概率就会增加,反之概率就会降低,未选择的动作被选择的概率上升。

下图展示了在一个10臂测试平台问题的变体上采用梯度赌博机算法的结果,在这个问题中,它们真实的期望收益是按照平均值为 + 4 +4 +4而不是 0 0 0(方差与之前相同)的正态分布来选择的。所有收益的这种变化对梯度赌博机算法没有任何影响,因为收益基谁项计它可以马上适应新的收益水平。如果没有基准项(即把 R t ˉ \bar{R_t} Rtˉ设为常数0),那么性能将显著降低,如图所示:
梯度赌博机算法

参考文献:
[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.coloradmin.cn/o/1189329.html

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

相关文章

Netty入门指南之NIO 粘包与半包

作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者! 个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏:Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言问题产…

电脑篇——本地串口转TCP,TCP转虚拟串口,网络调试助手,串口调试助手

TCP/UDP工具、串口工具 https://pan.baidu.com/s/1SY03d_RRVhyOZfsPlApmxg?pwd5555 今日有个需求,就是在本机电脑上接了一个串口设备,然后我的QtCreator是在内网远程电脑运行的,我想将串口设备“挂载”到远程电脑上去调试程序,于…

【Mysql】增删改查(基础版)

我使用的工具是Data Grip (SQLyog Naivact 都行) 使用Data Grip创建student表,具体步骤如下(熟悉Data Grip或者使用SQLyog,Naivact可以跳过) https://blog.csdn.net/m0_67930426/article/details/13429…

金蝶云星空下游单据的操作控制上游单据的状态转换开发方案

文章目录 金蝶云星空下游单据的操作控制上游单据的状态转换开发方案说明方案设计开发实现售后单增加变更状态反写规则反写状态:在保存配置了反写状态保存后删除,反写规则不生效,需要在删除操作配置插件根据关联关系进行反写生效操作&#xff…

如何实现云端开发能力快速提升?【DevRun】云上开发创新实践带你实现

随着企业数字化的转型趋势,软件成为数字化转型的关键驱动力,在云计算越来越普及且作用愈发重要的今天,现代应用正以难以想象的速度在增长,同时对软件开发工具提出了新的要求。 华为云CodeArts作为一站式云上开发创新工具&#xf…

从零开始:PRD产品需求文档怎么写

产品需求文档(PRD)是所有产品开发项目的关键环节,它的主要职责是传递关于即将开发的产品的所有核心信息给团队。作为一名Pixso设计师,我们清楚这个过程可能显得复杂和耗费精力,但这并不意味着我们不能让它变得更为简洁…

国产猫罐头可以长期作为主食吗?我家的优质TOP的猫罐头分享

我最近一直在调查国产猫罐头可以长期作为主食吗?看看我的购物订单,我已经尝试了几十款了。今天,我想和大家分享一些关于国产猫罐头的经验和见解。 近年来,国产宠粮市场取得了突破性的进展,各个猫粮商在配方、营养数据…

pinpoint监控tomcat应用,页面显示No data collected

pinpoint安装部署教程大家都可以搜到。这里就不说了。单说一下 页面没有数据的情况。 部署环境,pinpoint安装部署在A服务器上。现在是在C、D、E、F……linux机器上安装pinpoint-agnet 1. 将文件 pinpoint-agent-1.8.5.tar.gz 上传到 服务器C、D、E、F…… 2. 解压…

解决IDEA使用卡顿的问题

*问题:使用IDEA的时候卡顿 原因:IDEA默认分配的内存有上限 **可以查看内存分配情况及使用情况__ 解决: 设置JVM的启动参数: 进入idea的安装目录的bin文件夹 -Xms1024m -Xmx2048m -XX:ReservedCodeCacheSize1024m -XX:UseG1G…

洋子带你赚钱,粉丝有奖任务来啦,最高拿90京东卡

大家好,我是洋子,前段时间CSDN联合阿里云发布了免费试用3种 云服务器的活动任务,每完成一个任务就可以拿到30京东卡,3个任务互相独立,如果3个任务全部完成就可以拿到90京东卡 任务奖励 参与体验大概十几分钟&#xf…

JS点击图片指定对象变色两种方法

要求&#xff1a;点击上面的颜色实现下面的图像变成相同的颜色 难点&#xff1a;对于js函数的this对象不太清楚如何传递 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>changeColor</title>&l…

Redis注解式开发并整合ssm项目以及击穿,穿透和雪崩的介绍及解决方案

目录 一. Redis整合ssm项目 1.1 pom配置 1.2 spring-redis.xml ①注册一个redis.properties ②配置数据源 ③连接工厂 ④配置序列化器 ⑤配置redis的key生成策略 1.3 applicationContext.xml 中添加spring-redis.xml 二. Redis的注解式开发 2.1 Cacheable 2.2 CachePut …

leetcode刷题日记:100.Same Tree(相同的树)和101.Symmetric Tree(对称二叉树)

100.Same Tree(相同的树) 题目给了我们两棵树要我们判断这两颗树是否相同&#xff0c;我首先想到的就是前序序列与中序序列可以唯一确定一棵树&#xff0c;如果我能分别确定这两棵树的前序序列与中序序列&#xff0c;然后再分别比较它们的前序序列与中序序列就能得到这两棵树是…

猫罐头怎么选?千万别错过这5款好吃放心的猫罐头推荐!

猫罐头不仅美味可口&#xff0c;而且营养丰富&#xff0c;是专为猫咪打造的美食。那么&#xff0c;猫罐头怎么选&#xff1f;作为一位经营宠物店7年的店长&#xff0c;我对猫猫的饮食都非常重视&#xff0c;也见证了很多猫咪品尝各种猫罐头的瞬间&#xff0c;现在我对各个品牌的…

STK 根据六根数文件导出星下点(二)

利用给定的六根数数据&#xff0c;生成星下点数据 首先在STK中建立卫星对象 建立成功后&#xff0c;在Satellite1中设置Properties ,输入六根数数据 使用如下参数&#xff1a; propagator&#xff08;轨道&#xff09;&#xff1a;TwoBody&#xff08;开普勒&#xff09; st…

【数据结构】链表经典OJ题,常见几类题型(一)

目录 题型一&#xff1a;反转单链表思路解析OJ题实例解题代码 题型二&#xff1a;快慢指针思路解析OJ题实例解题代码 两类题型的结合 题型一&#xff1a;反转单链表 思路解析 反转一个链表主要是想让第一个节点指向NULL&#xff0c;第二个节点指向第一个&#xff0c;以此类推。…

键盘win键无法使用,win+r不生效、win键没反应、Windows键失灵解决方案(亲测可以解决)

最近几天发现自己笔记本的win键无法使用&#xff0c;win失灵了&#xff0c;但是外接键盘后则正常:。 这个问题困扰了我一周&#xff0c;我都以为自己的枪神坏了。 寻找了几个解决方法&#xff0c;网上看了好多好多稀里糊涂的办法&#xff0c;都是不管用的&#xff0c;这里给大…

onvif backchannel

Back Channel笔记_onvif backchannel-CSDN博客 backchannel 由客户端触发&#xff1a;

007 Linux fork()函数

前言 本文将会以提问的形式展开向你介绍fork函数 文章重点 关于fork函数&#xff0c;本文重点在于解决以下疑问 疑问一&#xff1a; 为什么fork之前的代码只有父进程执行&#xff0c;然而fork之后的代码父子进程都要执行 疑问二&#xff1a; 1、既然fork之后父子进程会执行一…

【微服务】API治理发展历史与未来趋势

目录 一、前言 二、API治理的价值和意义 2.1 API治理概念 2.2 API治理价值和意义 2.2.1 提升团队协同效率 2.2.2 降低产品运维成本 2.2.3 识别和降低系统的外部风险 2.2.4 提供更多的拓展性 三、API生命周期管理 ​编辑 3.1 规划阶段 3.2 开发阶段 3.3 测试阶段 3…