二、从多臂老虎机看强化学习

二、从多臂老虎机看强化学习

  • 2.1 多臂老虎机问题
    • 2.1.1 问题定义
    • 2.2.2 问题建模
    • 2.2.3 累积懊悔
    • 2.2.4 估计期望奖励
  • 2.2 强化学习中的探索与利用平衡
  • 2.3 贪心策略
  • 2.4 上置信界算法
  • 2.5 汤普森采样算法

2.1 多臂老虎机问题

2.1.1 问题定义

  在多臂老虎机(mutil-armed bandit, MAB)问题(如图2-1)中,有一个拥有K根拉杆的老虎机,拉动每一根拉杆都对应一个关于奖励的概率分布 R R R 。每次拉动其中一根拉杆,就可以从该拉杆对应的奖励概率分布中获得一个奖励 r r r 。我们在各根拉杆的奖励概率分布未知的情况下,从头开始尝试,目标是在操作 T T T 次拉杆后获得尽可能高的累积奖励。由于奖励概率分布未知,因此需要在“探索拉杆的获奖概率”和“根据经验选择获奖多的拉杆”中进行权衡。“采用怎样的操作策略才能使获得的累积奖励最高”就是多臂老虎机问题。
在这里插入图片描述

2-1 多臂老虎机

2.2.2 问题建模

  多臂老虎机问题可建模为一个元组 ( A , R ) (\mathcal A, \mathcal R) (A,R),其中:

  • A \mathcal A A:动作集合,其中一个动作表示拉动一根拉杆,若多臂老虎机有 K K K根拉杆,则动作空间为 A = { a 1 , . . . , a i , . . . , a K } \mathcal A=\{a_1, ...,a_i,..., a_K\} A={a1,...,ai,...,aK}
  • R \mathcal R R:奖励概率分布,拉动每一根拉杆的动作 a a a 都对应一个奖励概率分布 R ( r ∣ a ) \mathcal R(r|a) R(ra),拉动不同拉杆的奖励分布通常是不同的。

  假设每个时间步只能拉动一根拉杆,多臂老虎机的目标为最大化一段时间步 T T T 内累积的奖励: m a x ∑ t = 1 T r t , r t ∼ R ( ⋅ ∣ a t ) max\sum_{t=1}^{T}r_t,r_t \sim \mathcal R(·|a_t) maxt=1Trt,rtR(at) a t a_t at 表示在第 t t t 时间步拉动某一拉杆的动作, r t r_t rt 表示动作 a t a_t at 获得的奖励。

2.2.3 累积懊悔

  对于每个动作 a a a,我们定义其期望奖励为 Q ( a ) = E r ∼ R ( ⋅ ∣ a ) [ r ] = E r ∼ P ( ⋅ ∣ a ) [ r ] Q(a)=E_{r\sim\mathcal R(·|a)}[r]=E_{r\sim \mathbb P(·|a)}[r] Q(a)=ErR(a)[r]=ErP(a)[r]。于是,至少存在一根拉杆,它的期望奖励不小于拉动其他任意一根拉杆,我们将该最有期望奖励表示为 Q ∗ = m a x a ∈ A Q ( a ) Q^* = max_{a \in \mathcal A}Q(a) Q=maxaAQ(a)
  为了方便观察拉动一根拉杆的期望奖励与最有拉杆期望奖励的差距,我们引入 懊悔(regret) 的概念,即 R ( a ) = Q ∗ − Q ( a ) R(a) = Q^*-Q(a) R(a)=QQ(a)累积懊悔(cumulative regret) 即操作 T T T 次拉杆后累积的懊悔总量,对于一次完整的 T T T 步决策 { a 1 , a 2 , . . . , a T } \{a_1,a_2,...,a_T\} {a1,a2,...,aT},累积懊悔为 σ R = ∑ t = 1 T R ( a t ) \sigma_R = \sum_{t=1}^{T}R(a_t) σR=t=1TR(at)MAB问题的目标为最大化累积奖励,也可以等价于最小化累积懊悔。

