多臂老虎机导论(二)Stochastic Bandits
文章目录
- 问题描述
- Uniform exploration
- Uniform exploration的Bound (k=2)
- Uniform exploration的Bound (K>2)
- Adaptive exploration
- Successive Elimination algorithm(k=2)
- Successive Elimination algorithm(k >2)
- Optimism under uncertainty
问题描述
问题描述如下:
算法的目标是最大化累计奖励,基于三个假设:
- 奖励的设定遵循
bandit feedback
。也就是说算法只能观测到所选择动作的奖励。 - 对于每个动作aaa,都有一个奖励分布Da\mathcal{D}_{a}Da与之对应,每次这个动作aaa被选中,反馈的奖励将会从这个分布中进行采样,并返回给算法。
- 奖励有界 [0,1][0,1][0,1]。
往往在实际过程中更多考虑奖励均值向量(mean reward vector
) μ∈[0,1]K\mu \in [0,1]^{K}μ∈[0,1]K,其中μ(a)=E[Da]\mu(a)=\mathbb{E}\left[\mathcal{D}_{a}\right]μ(a)=E[Da]。当然最简单的就是伯努利分布(Bernoulli distribution
),或者称之为0-1分布。
所有的arms
集合定义为A\mathcal{A}A,最优均值奖励定义为:μ∗:=maxa∈Aμ(a)\mu^{*}:=\max _{a \in \mathcal{A}} \mu(a)μ∗:=maxa∈Aμ(a)。任意一个动作均值奖励与最好的动作均值奖励的差表示为:Δ(a):=μ∗−μ(a)\Delta(a):=\mu^{*}-\mu(a)Δ(a):=μ∗−μ(a)。
悔憾值(Regret
):可用于衡量算法表现好坏的一个指标。就是用假设能拿到的最多的累计奖励减去已经拿到的累计奖励。定义为如下形式:
R(T)=μ∗⋅T−∑t=1Tμ(at)R(T)=\mu^{*} \cdot T-\sum_{t=1}^{T} \mu\left(a_{t}\right)R(T)=μ∗⋅T−t=1∑Tμ(at)
被称作在 TTT 回合(round
)的悔憾值。由于动作ata_{t}at经常会变,是个随机变量,因此R(T)R(T)R(T)也是个随机变量,我们通常考虑expected regret E[R(T)]\mathbb{E}[R(T)]E[R(T)]。
备注:术语:由于悔憾值的定义值整个回合(sum all rounds
),所以有时我们也将其称之为cumulative regret
。有时为了区别R(T)R(T)R(T) 和 E[R(T)]\mathbb{E}[R(T)]E[R(T)],分别将其称为realized regret
和expected regret
。文献中R(T)R(T)R(T)的值有时候也被称为pseudo-regret
。
Uniform exploration
那我们如何来求解上述的这样一个问题呢?一种简单地办法就是先随机选择,之后依据随机选则得到的结果确定哪一个arms
具有较高的奖励分布,通常也将这种算法称之为Explore-first
算法。
定义每个动作aaa的平均奖励为μˉ(a)\bar{\mu}(a)μˉ(a),期望平均奖励能够尽可能接近真实的期望奖励(true expected rewards
)。也就是∣μˉ(a)−μ(a)∣|\bar{\mu}(a)-\mu(a)|∣μˉ(a)−μ(a)∣的值尽可能小。定义置信半径(confidence radius
) r(a)=2logTNr(a)=\sqrt{\frac{2logT}{N}}r(a)=N2logT (T表示the time horizon
),使用霍夫丁不等式Hoeffding inequality
可以得到:
Pr{∣μˉ(a)−μ(a)∣≤r(a)}≥1−2T4\operatorname{Pr}\{|\bar{\mu}(a)-\mu(a)| \leq r(a)\} \geq 1-\frac{2}{T^{4}}Pr{∣μˉ(a)−μ(a)∣≤r(a)}≥1−T42
因此可以看出来,奖励平均与真实期望偏离会比较小。上述公式可直接由下面不等式推导得到:
霍夫丁不等式(英语:Hoeffding’s inequality)适用于有界的随机变量。设有两两独立的一系列随机变量 X1,…,Xn{\displaystyle X_{1},\dots ,X_{n}\!}X1,…,Xn。假设对所有的 1≤i≤n{\displaystyle 1\leq i\leq n}1≤i≤n,XiXi{\displaystyle X_{i}} X_{i}XiXi都是几乎有界的变量,即满足:P(Xi∈[ai,bi])=1.{\displaystyle \mathbb {P} (X_{i}\in [a_{i},b_{i}])=1.\!}P(Xi∈[ai,bi])=1.。
那么这nnn个随机变量的经验期望:
X‾=X1+⋯+Xnn{\displaystyle {\overline {X}}={\frac {X_{1}+\cdots +X_{n}}{n}}}X=nX1+⋯+Xn
满足以下的不等式:
P(X‾−E[X‾]≥t)≤exp(−2t2n2∑i=1n(bi−ai)2),{\displaystyle \mathbb {P} ({\overline {X}}-\mathbb {E} [{\overline {X}}]\geq t)\leq \exp \left(-{\frac {2t^{2}n^{2}}{\sum _{i=1}^{n}(b_{i}-a_{i})^{2}}}\right),\!} P(X−E[X]≥t)≤exp(−∑i=1n(bi−ai)22t2n2),
P(∣X‾−E[X‾]∣≥t)≤2exp(−2t2n2∑i=1n(bi−ai)2),{\displaystyle \mathbb {P} (|{\overline {X}}-\mathbb {E} [{\overline {X}}]|\geq t)\leq 2\exp \left(-{\frac {2t^{2}n^{2}}{\sum _{i=1}^{n}(b_{i}-a_{i})^{2}}}\right),\!}P(∣X−E[X]∣≥t)≤2exp(−∑i=1n(bi−ai)22t2n2),
其证明可参考链接如下:http://web.eecs.umich.edu/~cscott/past_courses/eecs598w14/notes/03_hoeffding.pdf
定义clean event
,(我的理解是:T4T^{4}T4 比较大,上述概率接近于1)。
Uniform exploration的Bound (k=2)
假定一种情况K=2K=2K=2 arms,考虑clean event
的情况,best arm
是 a∗a^{*}a∗,如果算法选择了其它 arm
a≠a∗a \neq a^{*}a=a∗,那一定是因为平均奖励比a∗a^{*}a∗要更好,或者说 uˉ(a)>μˉ(a∗)\bar{u}(a) > \bar{\mu}(a^{*})uˉ(a)>μˉ(a∗)。由于是clean event
,所以有:
μ(a)+r(a)≥μˉ(a)>μˉ(a∗)≥μ(a∗)−r(a∗)\mu(a)+r(a) \geq \bar{\mu}(a)>\bar{\mu}\left(a^{*}\right) \geq \mu\left(a^{*}\right)-r\left(a^{*}\right)μ(a)+r(a)≥μˉ(a)>μˉ(a∗)≥μ(a∗)−r(a∗)
重新整理一下,可得:
μ(a∗)−μ(a)≤r(a)+r(a∗)=O(logTN)\mu\left(a^{*}\right)-\mu(a) \leq r(a)+r\left(a^{*}\right)=O(\sqrt{\frac{\log T}{N}})μ(a∗)−μ(a)≤r(a)+r(a∗)=O(NlogT)
因此如果每个回合选择利用(exploitation
),最多会有O(logTN)O(\sqrt{\frac{\log T}{N}})O(NlogT)级别的后悔程度,选择探索(exploration
)的话,最大后悔程度为1。因此对于两个arm
的情况,对于每个arm
来说,可以将其分为两部分,NNN步的exploration
和 T−2NT-2NT−2N步的exploitation
。因此其regret
的upper bound
可表示为:
R(T)≤N+O(logTN×(T−2N))≤N+O(logTN×T)\begin{aligned} R(T) & \leq N+O(\sqrt{\frac{\log T}{N}} \times(T-2 N)) \\ & \leq N+O(\sqrt{\frac{\log T}{N}} \times T) \end{aligned}R(T)≤N+O(NlogT×(T−2N))≤N+O(NlogT×T)
因此我们可以改变 NNN 使得上述公式右端项尽可能小,这样regret
的上界也就会随之变小。那如何来求极值呢?发现一项单调递增,一项单调递减,令其两项相等即可得到N=T2/3(logT)1/3N = T^{2 / 3}(\log T)^{1 / 3}N=T2/3(logT)1/3 (NNN大概要取到T2/3T^{2/3}T2/3,耗时较大)。有:
R(T)≤O(T2/3(logT)1/3)R(T) \leq O\left(T^{2 / 3}(\log T)^{1 / 3}\right)R(T)≤O(T2/3(logT)1/3)
为了证明理论的完整性,我们现在考虑一下bad event
的情况,其发生概率(1/T41/T^{4}1/T4),因此可以忽略不记,如下所示:
E[R(T)]=E[R(T)∣clean event ]×Pr[clean event ]+E[R(T)∣bad event ]×Pr[bad event ]≤E[R(T)∣clean event ]+T×O(T−4)≤O(logT×T2/3)\begin{aligned} \mathbb{E}[R(T)] &=\mathbb{E}[R(T) | \text { clean event }] \times \operatorname{Pr}[\text { clean event }]+\mathbb{E}[R(T) | \text { bad event }] \times \operatorname{Pr}[\text { bad event }] \\ & \leq \mathbb{E}[R(T) | \text { clean event }]+T \times O\left(T^{-4}\right) \\ & \leq O\left(\sqrt{\log T} \times T^{2 / 3}\right) \end{aligned}E[R(T)]=E[R(T)∣ clean event ]×Pr[ clean event ]+E[R(T)∣ bad event ]×Pr[ bad event ]≤E[R(T)∣ clean event ]+T×O(T−4)≤O(logT×T2/3)
Uniform exploration的Bound (K>2)
更进一步,证明 K>2K > 2K>2 的情况,现在的upper-bounded
如下所示:R(T)≤NK+O(logTN×T)\begin{aligned} R(T) \leq NK+O(\sqrt{\frac{\log T}{N}} \times T) \end{aligned}R(T)≤NK+O(NlogT×T)。同理计算此时N=(T/K)2/3O(logT)1/3N = (T/K)^{2 / 3}O(\log T)^{1 / 3}N=(T/K)2/3O(logT)1/3。
Theorem 1.3. Explore-first
achieves regret E[R(T)]≤T2/3×O(KlogT)1/3\mathbb{E}[R(T)] \leq T^{2 / 3} \times O(K \log T)^{1 / 3}E[R(T)]≤T2/3×O(KlogT)1/3。
Explore-first
的方法性能损失比较大,由此有epsilon-greedy
算法:
如果假设探索的概率(exploration probability
) ϵt∼t−1/3\epsilon_{t} \sim t^{-1 / 3}ϵt∼t−1/3,此时探索的阶数是t2/3t^{2/3}t2/3,会和Explore-first探索的阶次一样。
Adaptive exploration
exploration-first
和epsilon-greedy
都不会说依据历史的奖励反馈信息来自适应调整贪婪策略,这一节主要来对比一下二者。一个很自然的想法是当我们发现了一个好的arm
,或者说能获得更多奖励的arm
,我们就将之前的抛弃,选择这个更好的arm
。还是考虑K=2K=2K=2的情况,那如何定义一个arm
的好坏就成了问题的关键。
ttt 是回合数,nt(a)n_{t}(a)nt(a) 为arm
aaa在ttt round内被选中的次数,uˉt(a)\bar{u}_{t}(a)uˉt(a) 是arm
a
到目前ttt round
的平均奖励,基于Hoeffding Inequality
有:
Pr[∣μˉt(a)−μ(a)∣≤rt(a)]≥1−2T4\operatorname{Pr}\left[\left|\bar{\mu}_{t}(a)-\mu(a)\right| \leq r_{t}(a)\right] \geq 1-\frac{2}{T^{4}}Pr[∣μˉt(a)−μ(a)∣≤rt(a)]≥1−T42
其中rt(a)=2logTnt(a)r_{t}(a) = \sqrt{\frac{2logT}{n_{t(a)}}}rt(a)=nt(a)2logT,被称作confidence radius
。ntn_{t}nt可能会基于arm a过去所获得的奖励信息,因此arm a上的采样并不需要独立分布。
对每个arm a,想象有一个reward tape
:是一个1×T1 \times T1×T的表格,其中的每个cell
独立地从Da\mathcal{D}_{a}Da中采样,如下图所示:
第 jjj个格子储存我们第 jjj 次选择这个arm所观察到的reward,记为vj(a)v_{j}(a)vj(a)。同样,记 vˉj(a)\bar{v}_{j}(a)vˉj(a)为前j个格子的平均值。基于Hoeffding Inequality
有:
∀jPr(∣vˉj(a)−μ(a)∣≤rt(a))≥1−2T4\forall j \quad \operatorname{Pr}\left(\left|\bar{v}_{j}(a)-\mu(a)\right| \leq r_{t}(a)\right) \geq 1-\frac{2}{T^{4}}∀jPr(∣vˉj(a)−μ(a)∣≤rt(a))≥1−T42
再将所有的arm
考虑进来,有:
上述公式(1.6)其实是clean event
的一个分析。由此可以得到在round
ttt下arm aaa 的upper/lower confidence bounds
:
UCBt(a)=μˉt(a)+rt(a)LCBt(a)=μˉt(a)−rt(a)\begin{array}{l} \mathrm{UCB}_{t}(a)=\bar{\mu}_{t}(a)+r_{t}(a) \\ \mathrm{LCB}_{t}(a)=\bar{\mu}_{t}(a)-r_{t}(a) \end{array}UCBt(a)=μˉt(a)+rt(a)LCBt(a)=μˉt(a)−rt(a)
[LCBt(a);UCBt(a)][\mathrm{LCB}_{t}(a); \mathrm{UCB}_{t}(a)][LCBt(a);UCBt(a)]区间被称作置信区间(confidence interval
)。知道了这样一个区间就相当于知道了一个arm期望奖励大概的范围,当某个arm
的UCB
比另外一个arm
的LCB
还要低的时候,就可以抛弃这个arm
了,也就完成了对arm
好坏的一个定义。
Successive Elimination algorithm(k=2)
基于上述思想,介绍Successive Elimination
算法。
在假定clean event
的情况下,产生一个disqualified
(不合格)的arm
,会累计多少regret
?
当ttt到达了last round
,还没有到达终止条件,也就是两个arms
的置信间隔具有重叠,有:
Δ:=∣μ(a)−μ(a′)∣≤2(rt(a)+rt(a′))\Delta:=\left|\mu(a)-\mu\left(a^{\prime}\right)\right| \leq 2\left(r_{t}(a)+r_{t}\left(a^{\prime}\right)\right)Δ:=∣μ(a)−μ(a′)∣≤2(rt(a)+rt(a′))
由于算法开始是交替选择两个arm
,因此有nt(a)=t2n_{t}(a)=\frac{t}{2}nt(a)=2t,可以得到:
Δ≤2(rt(a)+rt(a′))≤42logT⌊t/2⌋=O(logTt)\Delta \leq 2\left(r_{t}(a)+r_{t}\left(a^{\prime}\right)\right) \leq 4 \sqrt{\frac{2 \log T}{\lfloor t / 2\rfloor}}=O(\sqrt{\frac{\log T}{t}})Δ≤2(rt(a)+rt(a′))≤4⌊t/2⌋2logT=O(tlogT)
直到round
ttt 整个的累计regret
可表示为:
R(t)≤Δ×t≤O(t⋅logTt)=O(tlogT)R(t) \leq \Delta \times t \leq O(t \cdot \sqrt{\frac{\log T}{t}})=O(\sqrt{t \log T})R(t)≤Δ×t≤O(t⋅tlogT)=O(tlogT)
可以发现这种算法的regret bound
t\sqrt{t}t要强于之前的贪心算法T2/3T^{2/3}T2/3了。为了分析更加完整,考虑bad event
的情况如下所示:
Successive Elimination algorithm(k >2)
将其扩展到K>2K >2K>2的情形,得到Successive Elimination
算法:
现在对这个算法做一个简要分析,K=2K=2K=2 arm
,bad event
的情况仍是不考虑。假定最优arm
为a∗a^{*}a∗,对于任意一个arm
aaa有μ(a)<μ(a∗)\mu(a) < \mu(a^{*})μ(a)<μ(a∗)。如果我们没有抛弃这个arm
,那么其置信区间和最优的arm
的置信区间是重合的:
Δ(a):=μ(a∗)−μ(a)≤2(rt(a∗)+rt(a))=O(rt(a))\Delta(a):=\mu\left(a^{*}\right)-\mu(a) \leq 2\left(r_{t}\left(a^{*}\right)+r_{t}(a)\right)=O\left(r_{t}(a)\right)Δ(a):=μ(a∗)−μ(a)≤2(rt(a∗)+rt(a))=O(rt(a))
即arm
aaa的mean reward
和最好的mean reward
的差距。最后一个等式能够成立的原因在于nt(a)n_{t}(a)nt(a)和nt(a∗)n_{t}(a^{*})nt(a∗)其最多差1(算法是交替选择action
)。由于arm
aaa 没有play
过,因此nt(a)=nT(a)n_{t}(a)=n_{T}(a)nt(a)=nT(a),因此有rt(a)=rT(a)r_{t}(a)=r_{T}(a)rt(a)=rT(a) ,可以得到:
上述公式的直观理解就是某个arm
被选择了很多次,却没有被抛弃,就说明这个arm
不会太差。之后的分析都基于这个公式。
arm aaa在round
ttt处的regret
定义为R(t;a)R(t;a)R(t;a),Δ(a)\Delta(a)Δ(a)表示为对每个played
的arm
,依据公式(1.7)得到以下上界:
R(t;a)=nt(a)⋅Δ(a)≤nt(a)⋅O(logT/nt(a))=O(nt(a)logT)R(t ; a)=n_{t}(a) \cdot \Delta(a) \leq n_{t}(a) \cdot O(\sqrt{\log T / n_{t}(a)})=O(\sqrt{n_{t}(a) \log T})R(t;a)=nt(a)⋅Δ(a)≤nt(a)⋅O(logT/nt(a))=O(nt(a)logT)
将上述等式的关系带入公式(1.8)得到
R(t)≤O(KtlogT)R(t) \leq O(\sqrt{K t \log T})R(t)≤O(KtlogT)
基于公式(1.7)可以得到另一个regret bound
,将公式(1.7)稍作变形可得:nT(a)≤O(logT[Δ(a)]2)n_{T}(a) \leq O\left(\frac{\log T}{[\Delta(a)]^{2}}\right)nT(a)≤O([Δ(a)]2logT),这个公式的理解就是一个很差的arm
不会被played很多次。对每个arm
a∈Aa \in \mathcal{A}a∈A,有:
R(T;a)=Δ(a)⋅nT(a)≤Δ(a)⋅O(logT[Δ(a)]2)=O(logTΔ(a))R(T ; a)=\Delta(a) \cdot n_{T}(a) \leq \Delta(a) \cdot O\left(\frac{\log T}{[\Delta(a)]^{2}}\right)=O\left(\frac{\log T}{\Delta(a)}\right)R(T;a)=Δ(a)⋅nT(a)≤Δ(a)⋅O([Δ(a)]2logT)=O(Δ(a)logT)
对所有的arm
a∈A+a \in \mathcal{A^{+}}a∈A+,有:
R(T)≤O(logT)[∑a∈A+1Δ(a)]R(T) \leq O(\log T)\left[\sum_{a \in \mathcal{A}^{+}} \frac{1}{\Delta(a)}\right]R(T)≤O(logT)[a∈A+∑Δ(a)1]
因此得到了另一个下界:
可以看到adaptive exploration
与non-adaptive exploration
相比较,adaptive exploration
是一个对数悔憾界(logarithmic regret bounds)。
Optimism under uncertainty
考虑另一种自适应探索(adaptive exploration)的方法,不确定性下最优求解(optimism under uncertainty),假设每个arm
都尽可能地好,选择其中最优的那个,这个算法叫做UCB1
:
Arm
被选中是由于有大的UCB
值,而其由两部分组成,一个是uˉt(a)\bar{u}_{t}(a)uˉt(a)很大,说明其reward
很大,另一个是confidence radius
rt(a)r_{t}(a)rt(a)很大,说明其值得探索,或者说探索不充分。将其组合在UCB
公式中能够平衡其二者的关系。
UCB
类算法相比贪心算法最大的优势,它的每步都在随着获得的reward
反馈动态调整自己的策略,这个特性我们将在之后的RL
算法中更加频繁的看到。
多臂老虎机导论(二)Stochastic Bandits相关推荐
- 【科普】强化学习之多臂老虎机问题(bandit算法:softmax,random,UCB)
本博客上的文章分为两类:一类是科普性文章,以通俗易懂的语言风格介绍专业性的概念及其应用场景(公式极少或没有),适合入门阶段.另一类是专业性文章,在科普阶段上做出详细的专业性数学推导,深刻理解其概念的内 ...
- 不只是A/B测试:多臂老虎机赌徒实验
点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Shaw Lu 编译:ronghuaiyang 导读 学习使用Google ...
- 深度学习核心技术精讲100篇(三)-层次自适应的多臂老虎机决策算法 ( HATCH )在滴滴中的应用
前言 需要源码的小伙伴参见: Contextual Bandits 算法在推荐场景中的应用源码 https://download.csdn.net/download/wenyusuran/155784 ...
- 强化学习笔记:多臂老虎机问题(7)--Gradient Bandit Algorithm
目录 0. 前言 1. 算法原理 2. Python仿真 2.1 函数改造 2.2 softmax() 2.3 改造后的k_armed_bandit_one_run() 2.4 对比仿真 2.5 一点 ...
- 【强化学习】多臂老虎机——E_greedy、UCB、Gradient Bandit 算法 代码实现
多臂老虎机 import numpy as np import matplotlib.pyplot as pltclass E_greedy:def __init__(self,arm_num=10, ...
- Multi-Armed Bandit--基于时变多臂老虎机的在线上下文感知推荐
Online Context-Aware Recommendation with Time Varying Multi-Armed Bandit 基于时变多臂老虎机的在线上下文感知推荐 摘要 为了预测 ...
- 强化学习的学习之路(十)_2021-01-10:K臂老虎机介绍及其Python实现
作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助.这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学 ...
- 从多臂老虎机开始学习强化学习中的探索与利用
从多臂老虎机开始学习强化学习中的探索与利用 \quad 目录 从多臂老虎机开始学习强化学习中的探索与利用 多臂老虎机问题 形式化描述 估计期望奖励 代码实现 策略中的探索与利用 ϵ\epsilonϵ- ...
- 多臂老虎机(Multi-armed bandit problem)
我们会遇到很多选择的场景,如:上哪所大学,学什么专业,去哪家公司,等等.这些选择问题都会让选择困难症患者头大.那么,有什么科学的办法来解决这些问题呢?答案是:有!而且是非常科学的办法,那就是多臂老虎机 ...
- 强化学习——day12 多臂老虎机问题MAB
在多臂老虎机(multi-armed bandit,MAB)问题(见图 2-1)中,有一个拥有 根拉杆的老虎机,拉动每一根拉杆都对应一个关于奖励的概率分布 .我们每次拉动其中一根拉杆,就可以从该拉杆对 ...
最新文章
- 香港大学工程学院计算机教授,香港大学郑振刚教授访问软件园校区
- 洛谷P1090 合并果子
- 前端页面闪烁的问题解决方案
- JAVA_WEB--jsp概述
- project 打印的时候上面的表格和下面的图例中间有个很大的空白,这块东西怎么能去掉呢?
- 【生活】我的2019年度总结
- 生活随笔:师弟,加油
- [RK3399][Android7.1] adb remount失败
- JavaScript 教程 (详细 全面)
- 虚拟打印机 android版,Doro PDF Writer
- QNX系统将C/C++代码编译为lib***.so文件
- wed基础和http
- 这三年,一路走来,劈荆斩棘 – Vol 1
- USIM卡与SIM的区别
- java 翻译 go语言_【翻译】go是面向对象语言吗?
- QQ音乐酷狗音乐竞品分析
- 儿童python编程app_Python编程狮app下载
- 深度学习篇之数据集划分方法-附代码python详细注释
- 什么是pageRank
- PCL 实现 SAC_IA 算法原理源码解析