Introduction to Multi-Armed Bandits——02 Stochastic Bandits

news2024/11/24 18:43:30

Introduction to Multi-Armed Bandits——02 Stochastic Bandits

参考资料

  1. Slivkins A. Introduction to multi-armed bandits[J]. Foundations and Trends® in Machine Learning, 2019, 12(1-2): 1-286.

  2. 在线学习(MAB)与强化学习(RL)[2]:IID Bandit的一些算法

Bandit算法学习[网站优化]偏实战,而本专栏偏理论学习。

本章介绍具有独立同分布奖励的bandit,这是MAB的基本模型。我们提出了几种算法,并从悔值的角度分析了它们的性能。

一、模型和实例

我们考虑具有独立同分布奖励的基本模型,称为stochastic bandits。一个算法有 K K K 个可能的动作可供选择,即臂(arm),有 T T T 个回合, K K K T T T已知。在每一轮中,算法选择一只臂,并为这只臂收集奖励。该算法的目标是在 T T T 轮中最大化其总回报。我们做了三个基本假设:

  • 该算法只观察所选动作的奖励,而不观察其他。特别是,它没有观察到本可以选择的其他动作的奖励。这就是所谓的bandit feedback

  • 每次行动的奖励是独立同分布的。对于每个动作 a a a ,在实数域上有一个分布 D a D_a Da,称为 reward distribution。每次选择此动作时,奖励都会独立于此分布进行采样。该算法最初不知道奖励分布。

  • 每轮奖励是有限制的;出于简化。限制在区间[0,1]。

因此,算法根据下面总结的协议进行交互。

image-20230114105528361

我们主要关注mean reward vector(平均奖励向量) μ ∈ [ 0 , 1 ] K \mu\in [0,1]^K μ[0,1]K,其中 μ ( a ) = E [ D a ] \mu(a) = \mathbb{E}[D_a] μ(a)=E[Da]是臂 a a a 的平均奖励。也许最简单的奖励分布是伯努利分布:每个臂 a a a 的奖励可以是1或0(“成功或失败”,“正面或反面”)。这种奖励分布完全由平均奖励决定,在这种情况下,平均奖励就是成功结果的概率。然后,问题实例完全由时间范围 T T T 和平均奖励向量指定。

我们的模型是对现实的一个基本特征的简单抽象,它存在于许多应用场景中。接下来我们将举三个例子:

  1. 新闻:在一个非常程式化的新闻应用程序中,用户访问一个新闻站点,该站点显示一个新闻标题,用户可以单击这个标题,也可以不单击。网站的目标是最大限度地增加点击量。所以每个可能的标题都是bandit问题中的一个臂,点击就是奖励。每个用户都是从用户的固定分布中独抽取的,因此在每一轮中,点击都是独立发生的,其概率仅取决于所选的标题。

  2. 广告选取:在网站广告中,用户访问网页,算法从许多可能的广告中选择一个来显示。如果显示广告 a a a,则网站观察用户是否点击该广告,在这种情况下,广告商支付一定的金额 v a ∈ [ 0 , 1 ] v_a\in [0,1] va[0,1]。因此,每个广告都是一只臂,支付的金额就是奖励。 v a v_a va仅取决于所显示的广告,但不随时间改变。给定广告的点击概率也不会随时间变化。

  3. 医学实验:病人去看医生,医生可以从几种可能的治疗方法中选择一种,并观察治疗效果。然后下一个病人过来,以此类推。为了简单起见,治疗的有效性被量化为 [ 0 , 1 ] [0,1] [0,1]的数字。每一种治疗都可以被认为是一只臂,而奖励则被定义为治疗效果。作为一个理想化的假设,每个患者都是从固定的患者分布中独立抽取的,因此给定治疗的有效性是独立同分布的。

请注意,在前两个示例中,给定臂的奖励只能接受两个可能的值,但在第三个示例中,原则上可以接受任意值。

备注: 我们在本章和本书的大部分内容中都使用了以下约定。我们将交替使用臂和动作。

  • 臂用 a a a表示,轮次用 t t t表示。有 K K K个臂和 T T T轮。
  • 所有臂的集合是 A \mathcal{A} A。每只臂的平均报酬是 μ ( a ) : = E [ D a ] \mu(a) := \mathbb{E}[D_a] μ(a):=E[Da].
  • 最佳平均报酬用 μ ∗ : = max ⁡ a ∈ A μ ( a ) \mu^* := \max_{a\in \mathcal{A} } \mu(a) μ:=maxaAμ(a)表示。
  • 差值为 Δ ( a ) : = μ ∗ − μ ( a ) \Delta(a) := \mu^*-\mu(a) Δ(a):=μμ(a)
  • 述了臂 a a a μ ∗ \mu^* μ相比差多少; 我们称之为臂 a a a g a p {gap} gap
  • 最优臂是臂 a a a μ ( a ) = μ ∗ \mu(a)=\mu^* μ(a)=μ,而最优臂不是唯一的。我们用 a ∗ a^* a 表示某个最优臂。
  • [ n ] [n] [n] 表示集合 { 1 , 2 , ⋯   , n } \{1,2 ,\cdots, n\} {1,2,,n}

Regret(悔值)

  • 我们如何论证一个算法在不同的问题实例中是否做得很好?一种标准方法是将算法的累积奖励与best-arm基准 μ ∗ ⋅ T \mu^* \cdot T μT(总是选择最优臂的期望奖励)进行比较。形式上,我们定义了在轮次 T T T上的悔值(regret):