2.2.4 估计期望奖励

  为了知道拉动哪一根拉杆能获得更高的奖励,我们需要估计拉动这跟拉杆的期望奖励。由于之拉动一次拉杆获得的奖励存在随机性,所以需要多次拉动一根拉杆,然后计算得到的多次奖励的期望。算法流程如下:

$1. 对于任意 \forall a \in \mathcal A,初始化计数器 N(a)=0和奖励期望估值 Q ^ ( a ) = 0 \hat{Q}(a)=0 Q^(a)=0
2. f o r t = 1 − > T d o 2. {for} \ t=1->T\ do 2.for t=1>T do
   选取某根拉杆,该动作记为  a t 选取某根拉杆,该动作记为\ a_t 选取某根拉杆,该动作记为 at
   得到奖励  r t 得到奖励\ r_t 得到奖励 rt
   更新计数器: N ( a t ) = N ( a t ) + 1 更新计数器:N(a_t)=N(a_t)+1 更新计数器:N(at)=N(at)+1
   更新期望奖励估值: Q ^ ( a t ) = Q ^ ( a t ) + 1 N ( a t ) [ r t − Q ^ ( a t ) ] 更新期望奖励估值:\hat{Q}(a_t)=\hat{Q}(a_t)+\frac{1}{N(a_t)}[r_t-\hat{Q}(a_t)] 更新期望奖励估值:Q^(at)=Q^(at)+N(at)1[rtQ^(at)]
e n d f o r end\ for end for

推导:
   Q ( n + 1 ) ( a t ) = 1 n ∑ t = 1 n ( r n + n − 1 n − 1 ∑ t = 1 n − 1 r t ) = 1 n r n + n − 1 n Q n ( a t ) + 1 n ( r n − Q n ) Q_{(n+1)}(a_t)=\frac{1}{n}\sum_{t=1}^{n}(r_n+\frac{n-1}{n-1}\sum_{t=1}^{n-1}r_t)=\frac{1}{n}r_n+\frac{n-1}{n}Q_n(a_t)+\frac{1}{n}(r_n-Q_n) Q(n+1)(at)=n1t=1n(rn+n1n1t=1n1rt)=n1rn+nn1Qn(at)+n1(rnQn)

  其中, r n − Q n r_n-Q_n rnQn表示为误差项 Δ n t \Delta_{n}^{t} Δnt.

2.2 强化学习中的探索与利用平衡

2.3 贪心策略

  贪心策略:
Q ( a i ) = 1 N ( a i ) ∑ t = 1 T r t ⋅ 1 ( a t = a i ) Q(a_i)=\frac{1}{N(a_i)}\sum_{t=1}^{T}r_t · 1(a_t=a_i) Q(ai)=N(ai)1t=1Trt1(at=ai)

|
|
\/

a ∗ = a r g m a x Q ( a i ) a^*=arg\ max\ Q(a_i) a=arg max Q(ai) σ R ∝ T ⋅ [ Q ( a i ) − Q ∗ ] \sigma_R\propto T · [Q(a_i)-Q^*] σRT[Q(ai)Q]

  累积懊悔线性增长。
   ϵ \epsilon ϵ-greedy策略:
