什么是 多臂老虎机(Multi-Armed Bandit)?

多臂老虎机(Multi-Armed Bandit)是一类序贯决策问题:学习器反复从一组动作中选择一个,只观察所选动作的奖励,并在信息不完整时尝试最大化累计奖励。

快速了解

规范文档官方规范

工作原理

先定义反馈与目标,再选择算法

在第 t 轮,策略选择动作 A_t,只观察它的奖励,看不到未选动作的反事实结果。Regret 要把实际收益与明确 Oracle 比较,例如随机模型中的最佳期望臂,或事后最佳固定臂。Bubeck 与 Cesa-Bianchi 的综述区分随机和对抗假设,也说明两类保证不能互换。

让探索方式匹配真实环境

Epsilon-greedy 不利用不确定性信息进行探索;Upper Confidence Bound 采用乐观原则;Thompson Sampling 通过后验随机化;EXP3 面向对抗奖励。Contextual、Combinatorial、Sleeping、Nonstationary 和 Constrained Bandit 会改变“臂”和 Comparator 的含义。随机 Bandit 的对数界不能直接覆盖任意漂移、延迟归因、干扰或 Reward Model 错设。

把在线服务与评测视为同一系统

日志应保存上下文、合格动作集、所选动作、选择概率、策略版本、分配时间、奖励定义、归因窗口、缺失结果和安全覆盖。评测除累计奖励与 Regret 外,还要对照固定分流和非自适应基线,检查不安全动作率、人群曝光、延迟及漂移后恢复。Auer、Cesa-Bianchi 与 Fischer针对有界随机奖励证明有限时间结果;把 UCB1 用作生产结论前必须核对这些假设。

主要特点

  • 每轮只揭示所选动作的奖励
  • 在即时利用与信息探索之间做权衡
  • 优化累计奖励或 Regret 等序贯目标
  • 包含随机、对抗、上下文与受约束等变体
  • 依赖对平稳性、延迟和奖励支持集的明确假设
  • 产生需要按倾向概率评测的自适应日志

常见用途

  1. 在多个产品或消息方案之间分配流量
  2. 根据部分反馈边推荐边学习
  3. 在质量与成本不同的模型之间路由请求
  4. 只在测试后才能观察结果时安排实验优先级
  5. 在明确安全约束下动态分配资源

示例

loading...
Loading code...

常见问题

Bandit 中的探索与利用取舍是什么?

利用选择当前估计最优的动作,探索则选择不确定动作以改善未来决策。纯利用可能被早期误差锁定,无差别探索又会浪费奖励。Bandit 策略需要围绕明确的时间跨度和反馈模型控制两者。

多臂老虎机与 A/B 测试有什么区别?

传统固定分流 A/B 测试通常优先保证预先设计下的无偏估计;Bandit 根据结果自适应改变分配,以改善累计奖励。自适应曝光会改变数据分布,因此固定样本置信区间和直接比较最终赢家可能失效。

Bandit 与强化学习有什么区别?

基础 Bandit 中,动作产生即时奖励,但不会改变持续存在的环境状态。通用强化学习还建模状态转移、延迟后果和多步 Credit Assignment。Contextual Bandit 加入旁信息,但仍不包含由动作驱动的状态转移。

应该选择哪种多臂老虎机算法?

应根据假设选型,而不是套用通用排名。有界平稳奖励且置信构造有效时可考虑 UCB;Thompson Sampling 依赖可信后验;EXP3 等对抗方法放宽随机假设但代价不同。上线前还要模拟延迟、漂移、约束和流量。

哪些场景不适合使用多臂老虎机?

若探索可能造成不可接受伤害、奖励过于延迟或无法归因、动作显著改变未来状态、法规要求固定实验设计,或流量无法形成支持重叠,就不应直接使用。此时应选择受控实验、因果设计或完整强化学习模型。

相关术语

相关文章