云计算百科
云计算领域专业知识百科平台

第三章 强化学习 -- 多臂老虎机

一、多臂老虎机问题

1.1 问题形式化

多臂老虎机(Multi-Armed Bandit, MAB) 是强化学习最简单的设定:智能体每一步从 KKK 个动作(“摇臂”)中选一个,环境返回一个奖励;不存在状态转移,每一步独立。

形式化地,模型由以下要素组成:

  • 动作集合 A={1,2,…,K}\\mathcal{A} = \\{1, 2, \\ldots, K\\}A={1,2,…,K},每个动作 aaa 对应一个未知的奖励分布 νa\\nu_aνa​。
  • 在时刻 ttt,智能体选择动作 At∈AA_t \\in \\mathcal{A}At​∈A,观测到奖励 Rt∼νAtR_t \\sim \\nu_{A_t}Rt​∼νAt​​。
  • 智能体的策略 π\\piπ 只依赖于历史 (A1,R1,…,At−1,Rt−1)(A_1, R_1, \\ldots, A_{t-1}, R_{t-1})(A1​,R1​,…,At−1​,Rt−1​),不依赖于"状态"——因为老虎机没有状态。

每个动作 aaa 的期望奖励定义为:

μa=E[R∣A=a]=∫r dνa(r)
\\mu_a = \\mathbb{E}[R \\mid A = a] = \\int r \\, d\\nu_a(r)
μa​=E[R∣A=a]=∫rdνa​(r)

最优动作 a∗=arg⁡max⁡aμaa^* = \\arg\\max_a \\mu_aa∗=argmaxa​μa​ 对应的最大期望奖励为 μ∗=max⁡aμa\\mu^* = \\max_a \\mu_aμ∗=maxa​μa​。

MAB 的核心难题是奖励分布未知。智能体必须在"利用已知好的动作"和"探索未知可能更好的动作"之间权衡。表 3-1 展示了 MAB 与一般 RL 的关键区别:

表 3-1 MAB 与一般 RL 的关键区别