R ( T ) = μ ∗ ⋅ T − ∑ t = 1 T μ ( a t ) . \begin{align} R(T) = \mu^* \cdot T - \sum_{t=1}^{T} \mu(a_t).\tag{2.1} \end{align} R(T)=μTt=1Tμ(at).(2.1)

事实上,这就是算法“后悔”没有提前知道最佳臂的程度。请注意, a t a_t at,在 t t t处选择的臂,是一个随机量,因为它可能取决于奖励和/或算法的随机性。 R ( T ) R(T) R(T)也是一个随机变量。我们通常会谈论 期望悔值  E [ R ( T ) ] 期望悔值~\mathbb E[R(T)] 期望悔值 E[R(T)]

主要关心 E [ R ( T ) ] \mathbb E[R(T)] E[R(T)] 悔值在时间范围 T T T上的依赖关系。还考虑了对臂数量 K K K和平均奖励 μ ( ⋅ ) \mu(\cdot) μ()的依赖。对奖励分布的细粒度依赖不太感兴趣。通常使用big-O表示法来关注对所关注参数的渐近依赖关系。

备注(术语): 由于对悔值的定义是对所有回合的总和,我们有时称之为累积悔值(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

我们从一个简单的想法开始:统一探索(explore)臂(以相同的速度),而不管之前观察到的情况如何,并选择经验上最好的手臂进行利用(exploit)。这个想法对应的算法,称为 E x p l o r e − f i r s t Explore-first Explorefirst 算法:将初始轮段专门用于探索,其余轮用于利用。

image-20230114120057458

参数 N N N是预先固定的;它将根据时间 T T T和臂数量 K K K进行选择,以减少悔值。让我们来分析一下这个算法的悔值。

让每个动作 a a a在探索阶段后的平均奖励表示为 μ ˉ ( a ) \bar\mu(a) μˉ(a)。我们希望平均奖励是对真实预期奖励的良好估计,即 ∣ μ ‾ ( a ) − μ ( a ) ∣ |\overline{\mu} (a)- \mu(a)| μ(a)μ(a)应该很小。我们用Hoeffding不等式来约束它:

Pr [   ∣ μ ‾ ( a ) − μ ( a ) ∣ ≤ rad ] ≥ 1 − 2 T 4 , where rad : = 2 log ⁡ ( T )   /   N \begin{align} \text{Pr} \left[\ {|\overline{\mu} (a) - \mu(a)| \leq \text{rad}} \right] \geq 1 - \frac{2}{T^4} \text{, where } \text{rad} := \sqrt{2 \log(T)\,/\, N}\tag{2.2} \end{align} Pr[ μ(a)μ(a)rad]1T42, where rad:=2log(T)/N (2.2)

因此, μ ( a ) \mu(a) μ(a) 以高概率位于已知区间 [ μ ‾ ( a ) − rad ,   μ ‾ ( a ) + rad ] \left[\overline{\mu}(a)- \text{rad},\ \overline{\mu}(a)+ \text{rad} \right] [μ(a)rad, μ(a)+rad]
中。 一个包含某个标量的已知区间称为该标量的置信区间( c o n f i d e n c e   i n t e r v a l confidence\ interval confidence interval)。这个区间长度(本例中为rad)的一半称为置信度( c o n f i d e n c e   r a d i u s confidence\ radius confidence radius )。

在不知道 μ ( a ) \mu(a) μ(a) 的情况下,采集了 N N N 个样本之后,我们用样本平均值进行估计,这个估计对于 μ ( a ) \mu(a) μ(a) 的误差大概是 log ⁡ T / N \sqrt{\log T/N} logT/N 级别的。同时,因为我们一般可以认为我们的分析是渐进(asymptotic)的,我们可以认为 T T T 非常大,因此这件事情发生的概率非常高( 2 / T 4 → 0 2/T^4\to 0 2/T40

c l e a n   e v e n t clean\ event clean event定义为(1.2)对所有臂同时成立的事件。我们将分别论证 c l e a n   e v e n t clean\ event clean event和 “ b a d   e v e n t bad\ event bad event”—— c l e a n   e v e n t clean\ event clean event的补充。有了这种方法,我们就不需要在剩下的分析中担心概率问题。

为了简单起见,让我们从 K = 2 个 K=2个 K=2臂的情况开始。考虑一下 c l e a n   e v e n t clean\ event clean event:

让最佳手臂为 a ∗ a^* a,假设算法选择了另一个手臂 a ≠ a ∗ a\neq a^* a=a。这一定是因为它的平均奖励比 a ∗ a^* a的好。 μ ˉ ( a ) > μ ˉ ( a ∗ ) \bar{\mu}(a) > \bar\mu(a^*) μˉ(a)>μˉ(a)

μ ( a ) + rad ≥ μ ˉ ( a ) > μ ˉ ( a ∗ ) ≥ μ ( a ∗ ) − rad \begin{aligned} \mu(a) + \text{rad} \geq \bar\mu(a) > \bar\mu(a^*) \geq \mu(a^*) - \text{rad} \end{aligned} μ(a)+radμˉ(a)>μˉ(a)μ(a)rad

可得到 μ ( a ∗ ) − μ ( a ) ≤ 2   rad \mu(a^*) - \mu(a) \leq 2\,\text{rad} μ(a)μ(a)2rad

因此,利用阶段的每个回合最多产生 2 rad 2\text{rad} 2rad 的悔值。探索阶段的每一轮最多产生 1 1 1

R ( T ) ≤ N + 2   rad ⋅ ( T − 2 N ) < N + 2   rad ⋅ T \begin{aligned} R(T) \leq N + 2\,\text{rad}\cdot (T-2N) < N + 2\,\text{rad} \cdot T \end{aligned} R(T)N+2rad(T2N)<N+2radT

回忆一下,我们可以选择 N N N的任何值。因此,我们可以选择(近似)最小化右值的 N N N。由于两个总和在 N N N中分别是单调递增和单调递减的,我们可以设置 N N N使它们近似相等。对于 N = T 2 / 3 ( log ⁡ T ) 1 / 3 N=T^{2/3}(\log T)^{1/3} N=T2/3(logT)1/3。得到:

R ( T ) ≤ O ( T 2 / 3    ( log ⁡ T ) 1 / 3 ) \begin{aligned} R(T) &\leq O\left( T^{2/3}\; (\log T)^{1/3}\right) \end{aligned} R(T)O(T2/3(logT)1/3)

剩下的就是分析 " b a d   e v e n t bad\ event bad event "。由于悔值最多只有 T T T(每轮最多贡献 1 1 1),而 b a d   e v e n t bad\ event bad event发生的概率非常小,因此可以忽略这一事件的悔值。从形式上看:
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 ( ( log ⁡ T ) 1 / 3 × T 2 / 3 ) (2.3) \begin{aligned} \mathbb{E}\left[R(T)\right] &= \mathbb{E}\left[ R(T) \mid \text{clean event}\right] \times \Pr\left[ \text{clean event}\right] \;+\; \mathbb{E}\left[R(T) \mid \text{bad event}\right]\times \Pr\left[ \text{bad event}\right]\\ &\leq \mathbb{E}\left[{R(T) \mid \text{clean event}}\right] + T\times O({T^{-4}}) \\ &\leq O({ (\log T)^{1/3} \times T^{2/3}})\tag{2.3} \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(T4)O((logT)1/3×T2/3)(2.3)

对于 K > 2 K>2 K>2的臂,我们在 K K K个臂上应用(2.2)的联合约束。然后遵循上述相同的论证。请注意, T ≥ K T\geq K TK 不失一般性,因为我们需要对每个臂至少探索一次。对于最后的悔值计算,我们需要考虑到对 K K K的依赖性:具体来说,探索阶段积累的悔值被 K N KN KN所限制了。通过证明,我们得到 R ( T ) ≤ N K + 2   rad ⋅ T R(T) \leq NK + 2\,\text{rad}\cdot T R(T)NK+2radT。和以前一样,我们通过近似最小化两个总和来近似最小化它。插入 N = ( T / K ) 2 / 3 ⋅ O ( l o g T ) 1 / 3 N=(T/K)^{2/3} \cdot O(log T)^{1/3} N=(T/K)2/3O(logT)1/3。以与(2.3)相同的方式完成证明,得到:

定理2.5 Explore-first achieves regret E [ R ( T ) ≤ T 2 / 3 × O ( K log ⁡ T ) 1 / 3 ] \text{Explore-first achieves regret}\quad \mathbb{E}\left[{R(T)} \leq T^{2/3} \times O(K \log T)^{1/3}\right] Explore-first achieves regretE[R(T)T2/3×O(KlogT)1/3]

2.1 改进:Epsilon-greedy算法

E x p l o r e − f i r s t Explore-first Explorefirst 的一个问题是,如果许多/大多数臂有很大的差距 Δ ( a ) \Delta(a) Δ(a),那么它在探索阶段的表现可能非常糟糕。一般将探索更均匀地分布在时间上会更好。这种思想应用在了 E p s i l o n − g r e e d y Epsilon-greedy Epsilongreedy算法。

image-20230117125729692

在短期内选择最佳选项在计算机科学领域中被称为"贪婪"(greedy)选择,因此该算法得名"Epsilon-greedy"。探索在臂上是均匀的,类似于探索优先算法中的"轮循"(round-robin)探索。由于探索现在是随着时间均匀地传播的,所以即使对于小的 t t t,也可以希望得到有意义的悔值边界。我们关注探索概率 ϵ t ∼ t − 1 / 3 \epsilon_t \sim t^{- 1/3} ϵtt1/3 (暂时忽略对 K K K log ⁡ t \log t logt 的依赖),使得探索轮次的期望值是 t 2 / 3 t^{2/3} t2/3 的量级,这与时间跨度为 T = t T=t T=t E x p l o r e − f i r s t Explore-first Explorefirst 算法相同。推导出与定理2.5相同的悔值界,现在它对所有轮次 t t t 都成立。

定理1.6: 探索概率为 ϵ t = t − 1 / 3 ⋅ ( K log ⁡ t ) 1 / 3 \epsilon_t=t^{-1/3} \cdot (K\log t)^{1/3} ϵt=t1/3(Klogt)1/3 的 Epsilon-greedy 算法在轮次 t t t 中达到的悔值界为 E [ R ( t ) ] ≤ t 2 / 3 ⋅ O ( K log ⁡ t ) 1 / 3 \mathbb{E}[R(t)] \leq t^{2/3} \cdot O(K \log t)^{1/3} E[R(t)]t2/3O(Klogt)1/3

2.2 非适应性探索

E x p l o r e − f i r s t Explore-first Explorefirst E p s i l o n − g r e e d y Epsilon-greedy Epsilongreedy 不会调整他探索计划,以适应观察到的奖励的历史。我们将此属性称为非适应性探索(non-adaptive exploration,),并将其形式化表述如下:

定义1.7:如果轮次 t t t 的数据 ( a t , r t ) {(a_t,r_t)} (at,rt) 被算法用于未来的回合,那么这个轮次就是一个探索轮次(exploration round)。如果所有探索轮的集合和其中的臂选择在第 1 1 1 轮之前是固定的,那么这个确定性算法就满足非适应性探索。如果一个随机算法对其随机种子的每一次实现都能满足非适应性探索,则该算法满足非适应性探索。

接下来,我们通过根据观察结果调整探索,来获得更好的悔值界限。

三、高级算法:自适应探索

我们提出了两种算法,它们取得了更好的悔值界限。这两种算法都是根据观察结果来调整探索,从而使表现很差的臂更早地被淘汰。

让我们从 K = 2 K=2 K=2 个臂的情况开始。一个自然的想法是这样的:

不断轮换臂,直到我们确信哪只臂更好,然后使用这只臂。 (2.4) 不断轮换臂,直到我们确信哪只臂更好,然后使用这只臂。\tag{2.4} 不断轮换臂,直到我们确信哪只臂更好,然后使用这只臂。(2.4)

接下来进行具体的说明。

3.1 Clean event and confidence bounds

固定轮次 t t t 和臂 a a a。让 n t ( a ) n_t(a) nt(a) t t t 之前选择此臂的轮次数,让 μ ˉ t ( a ) \bar{\mu}_t(a) μˉt(a) 为这些轮次的平均奖励。我们将使用Hoeffding不等式来推导出如下公式:

Pr ⁡ [ ∣ μ ˉ t ( a ) − μ ( a ) ∣ ≤ r t ( a ) ] ≥ 1 − 2 T 4 ,  where  r t ( a ) = 2 log ⁡ ( T )   /   n t ( a ) \begin{align} \Pr\left[ |\bar{\mu}_t(a)-\mu(a)| \le r_t(a)\right] \ge 1 - \frac{2}{T^4} ,\ \text{where}\ r_t(a) = \sqrt{2\log(T)\,/\, n_t(a)}\tag{2.5} \end{align} Pr[μˉt(a)μ(a)rt(a)]1T42, where rt(a)=2log(T)/nt(a) (2.5)

然而,上式并不能立即得到。这是因为Hoeffding不等式只适用于固定数量的独立随机变量,而这里我们来自奖励分布 D a \mathcal{D}_a Da n t ( a ) n_t(a) nt(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) 的特定实现的条件下, a a a 的样本不一定是独立的。 举个简单的例子,假设一个算法在前两轮中选择了手臂 a a a ,当且仅当在前两轮中奖励为 0 0 0 时在第3轮中再次选择它,并且不再选择它。

因此,我们需要一个更严谨的论证。我们提出这个论证的一个基本版本。对于每个臂 a a a ,让我们想象有一个 r e w a r d   t a p e reward\ tape reward tape :一个 1 × T 1\times T 1×T 的表格,每个单元都从 D a \mathcal{D}_a Da中独立采样,如下图所示。

ch-IID-tape

其中第 j j j 个格子存储我们第 j j j 次选择这个臂时观察到的奖励,用 v ˉ j ( a ) \bar{v}_j(a) vˉj(a) 表示其平均值。使用Hoeffding不等式可推出:

∀ j Pr ⁡ [ ∣ v ˉ j ( a ) − μ ( a ) ∣ ≤ r t ( a ) ] ≥ 1 − 2 T 4 \begin{aligned} \forall j \quad \Pr\left[{ |\bar{v}_j(a) - \mu(a)|\le r_t(a)}\right]\ge 1 - \frac{2}{T^4} \end{aligned} jPr[vˉj(a)μ(a)rt(a)]1T42

通过联合约束,可以得出(假设 K =  #arms  ≤ T K=\text{ \#arms }\leq T K= #arms T

Pr ⁡ [ E ] ≥ 1 − 2 T 2 ,  where  E : = { ∀ a ∀ t ∣ μ ˉ t ( a ) − μ ( a ) ∣ ≤ r t ( a ) } \begin{align} \Pr\left[{\mathcal{E}}\right]\ge 1 - \frac{2}{T^2},\ \text{where}\ \mathcal{E} :=\{\forall a\forall t\quad |\bar{\mu}_t(a)-\mu(a)| \le r_t(a)\}\tag{2.6} \end{align} Pr[E]1T22, where E:={atμˉt(a)μ(a)rt(a)}(2.6)

其中 E \mathcal{E} E c l e a n   e v e n t clean\ event clean event

对于每个臂 a a a 在每轮 t t t 中,我们定义一个置信上限和置信下限:

UCB t ( a ) = μ ˉ t ( a ) + r t ( a ) , LCB t ( a ) = μ ˉ t ( a ) − r t ( a ) . \begin{aligned} \text{UCB}_t(a) &= \bar{\mu}_t(a) + r_t(a), \\ \text{LCB}_t(a) &= \bar{\mu}_t(a) - r_t(a). \end{aligned} UCBt(a)LCBt(a)=μˉt(a)+rt(a),=μˉt(a)rt(a).

置信区间为 [ UCB t ( a ) , LCB t ( a ) ] \left[ \text{UCB}_t(a), \text{LCB}_t(a) \right] [UCBt(a),LCBt(a)],置信度为 r t ( a ) r_t(a) rt(a)

3.2 连续消除算法Successive Elimination algorithm

对于两个臂,使用置信界限,有如下算法:

image-20230117173634782

为了分析,假设是clean event。请注意,"被抛弃"的臂不可能是最好的臂。在取消一只臂的资格之前,我们要积累多少悔值?

t t t为最后一轮,即两臂的置信区间仍然重叠时,如下图,则有
Δ : = ∣ μ ( a ) − μ ( a ′ ) ∣ ≤ 2 ( r t ( a ) + r t ( a ′ ) ) \Delta:=|\mu(a) - \mu(a')|\le 2(r_t(a) + r_t(a')) Δ:=μ(a)μ(a)2(rt(a)+rt(a))

ch-IID-last_round

由于算法在时间 t t t 之前一直在交替使用两臂,我们有 n t ( a ) = t 2 n_t(a)= \frac{t}{2} nt(a)=2t,可得到:

Δ ≤ 2 ( r t ( a ) + r t ( a ′ ) ) ≤ 4 2 log ⁡ ( T )   /   ⌊ t / 2 ⌋ = O ( log ⁡ ( T )   /   t ) \Delta \leq 2(r_t(a) + r_t(a')) \leq 4 \sqrt{2\log(T) \,/\,\left\lfloor {t/2} \right\rfloor } = O(\sqrt{\log(T)\,/\, t}) Δ2(rt(a)+rt(a))42log(T)/t/2 =O(log(T)/t )

t t t 轮的悔值为:

R ( t ) ≤ Δ × t ≤ O ( t ⋅ log ⁡ T t ) = O ( t log ⁡ T ) R(t) \leq \Delta\times t \leq O\left({t \cdot \sqrt{\frac{\log{T}}{t}}}\right) = O\left( {\sqrt{t\log{T}}}\right) R(t)Δ×tO(ttlogT )=O(tlogT )

为了完成分析,我们需要论证 “bad event” b a r E bar\mathcal{E} barE 对悔值的贡献可以忽略不计:

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 − 2 ) ≤ O ( t log ⁡ T ) \begin{aligned} \mathbb{E}\left[{R(t)}\right] &= \mathbb{E}\left[{R(t) \mid \text{clean event}}\right]\times \Pr\left[\text{clean event}\right] + \mathbb{E}\left[{R(t) \mid \text{bad event}}\right]\times \Pr\left[\text{bad event}\right] \\ &\leq \mathbb{E}\left[{ R(t) \mid \text{clean event}}\right]+ t\times O\left(T^{-2}\right) \\ &\leq O\left({\sqrt{t\log T}}\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(T2)O(tlogT )

定理2.8: 算法3在轮次 t ≤ T t\le T tT 达到了悔值 E [ R ( t ) ] ≤ O ( t log ⁡ T ) \mathbb{E}\left[{R(t)}\right] \leq O\left({\sqrt{t\log T}}\right) E[R(t)]O(tlogT )

这种方法扩展到 K > 2 K>2 K>2的臂,如下所示:交替使用臂,直到某个手臂 a a a 大概率比其他臂更糟糕。当这种情况发生时,丢弃所有这样的臂 a a a并进入下一阶段。这种算法被称为连续消除(Successive Elimination)。

image-20230117181050725

分析上述算法的性能。使 a ∗ a^* a 是一个最佳臂,它不能被停用。固定任意臂 a a a,使 m u ( a ) < μ ( a ∗ ) mu(a)< \mu(a^*) mu(a)<μ(a)。考虑最后一轮 t ≤ T t\leq T tT,当停用规则被调用时,臂 a a a 仍然活跃。如同对 K = 2 K=2 K=2 个臂的论证, a a a a ∗ a^* a 的置信区间必须在 t t t 轮重叠。因此:

Δ ( a ) : = μ ( a ∗ ) − μ ( a ) ≤ 2 ( r t ( a ∗ ) + r t ( a ) ) = 4 ⋅ r t ( a ) \begin{align*} \Delta(a) := \mu(a^*)-\mu(a) & \leq 2(r_t(a^*)+r_t(a)) = 4\cdot r_t(a) \end{align*} Δ(a):=μ(a)μ(a)2(rt(a)+rt(a))=4rt(a)

最后一个等式是因为 n t ( a ) = n t ( a ∗ ) n_t(a)=n_t(a^*) nt(a)=nt(a),因为算法一直在交替使用活跃的臂,而 a a a a ∗ a^* a t t t 回合之前都是活跃的。 a a a 最多可以再玩一次: n T ( a ) ≤ 1 + n t ( a ) n_T(a) \leq 1+n_t(a) nT(a)1+nt(a)。因此,我们有:
Δ ( a ) ≤ O ( r T ( a ) ) = O ( log ⁡ ( T ) / n T ( a ) ) for each arm a with  μ ( a ) < μ ( a ∗ ) \begin{align} \Delta(a)\leq O(r_T(a)) =O( \sqrt{\left.\log(T) \right/ n_T(a) }) \quad\text{for each arm a with $\mu(a)<\mu(a^*)$} \tag{2.7} \end{align} Δ(a)O(rT(a))=O(log(T)/nT(a) )for each arm a with μ(a)<μ(a)(2.7)

也就是说某个臂被选择了很多次就不会太差。

t t t 轮中,手臂 a a a 对悔值的贡献,可以表示为 R ( t ; a ) R(t;a) R(t;a) ,也可以表示为 D e l t a ( a ) Delta(a) Delta(a) ,通过(2.7),有:

R ( t ; a ) = n t ( a ) ⋅ Δ ( a ) ≤ n t ( a ) ⋅ O ( log ⁡ ( T )   /   n t ( a ) ) = O ( n t ( a ) log ⁡ T ) R(t;a) = n_t(a)\cdot \Delta(a) \le n_t(a) \cdot O\left(\sqrt{\log(T) \,/\, n_t(a)}\right) = O\left({ \sqrt{n_t(a)\log{T}}}\right) R(t;a)=nt(a)Δ(a)nt(a)O(log(T)/nt(a) )=O(nt(a)logT )

综合所有的臂,有:

R ( t ) = ∑ a ∈ A R ( t ; a ) ≤ O ( log ⁡ T ∑ a ∈ A n t ( a ) ) \begin{align} R(t) = \sum_{a\in \mathcal{A}}R(t;a) \le O\left({\sqrt{\log T}}\sum_{a\in \mathcal{A}}\sqrt{n_t(a)}\right)\tag{2.8} \end{align} R(t)=aAR(t;a)O(logT aAnt(a) )(2.8)

由于 f ( x ) = x f(x)=\sqrt{x} f(x)=x 是一个实凹函数,并且 ∑ a ∈ A n t ( a ) = t \sum_{a\in\mathcal{A}} n_t(a) = t aAnt(a)=t ,根据詹森不等式,我们有

1 K ∑ a ∈ A n t ( a ) ≤ 1 K ∑ a ∈ A n t ( a ) = t K \frac{1}{K}\sum_{a \in \mathcal{A}}\sqrt{n_t(a)} \le \sqrt{\frac{1}{K}\sum_{a \in \mathcal{A}} n_t(a)} = \sqrt{\frac{t}{K}} K1aAnt(a) K1aAnt(a) =Kt

将其带入(2.8),可得到 R ( T ) ≤ O ( K t log ⁡ T ) R(T)\le O(\sqrt{Kt\log T}) R(T)O(KtlogT )

定理:连续消除算法可以达到悔值:
E [ R ( t ) ] = O ( K t log ⁡ T ) for all rounds  t ≤ T (2.9) \mathbb{E}\left[R(t)\right] = O\left(\sqrt{Kt\log T}\right)\quad \text{for all rounds $t\leq T$}\tag{2.9} E[R(t)]=O(KtlogT )for all rounds tT(2.9)

观察(2.7), n T ( a ) ≤ O ( log ⁡ ( T )   /   [ Δ ( a ) ] 2 ) n_T(a) \leq O\left({ \log(T) \,/\, [\Delta(a)]^2}\right) nT(a)O(log(T)/[Δ(a)]2), 我们可以得到另一个悔值界:

R ( T ; a ) = Δ ( a ) ⋅ n T ( a ) ≤ Δ ( a ) ⋅ O ( log ⁡ T [ Δ ( a ) ] 2 ) = O ( log ⁡ T Δ ( a ) ) (2.10) R(T;a) = \Delta(a)\cdot n_T(a) \le \Delta(a)\cdot O\left({ \frac{\log{T}}{[\Delta(a)]^2} }\right) = O\left({ \frac{\log{T}}{\Delta(a)} }\right)\tag{2.10} R(T;a)=Δ(a)nT(a)Δ(a)O([Δ(a)]2logT)=O(Δ(a)logT)(2.10)

可以得到如下定理:

定理:连续消除算法可以达到悔值
E [ R ( T ) ] ≤ O ( log ⁡ T ) ( ∑ arms  a  with  μ ( a ) < μ ( a ∗ ) 1 μ ( a ∗ ) − μ ( a ) ) (2.11) \mathbb{E}[R(T)]\leq O(\log{T}) \left({ \sum_{\text{arms $a$ with $\mu(a)<\mu(a^*)$}}\frac{1}{\mu(a^*)-\mu(a)} }\right)\tag{2.11} E[R(T)]O(logT) arms a with μ(a)<μ(a)μ(a)μ(a)1 (2.11)

悔值界是 T T T 的对数

3.3 Optimism under uncertainty

让我们考虑另一种适应性探索的方法,即 o p t i m i s m   u n d e r   u n c e r t a i n t y optimism\ under\ uncertainty optimism under uncertainty:假设每个臂都是在迄今为止的观察下可能做到的最好,并根据这些乐观的估计选择最佳臂。这种算法的简单实现,称为UCB1

image-20230117203235026

一个臂 a a a , 如果 U C B t ( a ) UCB_t(a) UCBt(a) 较大,有两个原因(或其组合):平均奖励 μ ˉ t ( a ) \bar{\mu}_t(a) μˉt(a)很大,说明其奖励较高; 置信度 r t ( a ) r_t(a) rt(a) 很大,在这种情况下,说明探索程度较低。 换句话说, U C B t ( a ) = μ ˉ t ( a ) + r t ( a ) UCB_t(a) = \bar{\mu}_t(a) + r_t(a) UCBt(a)=μˉt(a)+rt(a) 中的两个总和分别代表利用和探索,将它们相加是解决探索-利用权衡的一种自然方式。

对于clean event a ∗ a^* a 是一个最优臂, a t a_t at是算法在 t t t 回合中选择的臂。根据该算法, U C B t ( a t ) ≥ U C B t ( a ∗ ) UCB_t(a_t) \ge UCB_t(a^*) UCBt(at)UCBt(a)
clean event下, μ ( a t ) + r t ( a t ) ≥ μ ˉ t ( a t ) \mu(a_t) + r_t(a_t) \ge \bar{\mu}_t(a_t) μ(at)+rt(at)μˉt(at) 以及 U C B t ( a ∗ ) ≥ μ ( a ∗ ) UCB_t(a^*)\geq \mu(a^*) UCBt(a)μ(a)。于是有:
μ ( a t ) + 2 r t ( a t ) ≥ μ ˉ t ( a t ) + r t ( a t ) = UCB t ( a t ) ≥ UCB t ( a ∗ ) ≥ μ ( a ∗ ) \begin{align} \mu(a_t) + 2r_t(a_t) \geq \bar{\mu}_t(a_t) + r_t(a_t) = \text{UCB}_t(a_t) \ge \text{UCB}_t(a^*) \geq \mu(a^*) \tag{2.12} \end{align} μ(at)+2rt(at)μˉt(at)+rt(at)=UCBt(at)UCBt(a)μ(a)(2.12)
因此:

Δ ( a t ) : = μ ( a ∗ ) − μ ( a t ) ≤ 2 r t ( a t ) = 2 2 log ⁡ ( T )   /   n t ( a t ) . (2.13) \begin{align} \Delta(a_t) := \mu(a^*) - \mu(a_t) \le 2r_t(a_t) = 2\sqrt{2\log(T) \,/\,n_t(a_t)}. \end{align}\tag{2.13} Δ(at):=μ(a)μ(at)2rt(at)=22log(T)/nt(at) .(2.13)

UCB1的悔值界与(2.9)和(2.11)一致。

四、初始化信息

关于平均奖励向量 μ \mu μ 的一些信息可能事先为算法所知,并可用于提高性能。这种 “initial information” 通常包含 μ \mu μ 的约束或其上的贝叶斯先验。

4.1 受约束的平均奖励

在一些固定的 d ∈ N d\in\N dN中,典型的建模方法将臂嵌入到 R d \R^d Rd 中。因此,臂对应于 R d \R^d Rd中的点,而 μ \mu μ R d \R^d Rd(的子集) 上的一个函数,它将臂映射到它们各自的平均奖励。限制条件是 μ \mu μ 属于某个 "well-behaved"的函数系列 F \mathcal{F} F 。典型的假设是:

  • 线性函数

    对于某些固定但未知的向量 w ∈ R d w\in \R^d wRd, μ ( a ) = w ⋅ a \mu(a) = w\cdot a μ(a)=wa

  • 凹函数

    臂的集合为 R d \R^d Rd 中的凸子集, μ ′ ′ ( ⋅ ) \mu''(\cdot) μ′′() 存在且为负。

  • Lipschitz函数

    对于所有的臂 a , a ′ a,a' a,a 和固定常数 L L L ∣ μ ( a ) − μ ( a ′ ) ∣ ≤ L ⋅ ∥ a − a ′ ∥ 2 |\mu(a)-\mu(a')| \leq L\cdot \|a-a'\|_2 μ(a)μ(a)Laa2

这样的假设引入了臂之间的依赖关系,这样就可以通过观察其他臂的奖励来推断一个臂的平均奖励。特别地,Lipschitz性只允许"局部的"推论:只有观察到距离 a a a 不太远的其他臂,才能了解关于臂a的信息。相比之下,线性和凹性允许"远程"推断:可以通过观察距离 a a a 很远的臂来了解臂 a a a

4.2 贝叶斯bandits

这里, μ \mu μ是从某个分布 P \mathbb{P} P 中独立抽取的,称为 Bayesian prior \text{Bayesian prior} Bayesian prior(贝叶斯先验)。人们感兴趣的是 Bayesian regret \text{Bayesian regret} Bayesian regret P \mathbb{P} P 的期望值的悔值。这是贝叶斯方法的一个特例:模型的一个实例从一个已知的分布中取样,而性能是用这个分布的期望值来衡量的。

先验 P \mathbb{P} P 隐含地定义了可行的平均奖励向量族 F \mathcal{F} F,此外还规定了 F \mathcal{F} F 中的某些平均奖励向量是否以及在何种程度上比其他向量更有可能。

主要的缺点是采样假设在实践中可能非常理想化,而且算法可能不完全知道 "真实 "先验值。

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

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

相关文章

化繁为简、性能提升 -- 在WPF程序中,使用Freetype库心得

本人使用WPF开发了一款OFD阅读器&#xff0c;显示字体是阅读器中最重要的功能。处理字体显示有多种方案&#xff0c;几易其稿&#xff0c;最终选用Freetype方案。本文对WPF中如何使用Freetype做简单描述。 OFD中有两种字体&#xff1a;嵌入字体和非嵌入字体。1&#xff09; 非…

【vue2】vue生命周期的理解

&#x1f973;博 主&#xff1a;初映CY的前说(前端领域) &#x1f31e;个人信条&#xff1a;想要变成得到&#xff0c;中间还有做到&#xff01; &#x1f918;本文核心&#xff1a;vue生命周期的介绍、vue生命周期钩子函数详解&#xff0c;vue生命周期的执行顺序 目录 …

使用管控平台管理redis集群

1 添加redis集群 在数据库资源中添加redis集群&#xff0c;配置参数并将URL中cluster调整为true。 2 验证配置资源是否正常 3 操作redis数据库中的数据 可以通过使用图形化界面或者命令窗口进行Redis数据库的CRUD 3.1 图形化界面操作 操作Redis字符串列表 3.1.1 新增 右…

Apache Iceberg 背后的设计

原文地址: 阿帕奇冰山&#xff1a;幕后的建筑外观 |德雷米奥 (dremio.com)绝对的精品文章!!!机器翻译和自我调整组成了这篇文章&#xff0c;供大家学习。介绍数据湖的构建希望是实现数据民主化&#xff0c;以允许越来越多的人员、工具和应用程序使用越来越多的数据。实现这一目…

十五天学会Autodesk Inventor,看完这一系列就够了(八),图框自定义

所周知&#xff0c;Autocad是一款用于二维绘图、详细绘制、设计文档和基本三维设计&#xff0c;现已经成为国际上广为流行的绘图工具。Autodesk Inventor软件也是美国AutoDesk公司推出的三维可视化实体模拟软件。因为很多人都熟悉Autocad&#xff0c;所以再学习Inventor&#x…

【数据库数据恢复】华为云mysql数据库数据被delete的数据恢复案例

数据库数据恢复环境&#xff1a; 华为云ECS&#xff0c;linux操作系统&#xff1b; mysql数据库&#xff0c;实例内数据表默认存储引擎为innodb。 数据库故障&#xff1a; 在执行数据库版本更新测试时&#xff0c;用户误将本应在测试库测试的sql脚本执行在生产库中&#xff0c…

拉伯证券|芯片半导体迎来“行业底部出清”,大资金进场迹象明显

近期关于小芯片的利好不断&#xff0c;英特尔近期就发布了根据小芯片技能的处理器&#xff0c;而近期长电科技也在小芯片范畴获得突破。据长电科技在互动平台表明&#xff0c;公司现已完成4nm工艺制程手机芯片的封装&#xff0c;最大封装体面积约为1500平方毫米的体系级封装。长…

人工智能所需高等数学知识大全(收藏版)

来源&#xff1a;投稿 作者&#xff1a;愤怒的可乐 编辑&#xff1a;学姐 不懂数学是学不好人工智能的&#xff0c;本系列文章就汇总了人工智能所需的数学知识。本文是高等数学篇。 另有线代篇和概率论篇 函数与极限 函数 yf(x) ,x是函数f的自变量&#xff0c;y是因变量 函…

数据结构(4)线段树、延迟标记、扫描线

活动 - AcWing 参考-《算法竞赛进阶指南》 一、延迟标记&#xff08;懒标记&#xff09; 在线段树的区间查询命令中&#xff0c;每当遇到被查询区间[l,r]完全覆盖节点时&#xff0c;可以直接把节点上的答案作为备选答案返回。我们已经证明&#xff0c;这样操作的复杂度为O(4…

01-React(脚手架+MVC/MVVM+JSX)

使用 create-react-app 构建React工程化项目 安装 create-react-app $ npm i create-react-app -g 「mac需要加sudo」 基于脚手架创建项目「项目名称需要符合npm包规范」 $ create-react-app xxx 目录结构&#xff1a; |- node_modules 包含安装的模块 |- public 页面模板…

79.循环神经网络的从零开始实现

从头开始基于循环神经网络实现字符级语言模型。 这样的模型将在H.G.Wells的时光机器数据集上训练。 和之前一样&#xff0c; 我们先读取数据集。 %matplotlib inline import math import torch from torch import nn from torch.nn import functional as F from d2l import to…

Rockchip开发系列 - 9.watchdog看门狗

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 dts中的watchdog节点watchdog驱动文件TRM watchdog:WDT框图功能描述计数器中断系统复位复位脉冲长度操作流程图寄存器描述寄存器设置…

Nessus Host Discovery

系列文章 Nessus介绍与安装 Nessus Host Discovery 1.启动nessus cd nessus sh qd_nessus.sh2.进入nessus网站 https://192.168.3.47:8834/3.点击【New Scan】 4.选择【Host Discovery】 5.输入name【主机发现】&#xff0c;Description【主机发现】&#xff0c;Targets【…

Android 蓝牙开发——服务启动流程(二)

首先我们要知道&#xff0c;主要系统服务都是在 SystemServer 启动的&#xff0c;蓝牙也是如此&#xff1a; 1、SystemServer 源码路径&#xff1a;/frameworks/base/services/java/com/android/server/SystemServer.java private void startOtherServices(NonNull TimingsT…

labelme(2)json文件转类别灰度图

首先感谢大佬&#xff1a;https://blog.csdn.net/tzwsg/article/details/114653071一、上代码&#xff0c;json2gray.py&#xff1a;#!/usr/bin/python # -*- coding: UTF-8 -*- # !H:\Anaconda3\envs\new_labelme\python.exe import argparse import json import os import os…

go语言中变量和常量的注意点

1、类型转换&#xff1a;大类型可以转换成小类型但是精度丢失&#xff1b;小类型不能转换成大类型。例如&#xff1a; package mainimport "fmt"//golang中使用" var "关键字来定义变量 //定义变量的语法&#xff1a;1、var var_name1[,var_name2,...] va…

day16|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

654.最大二叉树 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构…

深度学习入门基础CNN系列——填充(padding)与步幅(stride)

填充&#xff08;padding&#xff09; 在上图中&#xff0c;输入图片尺寸为333\times333&#xff0c;输出图片尺寸为222\times222&#xff0c;经过一次卷积之后&#xff0c;图片尺寸为222\times222&#xff0c;经过一次卷积之后&#xff0c;图片尺寸变小。卷积输出特征图的尺寸…

el-table表头添加勾选框

el-table表头添加勾选框嘚吧嘚实现嘚吧嘚 table的行勾选是比较常规的操作&#xff0c;但是有的时候就有各种奇葩的需求蹦出来。&#x1f62d; 比如最近有一个需求&#xff0c;不仅需要勾选行&#xff0c;还需要勾选列&#xff0c;其实我心中有了一万头可爱的小羊驼&#xff0c…

NISP三级证书含金量如何

国家信息安全水平测试&#xff08;NationalInformationSecurityTestProgram&#xff0c;通称NISP&#xff09;&#xff0c;是通过中国信息安全测评中心执行塑造我国网络空间安全优秀人才的一个项目。 为培养大量出色的实践型网络安全人才&#xff0c;中国信息安全测评中心上线…