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

一、多臂老虎机问题

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=ER∣A=a=∫r dνa(r) \mu_a = \mathbb{E}R \\mid A = a = \int r \, d\nu_a(r) μa=ER∣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=1TRt 最大化,要求总收益(不只是单步)最大。
  • 任何 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(∑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、最优 μ∗=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 Et=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=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),与随机策略同量级。

python 复制代码
# 贪心锁定反例
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ε 在所有动作中均匀随机(探索):

python 复制代码
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 鲁棒。

python 复制代码
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,bX_i \in a, bXi∈a,b,Xˉ=1n∑Xi\bar{X} = \frac{1}{n}\sum X_iXˉ=n1∑Xi 为样本均值,则对任意 u>0u > 0u>0:

P(EX−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(EX−Xˉ≥u)≤exp(−(b−a)22nu2)

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

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

EX≤Xˉ+(b−a)log⁡(1/δ)2n \mathbb{E}X \le \bar{X} + (b - a) \sqrt{\frac{\log(1/\delta)}{2n}} EX≤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+Na2logt

直觉:

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

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

python 复制代码
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ΔalogT+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+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=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+Nalogt⋅min{41,σ^a2+Na2logt }

其中 σ^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=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 采样 是贝叶斯框架下的"概率匹配"算法:每一步从动作价值的后验分布中采样一次,按样本值选动作。

python 复制代码
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(∑alogT/Δ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)
python 复制代码
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 采样只需:

python 复制代码
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)=Er∣x,af(x, a) = \mathbb{E}r \\mid x, af(x,a)=Er∣x,a,目标是学习一个策略 π(a∣x)\pi(a \mid x)π(a∣x) 最大化累积奖励 ∑t=1Trt\sum_{t=1}^T r_t∑t=1Trt。

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

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

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

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

5.2 LinUCB 算法

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

Er∣x,a=x⊤θa∗ \mathbb{E}r \\mid x, a = x^\top \theta_a^* Er∣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=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−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 框架------但何时该升级,需要结合任务的"决策对未来的影响"做判断。

相关推荐
wx_xkq12881 小时前
优秘智能企业智脑UMiOS:从知识库走向组织任务协同
人工智能·团队协同·企业知识管理·优秘智能·umios·优小秘·企业智脑
归秋041 小时前
Prompt上下文怎么互通:跨设备创作场景下的完整实操指南
人工智能
枯木◊靠推文躺平版1 小时前
AI短视频制作选剪映还是TapNow:全场景创作效率实测对比
人工智能·音视频
william_yangshun1 小时前
【AI实战】DeepTutor中文版使用教程:把多智能体辅导系统跑起来,先过这几道坎
人工智能
海盗12341 小时前
AI 新闻日报 2026-10-29:Gemini 4 Carbon 登顶、Clover 35B 扩散模型开源、Copilot Fusion 接手选模型
人工智能·机器人·开源·copilot·人工智能aigc
承渊政道1 小时前
飞牛NAS部署Hermes AI Agent:接入DeepSeek、微信与公网访问完整教程
人工智能·微信·nas·deepseek·hermes
天天代码码天天1 小时前
让视频里的声音“有个位置”:我用 C# 做了个离线热图工具
人工智能
AI闲人1 小时前
Hermes:把学习写进文件,把知识变成技能
人工智能·知识库·ai 编程·企业ai落地
smartpi_ai1 小时前
高端智能沙发如何接入大模型语音:JL-17T 离在线语音模块方案实录
人工智能·单片机·语音识别