维度MAB一般 RL
状态 无(每步独立) 有(步间关联)
转移 无 P(s′∣s,a)P(s' \\mid s, a)P(s′∣s,a)
目标 最大化累积奖励 同左
评估 累积遗憾(regret) 累积奖励或策略回报

1.2 探索与利用权衡

利用(exploitation) 指选择当前估计最优的动作以获取最高即时奖励。

探索(exploration) 指选择估计不确定或次优的动作以获取新的信息,可能在未来获得更高奖励。

二者构成一对根本矛盾:只利用则永远不知道是否有更好的动作;只探索则短期回报很低。MAB 算法设计的核心就是在二者之间取得平衡。

直觉例子:一个 10 臂老虎机中,最优臂的期望奖励是 1.0,其他臂的期望奖励在 0 到 0.9 之间。初始时不知道哪个最优。如果一直贪心选择第一次看起来最好的臂,可能永远错过了真正的最优臂;如果一直随机探索,累积奖励远低于"早早识别最优臂"的策略。

形式化地,可以用"目标冲突"刻画探索-利用张力:

  • 短期目标:每步选 ata_tat​ 最大化 RtR_tRt​。
  • 长期目标:∑t=1TRt\\sum_{t=1}^{T} R_t∑t=1T​Rt​ 最大化,要求总收益(不只是单步)最大。
  • 任何 ata_tat​ 的"是否最优"取决于"信息是否足够"——而信息来自被选中的动作。

MAB 算法通过不同方式处理这对冲突:朴素随机/贪心算法只利用或只探索,没有平衡;ε\\varepsilonε-贪心以固定比例混合;UCB 系列"乐观面对不确定性"主动选不确定的动作;Thompson 采样"概率匹配",按后验概率选动作。

算法处理方式累积遗憾
随机 纯探索 Θ(T)\\Theta(T)Θ(T)
贪心 纯利用 Θ(T)\\Theta(T)Θ(T)(次优臂被锁时)
ε\\varepsilonε-贪心 固定概率混合 O(T)O(T)O(T)
UCB1 乐观面对不确定性 O(log⁡T)O(\\log T)O(logT)(gap-dependent)
Thompson 采样 概率匹配后验 O~(KT)\\tilde O(\\sqrt{KT})O~(KT​)(gap-free)

1.3 累积遗憾与平均遗憾

累积遗憾(cumulative regret) 衡量算法在 TTT 步内相对于"始终选最优动作"的总损失:

R(T)≜∑t=1T(μ∗−μAt)=∑t=1TΔAt
R(T) \\triangleq \\sum_{t=1}^{T} \\left( \\mu^* – \\mu_{A_t} \\right) = \\sum_{t=1}^{T} \\Delta_{A_t}
R(T)≜t=1∑T​(μ∗−μAt​​)=t=1∑T​ΔAt​​

其中 μAt\\mu_{A_t}μAt​​ 是动作 AtA_tAt​ 的真实期望奖励;这一形式是伪遗憾(pseudo-regret),与文献标准一致。

其中 Δa=μ∗−μa\\Delta_a = \\mu^* – \\mu_aΔa​=μ∗−μa​ 是动作 aaa 的"次优差距"。最优算法目标是让 Regret(T)=o(T)\\mathrm{Regret}(T) = o(T)Regret(T)=o(T)(次线性增长),即平均遗憾 Regret(T)/T→0\\mathrm{Regret}(T)/T \\to 0Regret(T)/T→0。

次线性遗憾有两种典型增长率:

  • Gap-dependent:O(∑alog⁡T/Δa)O(\\sum_a \\log T / \\Delta_a)O(∑a​logT/Δa​),UCB1、Auer et al. 2002 Theorem 1 等。
  • Gap-free / min-max:O~(KT)\\tilde O(\\sqrt{KT})O~(KT​),Auer et al. 2002 / 2003。

朴素策略如 ε\\varepsilonε-贪心的遗憾是 O(T)O(T)O(T),因为它持续以常数概率做次优探索,从不停下。

二、朴素策略

2.1 随机策略与贪心策略

随机策略:每一步从 KKK 个动作中等概率采样。设各臂真实期望为 μa\\mu_aμa​、最优 μ∗=max⁡aμa\\mu^* = \\max_a \\mu_aμ∗=maxa​μa​。则在 TTT 步的累积期望奖励为:

E ⁣[∑t=1TRt]=T⋅1K∑aμa
\\mathbb{E}\\!\\left[\\sum_{t=1}^T R_t\\right] = T \\cdot \\frac{1}{K} \\sum_a \\mu_a
E[t=1∑T​Rt​]=T⋅K1​a∑​μa​

累积遗憾为:

Regret(T)=T⋅(μ∗−1K∑aμa)=Θ(T)
\\mathrm{Regret}(T) = T \\cdot \\left( \\mu^* – \\frac{1}{K} \\sum_a \\mu_a \\right) = \\Theta(T)
Regret(T)=T⋅(μ∗−K1​a∑​μa​)=Θ(T)

贪心策略:选历史平均奖励最大的动作。形式化:每步 at=arg⁡max⁡aμ^aa_t = \\arg\\max_a \\hat{\\mu}_aat​=argmaxa​μ^​a​。问题在于初始几步采样不足以估计 μa\\mu_aμa​:当 μa\\mu_aμa​ 差异小、样本噪声相对较大时,贪心很容易"锁定"在第一个被随机选到的次优动作上。

反例:K=2K=2K=2,μ1=0.9,μ2=0.6\\mu_1 = 0.9, \\mu_2 = 0.6μ1​=0.9,μ2​=0.6。若第一步随机选到 a=2a=2a=2(次优),样本平均 μ^2=0.6\\hat\\mu_2 = 0.6μ^​2​=0.6。即使 a=1a=1a=1 估计为 0(一次都没选),贪心仍会持续选 a=2a=2a=2。此时 Regret(T)=0.3T=Θ(T)\\mathrm{Regret}(T) = 0.3 T = \\Theta(T)Regret(T)=0.3T=Θ(T),与随机策略同量级。

# 贪心锁定反例
Q = [0.0, 0.6] # 历史平均:a=1 估计 0(未访问),a=2 估计 0.6
action = Q.index(max(Q)) # 选 a=2 锁定

反直觉之处:贪心策略在样本量极小时等价于"先入为主"。 ε\\varepsilonε-贪心与 UCB 是常见的修复方式。

2.2 ε-贪心与衰减 ε-贪心

ε\\varepsilonε-贪心 以概率 1−ε1 – \\varepsilon1−ε 选当前最优动作(利用),以概率 ε\\varepsilonε 在所有动作中均匀随机(探索):

import random

def epsilon_greedy(Q, epsilon):
if random.random() < epsilon:
return random.randint(0, K – 1) # 探索:随机选
else:
return argmax(Q) # 利用:选历史最优

ε\\varepsilonε 固定时,ε\\varepsilonε-贪心的遗憾是 O(T)O(T)O(T)——因为无论 ttt 多大,每步都还有 ε\\varepsilonε 的概率选次优动作。

衰减 ε\\varepsilonε-贪心 令 ε\\varepsilonε 随时间衰减,如 εt=min⁡(1,c/t)\\varepsilon_t = \\min(1, c / t)εt​=min(1,c/t)。直觉是早期需要更多探索,后期信息积累后逐步转利用。这能让遗憾降到 O(log⁡T)O(\\log T)O(logT),但需要预设衰减率,工程上不如 UCB 鲁棒。

def decaying_epsilon_greedy(Q, t, c=1.0):
epsilon = min(1.0, c / t)
return epsilon_greedy(Q, epsilon)

ε\\varepsilonε-贪心类方法的工程优点是实现极简,因此在新算法研究的早期 baseline 中经常出现。但其在最优臂与次优臂差距很小时效率低(需要持续随机探索以拉平差距),这一点催生了更聪明的 UCB 与 Thompson 采样。

三、置信上界算法

3.1 Hoeffding 回顾

Hoeffding 不等式 是 UCB 算法的理论基石。设 X1,…,XnX_1, \\ldots, X_nX1​,…,Xn​ 是独立随机变量,Xi∈[a,b]X_i \\in [a, b]Xi​∈[a,b],Xˉ=1n∑Xi\\bar{X} = \\frac{1}{n}\\sum X_iXˉ=n1​∑Xi​ 为样本均值,则对任意 u>0u > 0u>0:

P(E[X]−Xˉ≥u)≤exp⁡ ⁣(−2nu2(b−a)2)
P(\\mathbb{E}[X] – \\bar{X} \\ge u) \\le \\exp\\!\\left(-\\frac{2n u^2}{(b-a)^2}\\right)
P(E[X]−Xˉ≥u)≤exp(−(b−a)22nu2​)

直观:样本均值 Xˉ\\bar{X}Xˉ 与真实期望 E[X]\\mathbb{E}[X]E[X] 的偏差超过 uuu 的概率随 nnn 指数衰减。nnn 越大,估计越可靠。

UCB 算法把这一不等式"反转"——给定样本均值 Xˉ\\bar{X}Xˉ 与步数 nnn,估计真值 E[X]\\mathbb{E}[X]E[X] 的上界:

E[X]≤Xˉ+(b−a)log⁡(1/δ)2n
\\mathbb{E}[X] \\le \\bar{X} + (b – a) \\sqrt{\\frac{\\log(1/\\delta)}{2n}}
E[X]≤Xˉ+(b−a)2nlog(1/δ)​​

其中 δ\\deltaδ 是置信水平(如 δ=1/t2\\delta = 1/t^2δ=1/t2)。这个上界越窄,估计越精确。

3.2 UCB1 算法

UCB1(Auer, Cesa-Bianchi, Fischer 2002)是 UCB 类的经典算法,对每个动作维护:

  • NaN_aNa​:动作 aaa 被选的总次数
  • μ^a\\hat{\\mu}_aμ^​a​:动作 aaa 的平均奖励

每一步选:

At=arg⁡max⁡a[μ^a+2log⁡tNa]
A_t = \\arg\\max_a \\left[ \\hat{\\mu}_a + \\sqrt{\\frac{2 \\log t}{N_a}} \\right]
At​=argamax​[μ^​a​+Na​2logt​​]

直觉:

  • 选得多的动作 NaN_aNa​ 大,置信半径小,决策主要由 μ^a\\hat{\\mu}_aμ^​a​ 决定(利用)。
  • 选得少的动作 NaN_aNa​ 小,置信半径大,可能被选中(探索)。

实现中需要处理"某动作从未被选"的情况:通常用 +∞+\\infty+∞ 表示其上界,保证每个动作至少被试一次。

import math

def ucb1(Q, N, t):
if any(N[a] == 0 for a in range(K)):
return argmin(N) # 优先选未访问过的
return argmax(
Q[a] + math.sqrt(2 * math.log(t) / N[a])
for a in range(K)
)

UCB1 的理论保证:累积遗憾 Regret(T)≤8∑a:Δa>0log⁡TΔa+O(K)\\mathrm{Regret}(T) \\le 8 \\sum_{a: \\Delta_a > 0} \\frac{\\log T}{\\Delta_a} + O(K)Regret(T)≤8∑a:Δa​>0​Δa​logT​+O(K),即对数级遗憾。

3.3 UCB 变体

UCB-V(Audibert, Munos, Szepesvári 2009)在置信上界中引入奖励方差项:

At=arg⁡max⁡a[μ^a+2V^aζlog⁡tNa+3bζlog⁡tNa]
A_t = \\arg\\max_a \\left[ \\hat{\\mu}_a + \\sqrt{\\frac{2 \\hat V_a \\zeta \\log t}{N_a}} + \\frac{3 b \\zeta \\log t}{N_a} \\right]
At​=argamax​​μ^​a​+Na​2V^a​ζlogt​​+Na​3bζlogt​​

其中 V^a\\hat V_aV^a​ 是动作 aaa 奖励的样本方差,ζ\\zetaζ 与 bbb 是论文中的参数(bbb 是奖励范围上界,ζ\\zetaζ 是控制项)。低方差动作的置信半径更小,更倾向于被利用。

UCB-Tuned(Auer, Cesa-Bianchi, Fischer 2002 第 4 节)在 UCB1 的基础上乘以一个依赖经验方差的修正项:

At=arg⁡max⁡a[μ^a+log⁡tNa⋅min⁡ ⁣{14,σ^a2+2log⁡tNa}]
A_t = \\arg\\max_a \\left[ \\hat{\\mu}_a + \\sqrt{\\frac{\\log t}{N_a} \\cdot \\min\\!\\left\\{\\frac{1}{4}, \\hat\\sigma_a^2 + \\sqrt{\\frac{2 \\log t}{N_a}}\\right\\}} \\right]
At​=argamax​​μ^​a​+Na​logt​⋅min{41​,σ^a2​+Na​2logt​​}​​

其中 σ^a2\\hat\\sigma_a^2σ^a2​ 是经验方差。UCB-Tuned 在经验上常常优于 UCB1。

KL-UCB(Garivier, Cappé 2011)用 Kullback-Leibler 散度代替 Hoeffding 边界:

At=arg⁡max⁡asup⁡ ⁣{q:d(μ^a,q)≤log⁡t+clog⁡log⁡tNa}
A_t = \\arg\\max_a \\sup\\!\\left\\{ q : d(\\hat{\\mu}_a, q) \\le \\frac{\\log t + c \\log \\log t}{N_a} \\right\\}
At​=argamax​sup{q:d(μ^​a​,q)≤Na​logt+cloglogt​}

其中 d(p,q)d(p, q)d(p,q) 是 Bernoulli 分布参数 p,qp, qp,q 间的 KL 散度。理论上 c≥3c \\ge 3c≥3 给出紧上界,实践中 c=0c = 0c=0 也常常足够(Pinsker 不等式下不差于 UCB1)。KL-UCB 利用了 KL 散度更紧的 Chernoff 界,在有界奖励下严格不弱于 UCB1。

四、贝叶斯老虎机

4.1 Thompson 采样

Thompson 采样 是贝叶斯框架下的"概率匹配"算法:每一步从动作价值的后验分布中采样一次,按样本值选动作。

for t in range(T):
for a in actions:
theta_a = sample_from_posterior(history, a) # 从后验采样
a_t = argmax(theta_a) # 选样本最大的动作
r_t = env.pull(a_t) # 观测奖励
update_posterior(a_t, r_t) # 更新后验

直觉:后验越分散(不确定性高)的动作,被采样到高值的概率越大,从而被选中的概率越大——这是"概率形式"的探索。Thompson 采样同时实现了利用(高均值动作被采样到高值的概率更高)和探索(不确定性高的动作偶尔会被采样到高值)。

Thompson 采样的理论保证分两类:

  • Instance-dependent(依赖 gap Δa\\Delta_aΔa​):UCB1 达到 O(∑alog⁡T/Δa)O(\\sum_a \\log T / \\Delta_a)O(∑a​logT/Δa​) 的对数级遗憾;Thompson 采样对 Bernoulli 老虎机达 O(KTlog⁡T)O(\\sqrt{KT \\log T})O(KTlogT​)(Kaufmann et al. 2012 / Agrawal-Goyal 2013)。
  • Gap-free / min-max(最坏情况):UCB1 与 Thompson 采样均达到 O~(KT)\\tilde O(\\sqrt{KT})O~(KT​)。

工程上 Thompson 采样经验上常常比 UCB 更优,是工业界最常用的老虎机算法——它的"按后验采样"在分布式系统中容易并行化,且超参数少。

4.2 伯努利 Beta 先验

伯努利老虎机 每个动作的奖励 R∈{0,1}R \\in \\{0, 1\\}R∈{0,1},参数 θa=P(R=1∣a)\\theta_a = P(R = 1 \\mid a)θa​=P(R=1∣a)。Beta 分布 Beta(α,β)\\mathrm{Beta}(\\alpha, \\beta)Beta(α,β) 是伯努利参数的共轭先验:

  • 先验:θa∼Beta(1,1)\\theta_a \\sim \\mathrm{Beta}(1, 1)θa​∼Beta(1,1)(均匀分布)
  • 观测 sas_asa​ 次成功、faf_afa​ 次失败后:θa∣data∼Beta(1+sa,1+fa)\\theta_a \\mid \\text{data} \\sim \\mathrm{Beta}(1 + s_a, 1 + f_a)θa​∣data∼Beta(1+sa​,1+fa​)

import numpy as np

def thompson_bernoulli(success, failure):
samples = [
np.random.beta(success[a] + 1, failure[a] + 1)
for a in range(K)
]
return int(np.argmax(samples))

Beta 分布的优良性质:

  • 均值 = αα+β\\frac{\\alpha}{\\alpha + \\beta}α+βα​,随观测更新。
  • 方差 = αβ(α+β)2(α+β+1)\\frac{\\alpha \\beta}{(\\alpha + \\beta)^2 (\\alpha + \\beta + 1)}(α+β)2(α+β+1)αβ​,观测增多后减小——不确定性自然衰减。
  • 后验更新只需"加一",实现极简。

4.3 高斯老虎机的共轭先验

高斯老虎机 的奖励 R∼N(μ,σ2)R \\sim \\mathcal{N}(\\mu, \\sigma^2)R∼N(μ,σ2),方差已知或未知时使用不同的共轭先验:

  • 已知方差 σ2\\sigma^2σ2:μ\\muμ 的共轭先验是正态分布 N(μ0,τ02)\\mathcal{N}(\\mu_0, \\tau_0^2)N(μ0​,τ02​),观测 nnn 个样本后均值为 xˉ\\bar{x}xˉ:

μ∣data∼N ⁣(τ0−2μ0+nσ−2xˉτ0−2+nσ−2,1τ0−2+nσ−2)
\\mu \\mid \\text{data} \\sim \\mathcal{N}\\!\\left( \\frac{\\tau_0^{-2}\\mu_0 + n\\sigma^{-2}\\bar{x}}{\\tau_0^{-2} + n\\sigma^{-2}}, \\frac{1}{\\tau_0^{-2} + n\\sigma^{-2}} \\right)
μ∣data∼N(τ0−2​+nσ−2τ0−2​μ0​+nσ−2xˉ​,τ0−2​+nσ−21​)

  • 未知方差:使用 Normal-Inverse-Gamma 共轭先验。给定观测数据,先验参数按以下形式更新(标准 NIG 形式):

μ∣data,σ2∼N(mN,σ2/κN)
\\mu \\mid \\text{data}, \\sigma^2 \\sim \\mathcal{N}(m_N, \\sigma^2 / \\kappa_N)
μ∣data,σ2∼N(mN​,σ2/κN​)

σ2∣data∼Inv-Gamma(αN,βN)
\\sigma^2 \\mid \\text{data} \\sim \\mathrm{Inv\\text{-}Gamma}(\\alpha_N, \\beta_N)
σ2∣data∼Inv–Gamma(αN​,βN​)

其中 mN,κN,αN,βNm_N, \\kappa_N, \\alpha_N, \\beta_NmN​,κN​,αN​,βN​ 由先验与观测共同决定。工程实现中常直接采样 σ2\\sigma^2σ2、再采样 μ\\muμ,二者结合给出 rrr 的后验预测。

工程上高斯老虎机的 Thompson 采样只需:

def thompson_gaussian(sums, counts, prior_mean=0.0, prior_var=1.0, noise_var=1.0):
post_vars = 1.0 / (1.0 / prior_var + counts / noise_var)
post_means = post_vars * (prior_mean / prior_var + sums / noise_var)
samples = np.random.normal(post_means, np.sqrt(post_vars))
return int(np.argmax(samples))

实际推荐系统中经常使用高斯老虎机:CTR 场景下用 Beta-Bernoulli(点击是 Bernoulli 事件);若奖励是连续近似(如点击深度、停留秒数),可用高斯-Inverse-Gamma。每种观测类型对应不同共轭族,不要混用。

五、上下文老虎机

5.1 问题定义

上下文老虎机(Contextual Bandit, CB) 在 MAB 基础上加入"上下文"信息 xt∈Rdx_t \\in \\mathbb{R}^dxt​∈Rd(用户特征、内容特征、时段等),每步智能体观察到 xtx_txt​,然后选动作 ata_tat​ 收到奖励 rtr_trt​。其与一般 RL 的区别仍然是没有状态转移——每步独立。

形式化:per-round 协议:

  • 在时刻 ttt,环境给出上下文 xt∈X⊆Rdx_t \\in \\mathcal{X} \\subseteq \\mathbb{R}^dxt​∈X⊆Rd。
  • 智能体根据历史 (x1,a1,r1,…,xt−1,at−1,rt−1)(x_1, a_1, r_1, \\ldots, x_{t-1}, a_{t-1}, r_{t-1})(x1​,a1​,r1​,…,xt−1​,at−1​,rt−1​) 选动作 ata_tat​。
  • 环境反馈即时奖励 rt∈Rr_t \\in \\mathbb{R}rt​∈R。
  • 进入下一轮,无状态转移到 xt+1x_{t+1}xt+1​。

未知的奖励函数 f(x,a)=E[r∣x,a]f(x, a) = \\mathbb{E}[r \\mid x, a]f(x,a)=E[r∣x,a],目标是学习一个策略 π(a∣x)\\pi(a \\mid x)π(a∣x) 最大化累积奖励 ∑t=1Trt\\sum_{t=1}^T r_t∑t=1T​rt​。

CB 与 MAB、一般 RL 的关键区别:

设定反馈延迟状态转移上下文 xtx_txt​
MAB 1 步 无 无
CB 1 步 无 有
一般 RL 多步 有 通常包含在 sts_tst​

CB 在工业推荐中非常普遍:每条内容曝光是独立事件,没有跨条目的状态转移,但需要根据用户和内容特征(上下文)做选择。

边界与坑:CB 不处理状态转移不等于"反馈延迟可忽略"。如果决策影响后续上下文分布(如选了某类内容后用户偏好改变),仍然需要进入完整的 MDP/POMDP 框架。

5.2 LinUCB 算法

LinUCB(Li et al. 2010)假设奖励对上下文是线性的:

E[r∣x,a]=x⊤θa∗
\\mathbb{E}[r \\mid x, a] = x^\\top \\theta_a^*
E[r∣x,a]=x⊤θa∗​

其中 θa∗\\theta_a^*θa∗​ 是动作 aaa 的未知参数向量。算法对每个动作 aaa 维护:

  • Aa=λI+∑t:At=axtxt⊤A_a = \\lambda I + \\sum_{t: A_t = a} x_t x_t^\\topAa​=λI+∑t:At​=a​xt​xt⊤​(设计矩阵,λ\\lambdaλ 是岭回归正则)
  • ba=∑t:At=artxtb_a = \\sum_{t: A_t = a} r_t x_tba​=∑t:At​=a​rt​xt​(奖励加权和)

参数估计 θ^a=Aa−1ba\\hat{\\theta}_a = A_a^{-1} b_aθ^a​=Aa−1​ba​。每一步的决策:

At=arg⁡max⁡a(xt⊤θ^a+αxt⊤Aa−1xt)
A_t = \\arg\\max_a \\left( x_t^\\top \\hat{\\theta}_a + \\alpha \\sqrt{x_t^\\top A_a^{-1} x_t} \\right)
At​=argamax​(xt⊤​θ^a​+αxt⊤​Aa−1​xt​​)

其中第二项是置信上界(类似 UCB1),α\\alphaα 控制探索强度。

LinUCB 的优点:

  • 实现相对简单,AaA_aAa​ 可用 Sherman-Morrison 公式增量更新(ddd 维下复杂度 O(d2)O(d^2)O(d2)),Aa−1A_a^{-1}Aa−1​ 定期缓存或用 Cholesky 分解。
  • 理论遗憾上界 O~(KdT)\\tilde O(\\sqrt{KdT})O~(KdT​)(Li et al. 2010 / Abbasi-Yadkori et al. 2011),其中 KKK 为臂数、ddd 为上下文维度。

工程上 λ\\lambdaλ(岭正则项)原论文取 1;调参时可作为"探索-数值稳定"权衡的旋钮——λ\\lambdaλ 越大,Aa−1A_a^{-1}Aa−1​ 越接近 λ−1I\\lambda^{-1} Iλ−1I,置信上界 xt⊤Aa−1xtx_t^\\top A_a^{-1} x_txt⊤​Aa−1​xt​ 越大、探索越激进。

LinUCB 的局限是线性假设。当真实的 f(x,a)f(x, a)f(x,a) 是非线性时,需要:

  • 核化 UCB:把 xxx 映射到高维核空间(如 RBF 核)。
  • 神经网络 UCB:用神经网络拟合 f^(x,a)\\hat{f}(x, a)f^​(x,a),并用 ensemble 或 MC Dropout 估计不确定性(详见第十五章)。

Thompson 采样同样可以扩展到上下文场景:对每个动作,从 P(θa∣data)P(\\theta_a \\mid \\text{data})P(θa​∣data) 采样再选动作。

Thompson 采样同样可以扩展到上下文场景:对每个动作,从 P(θa∣data)P(\\theta_a \\mid \\text{data})P(θa​∣data) 采样再选动作。

何时用 CB、何时升级到完整 RL:对于无状态转移、单步独立反馈的曝光/点击决策(如广告 CTR 优化、内容推荐),CB 已足够;当决策影响后续上下文分布(如选了某类内容后用户偏好改变),则必须进入 MDP/POMDP 框架。

MAB 子集(contextual bandit、贝叶斯老虎机)已经能满足大量业务需求,未必需要进入完整的 MDP 框架——但何时该升级,需要结合任务的"决策对未来的影响"做判断。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 第三章 强化学习 -- 多臂老虎机
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!