a t = { a r g m a x a Q ^ ( a ) ,采样概率: 1 − ϵ U ( 0 , ∣ A ∣ ) ,采样概率: ϵ a_t= \begin{cases}arg\ \mathop{max}\limits_{a}\ \hat{Q}(a), 采样概率:1- \epsilon\\ U(0,|\mathcal{A}|),采样概率:\epsilon \end{cases} at={arg amax Q^(a),采样概率:1ϵU(0A),采样概率:ϵ

  常量 ϵ \epsilon ϵ 保证累积懊悔满足:
σ R ≥ ϵ ∣ A ∣ ∑ a ∈ A Δ a \sigma_R \geq \frac{\epsilon}{\mathcal{|A|}} \sum_{a \in \mathcal{A}}\Delta a σRAϵaAΔa
  累积懊悔仍然是线性增长,但是增长率小于贪心策略。

2.4 上置信界算法

  设想这样一种情况:对于一台双臂老虎机,其中一根拉杆只被拉动过一次,得到的奖励为0;第二根拉杆被拉动过很多次,我们对他的奖励分布已经有了大致的把握。这时你会怎么做?或许你会进一步尝试拉动地一根拉杆,从而更加确定其奖励分布。这种思路主要是基于不确定性,因为此时第一根拉杆只被拉动过一次,它的不确定性很高。一根拉杆的不确定性越大,它探索的价值就越大,他就越具有探索的价值,因为探索之后我们可能发现它的期望奖励很大。我们在此引入不确定性度量 U ( a ) U(a) U(a),它会随着一个动作尝试次数的增加而减小,我们可以使用一种基于不确定性的策略来综合考虑现有的期望奖励估值和不确定性,其核心问题是如何确立不确定性。

   上置信界(upper confidence bound. UCB) 算法是一种经典的基于不确定性的策略算法。他的思想用到了一个著名的数学原理:霍夫丁不等式(Hoeffding’s inequality)。在霍夫丁不等式中,令 X 1 , . . . , X n X_1,..., X_n X1,...,Xn n n n 个独立同分布的随机变量,取值范围为[0, 1],其经验期望为 x n − = 1 n ∑ j = 1 n X j \mathop{x_n}\limits^{-} = \frac{1}{n}\sum_{j=1}^{n}X_j xn=n1j=1nXj,则有
P ( E [ X ] ≥ x n − + u ) ≤ e − 2 n u 2 \mathbb{P}(E[X]\geq \mathop{x_n}\limits^{-}+u)\leq e^{-2nu^2} P(E[X]xn+u)e2nu2

   假设我们将霍夫丁不等式运用到多臂老虎机问题中。将 Q ˆ ( a t ) \^Q(a_t) Qˆ(at) 代入 x t − \mathop{x_t}\limits^{-} xt,不等式中的参数 u = U ˆ ( a t ) u=\^U(a_t) u=Uˆ(at) 代表不切定性度量。给定一个概率 e − 2 N ( a t ) U ( a t ) 2 e^{-2N(a_t)U(a_t)^2} e2N(at)U(at)2 ,根据上述不等式, Q ( a t ) < Q ˆ ( a t ) + U ˆ ( a t ) Q(a_t)<\^Q(a_t)+\^U(a_t) Q(at)<Qˆ(at)+Uˆ(at) 至少以 1 − p 1-p 1p 成立。当 p p p 很小时, Q ( a t ) < Q ˆ ( a t ) + U ˆ ( a t ) Q(a_t)<\^Q(a_t)+\^U(a_t) Q(at)<Qˆ(at)+Uˆ(at) 就以很大的概率成立。 Q ˆ ( a t ) + U ˆ ( a t ) \^Q(a_t)+\^U(a_t) Qˆ(at)+Uˆ(at) 便是奖励的上界。此时,上置信界算法便选取期望奖励上界最大的动作,即 a t = a r g m a x a ∈ A [ Q ˆ ( a ) + U ˆ ( a ) ] a_t = arg\ max_{a\in A}[\^Q(a)+\^U(a)] at=arg maxaA[Qˆ(a)+Uˆ(a)]。根据等式 p = e − 2 N ( a t ) U ( a t ) 2 p=e^{-2N(a_t)U(a_t)^2} p=e2N(at)U(at)2 可知 U ˆ ( a t ) = − l o g p 2 N ( a t ) \^U(a_t) = \sqrt{\frac{-log\ p}{2N(a_t)}} Uˆ(at)=2N(at)log p 。因此设定概率 p p p 后就可以计算相应的不确定性度量 U ˆ ( a t ) \^U(a_t) Uˆ(at)

2.5 汤普森采样算法

   MAB中还有一种经典算法——汤普森采样(Thompson sampling),先假设拉动每根拉杆的奖励服从一个特定的概率分布,然后根据拉动每根拉杆的期望奖励来进行选择。但是由于计算所有拉杆的期望奖励的代价比较高,汤普森采样算法使用采样的方式,即根据当前每个动作 a a a 的奖励概率分布进行一轮采样,得到一组各根拉杆的奖励样本,再选择样本中奖励最大的动作。可以看出,汤普森采样是一种计算所有拉杆的最高奖励概率的蒙特卡洛采样方法。

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

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

相关文章

ES集成到ambari中出现的常见问题归总

1.elasticesearch用户名组的问题 KeyError: uelasticsearch Error: Error: Unable to run the custom hook script [/usr/bin/python, /var/lib/ambari-agent/cache/stack-hooks/before-ANY/scripts/hook.py, ANY, /var/lib/ambari-agent/data/command-102.json, /var/lib/amb…

Vue 邮箱登录界面

功能 模拟了纯前端的邮箱登录逻辑 还没有连接后端的发送邮件的服务 后续计划&#xff0c;再做一个邮箱、密码登录的界面 然后把这两个一块连接上后端 技术介绍 主要介绍绘制图形人机验证乃个 使用的是canvas&#xff0c;在源码里就有 界面控制主要就是用 表格、表单&#x…

大量设备如何集中远程运维?用好向日葵的这几个功能很重要

当企业的业务不断发展&#xff0c;不同系统、不同用途的IT设备数量也会不断上升&#xff0c;面对不断扩张的设备规模&#xff0c;IT运维的压力自然也会陡然上升。 面对这种情况&#xff0c;传统的线下运维方式已经不再合适&#xff0c;我们需要引入一个专业的&#xff0c;可以…

SRC实战:无中生有的接口和参数

今天分享的这个漏洞怎么说呢&#xff0c;虽然也是个高危&#xff0c;但是其实挺简单的&#xff0c;一个很eazy的越权&#xff0c;但是我觉得多多少少还是有点意思吧。 0x00 这是一个移动端的应用程序&#xff0c;前面比较常规&#xff0c;模拟器 BP&#xff0c;跑了一下所有…

赋能心理大模型,景联文科技推出高质量心理大模型数据库

生成式大模型作为当前发展势头最为强劲的人工智能前沿技术&#xff0c;其在临床心理学领域中的创新应用已成为社会关注和医学聚焦的热点之一。 心理大模型在落地应用过程中可能面临的痛点主要包括以下几个方面&#xff1a; 数据隐私与安全&#xff1a;确保敏感的个人信息在模型…

【Java11】变量的初始化和内存中的运行机制

成员变量的初始化和内存中的运行机制 系统加载类或创建类的实例时&#xff0c;系统自动为成员变量分配内存空间&#xff0c;然后自动为成员变量指定初始值。 class Person {public String name; // 实例变量public static int eyeNum; // 类变量 }var p1 Person(); var p2 …

2024年亚太中文赛数学建模竞赛B题 洪水灾害的数据分析与预测详细思路解析

2024年亚太中文赛数学建模竞赛B题 洪水灾害的数据分析与预测详细思路解析 解题方法&#xff1a; 首先就是对数据进行数据的预处理包括缺失值和异常值处理&#xff0c;之后就是分析哪些指标与洪水的发生有着密切的关联&#xff0c;可以使用相关性分析&#xff08;建议使用斯皮尔…

什么是OSPFv2 ?

什么是OSPF ? 开放式最短路径优先 OSPF&#xff08;Open Shortest Path First&#xff09;是IETF组织开发的一个基于链路状态的内部网关协议&#xff08;Interior Gateway Protocol&#xff09;。 目前针对IPv4协议使用的是OSPF Version 2&#xff08;RFC2328&#xff09;&a…

YOLO V7项目使用

YOLO V7项目使用 根据官方论文中提供的项目地址&#xff1a;使用git clone将项目下载到本地。 https://github.com/WongKinYiu/yolov7 git clone https://github.com/WongKinYiu/yolov7 使用pycharm打开项目&#xff0c;根据官方提供的requirement.txt文件下载项目启动所需要的…

Java实习手册(小白也看得懂)

秃狼说 距离俺发布的学习路线已经六个月了&#xff0c;那我给小伙伴的学习周期是四五个月左右&#xff0c;我相信大多的小伙伴已经学习的差不多了。正好赶上暑期实习的阶段&#xff0c;在暑期找到实习就成为暑期的头等大事。 实习经验在校招的起到决定性的作用&#xff0c;所…

Spring Security基本源码解析(超精细版)

一、基本源码解析 1.1 UsernamePasswordAuthenticationFilter 用户名称和密码的过滤器 浏览器发送用户名称和密码 ----》 经过过滤器「UsernamePasswordAuthenticationFitler」 1.2 UsernamePasswordAuthenticationFilter核心方法 重写父类「AbstractAuthenticationProcessing…

2.4章节python中字符串类型

在Python中&#xff0c;字符串&#xff08;String&#xff09;是一种基本的数据类型&#xff0c;用于表示文本信息。字符串可以包含字母、数字、标点符号或任何Unicode字符。Python中的字符串是不可变的&#xff0c;这意味着一旦创建了字符串&#xff0c;就不能更改字符串中的字…

Build a Large Language Model (From Scratch)附录D(gpt-4o翻译版)

来源&#xff1a;https://github.com/rasbt/LLMs-from-scratch?tabreadme-ov-file https://www.manning.com/books/build-a-large-language-model-from-scratch

Windows 下载安装ffmpeg

下载地址 https://ffmpeg.org/download.html 测试 管理员方式打开控制台&#xff0c;输入ffmpeg测试 配置环境变量

让你的 Rabbids Rockstar人物化身加入欢乐行列!

让你的 Rabbids Rockstar 人物化身加入欢乐行列&#xff01; https://www.youtube.com/watch?vwLBd20BxbS8 当这些调皮的小兔子以狂野的装扮、超棒的吉他弹奏和搞笑滑稽的动作登上舞台中央时&#xff0c;你将感受到它们异想天开的魅力。通过人物化身释放你内心的摇滚明星魅力&…

【收藏级神丹】Liae384_刘亦菲_直播可用,平衡度最高的原创神丹,独家珍稀资源

Liae384_刘亦菲_DFL神丹&#xff1a;点击下载 此丹较重&#xff0c;小卡可以使用但不能训练&#xff0c;实测复训适合24G卡8G、12G、16G卡下载练好的专丹直接使用即可384的Liae对各类杂论视频兼容比较好&#xff0c;高参也能容忍高分辨率的DST复用方式: 非必要不用删除AB&…

Go源码--channel源码解读

简介 channel顾名思义就是channel的意思&#xff0c;主要用来在协程之间传递数据&#xff0c;所以是并发安全的。其实现原理&#xff0c;其实就是一个共享内存再加上锁&#xff0c;底层阻塞机制使用的是GMP模型。可见 GMP模型就是那个道&#xff0c;道生一,一生二,二生三,三生…

【Mathematica14.0】快速从下载安装到使用

目录 1.简介 2.下载安装 下载 安装 3.一小时掌握mathematica使用 单元模式 内置函数 符号表达式 迭代器 赋值 通配符及查找替换 函数定义 匿名函数&#xff08;拉姆达表达式&#xff09; 函数映射 函数式与运算符 函数自定义选项 图形可视化 交互式界面 数值…

Rocky Linux 9.4基于官方源码制作openssh 9.8p1二进制rpm包 —— 筑梦之路

2024年7月1日&#xff0c;openssh 9.8版本发布&#xff0c;主要修复了CVE-2024-6387安全漏洞。 由于centos 7的生命周期在6月30日终止&#xff0c;因此需要逐步替换到Rocky Linux&#xff0c;后续会有更多分享关于Rocky Linux的文章。 环境说明 1. 操作系统版本 cat /etc/o…

【论文阅读】-- Strscope:不规则测量的时间序列数据的多尺度可视化

Stroscope: Multi-Scale Visualization of Irregularly Measured Time-Series Data 摘要1 引言2相关工作2.1&#xff08;大型&#xff09;时间序列数据可视化2.2 事件序列数据可视化2.3 评价 3问题分析3.1 数据集3.2 场景——现状3.3 设计流程3.4 设计原理 4 涟漪图&#xff1a…