一、多臂老虎机问题
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∗=argmaxaμaa^* = \\arg\\max_a \\mu_aa∗=argmaxaμa 对应的最大期望奖励为 μ∗=maxaμa\\mu^* = \\max_a \\mu_aμ∗=maxaμa。
MAB 的核心难题是奖励分布未知。智能体必须在"利用已知好的动作"和"探索未知可能更好的动作"之间权衡。表 3-1 展示了 MAB 与一般 RL 的关键区别:
表 3-1 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=1TRt 最大化,要求总收益(不只是单步)最大。
- 任何 ata_tat 的"是否最优"取决于"信息是否足够"——而信息来自被选中的动作。
MAB 算法通过不同方式处理这对冲突:朴素随机/贪心算法只利用或只探索,没有平衡;ε\\varepsilonε-贪心以固定比例混合;UCB 系列"乐观面对不确定性"主动选不确定的动作;Thompson 采样"概率匹配",按后验概率选动作。
| 随机 | 纯探索 | Θ(T)\\Theta(T)Θ(T) |
| 贪心 | 纯利用 | Θ(T)\\Theta(T)Θ(T)(次优臂被锁时) |
| ε\\varepsilonε-贪心 | 固定概率混合 | O(T)O(T)O(T) |
| UCB1 | 乐观面对不确定性 | O(logT)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(∑alogT/Δa)O(\\sum_a \\log T / \\Delta_a)O(∑alogT/Δ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、最优 μ∗=maxaμ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∑TRt]=T⋅K1a∑μ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⋅(μ∗−K1a∑μa)=Θ(T)
贪心策略:选历史平均奖励最大的动作。形式化:每步 at=argmaxaμ^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(logT)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=argmaxa[μ^a+2logtNa]
A_t = \\arg\\max_a \\left[ \\hat{\\mu}_a + \\sqrt{\\frac{2 \\log t}{N_a}} \\right]
At=argamax[μ^a+Na2logt]
直觉:
- 选得多的动作 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>0logTΔ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ΔalogT+O(K),即对数级遗憾。
3.3 UCB 变体
UCB-V(Audibert, Munos, Szepesvári 2009)在置信上界中引入奖励方差项:
At=argmaxa[μ^a+2V^aζlogtNa+3bζlogtNa]
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+Na2V^aζlogt+Na3bζlogt
其中 V^a\\hat V_aV^a 是动作 aaa 奖励的样本方差,ζ\\zetaζ 与 bbb 是论文中的参数(bbb 是奖励范围上界,ζ\\zetaζ 是控制项)。低方差动作的置信半径更小,更倾向于被利用。
UCB-Tuned(Auer, Cesa-Bianchi, Fischer 2002 第 4 节)在 UCB1 的基础上乘以一个依赖经验方差的修正项:
At=argmaxa[μ^a+logtNa⋅min {14,σ^a2+2logtNa}]
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+Nalogt⋅min{41,σ^a2+Na2logt}
其中 σ^a2\\hat\\sigma_a^2σ^a2 是经验方差。UCB-Tuned 在经验上常常优于 UCB1。
KL-UCB(Garivier, Cappé 2011)用 Kullback-Leibler 散度代替 Hoeffding 边界:
At=argmaxasup {q:d(μ^a,q)≤logt+cloglogtNa}
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=argamaxsup{q:d(μ^a,q)≤Nalogt+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(∑alogT/Δa)O(\\sum_a \\log T / \\Delta_a)O(∑alogT/Δa) 的对数级遗憾;Thompson 采样对 Bernoulli 老虎机达 O(KTlogT)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=1Trt。
CB 与 MAB、一般 RL 的关键区别:
| 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=axtxt⊤(设计矩阵,λ\\lambdaλ 是岭回归正则)
- ba=∑t:At=artxtb_a = \\sum_{t: A_t = a} r_t x_tba=∑t:At=artxt(奖励加权和)
参数估计 θ^a=Aa−1ba\\hat{\\theta}_a = A_a^{-1} b_aθ^a=Aa−1ba。每一步的决策:
At=argmaxa(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−1xt)
其中第二项是置信上界(类似 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−1xt 越大、探索越激进。
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 框架——但何时该升级,需要结合任务的"决策对未来的影响"做判断。
网硕互联帮助中心



评论前必须登录!
注册