什么是 上下文老虎机(Contextual Bandit)?

上下文老虎机(Contextual Bandit)是一类序贯决策问题:策略观察当前上下文,选择一个可用动作,只接收该动作的奖励,并学习如何在后续上下文中最大化奖励。

快速了解

规范文档官方规范

工作原理

利用上下文,但不能编造反事实标签

每轮中,系统先观察上下文与可用动作,再选择一个动作;只有所选动作的奖励可见。Li、Chu、Langford 与 Schapire用该框架建模个性化新闻推荐,并在线性收益假设下提出 LinUCB。论文的 Replay Evaluation 依赖随机日志流量,并不意味着任意生产日志都能得到无偏评估。

区分奖励预测与探索机制

预测器估计动作价值,探索策略决定下一轮收集什么证据。LinUCB 添加置信奖励,Thompson Sampling 抽取可能参数,Policy-class 方法则优化更广泛的决策规则。Agarwal 等人说明通用 Contextual Bandit 保证依赖部分反馈、Comparator Policy Class 和受控探索,而不是一个准确率较高的监督模型。

记录决策契约并检查 Support

日志应保存决策时可见的上下文、合格动作、所选动作、Logging Policy 下的选择概率、模型与特征版本、奖励窗口、缺失结果和覆盖规则。离线评估前必须确认 Logging Policy 对 Target Policy 可能选择的动作赋予正概率。监控累计奖励、Regret 代理、Propensity 与 Weight 分布、人群曝光、安全违规、延迟,以及反馈漂移后的行为。

主要特点

  • 按动作选择前可见的特征进行条件化决策
  • 只揭示所选动作的奖励
  • 学习从上下文映射到动作分布的策略
  • 把价值模型与显式探索机制结合
  • 反事实评估依赖倾向概率和动作资格日志
  • 若不加入动作驱动的状态转移,仍属于单步模型

常见用途

  1. 为当前请求个性化选择推荐内容或消息
  2. 边学习异质处理效应边选择优惠方案
  3. 结合质量、成本和延迟上下文路由模型
  4. 在安全约束下选择即时干预
  5. 按用户或会话条件动态调整界面方案

示例

loading...
Loading code...

常见问题

多臂老虎机与上下文老虎机有什么区别?

基础多臂老虎机为每个臂学习一个奖励分布,寻找整体最佳动作;上下文老虎机在行动前观察特征,学习不同上下文分别适合哪个动作。两者都只能观察所选动作的奖励。

上下文老虎机只是推荐模型吗?

不是。推荐模型可以只根据历史标签排序,不负责控制数据采集。Contextual Bandit 还包含动作策略、探索、部分反馈与累计决策目标。推荐只是应用之一,生产推荐系统通常还包括许多非 Bandit 阶段。

LinUCB 能处理任意上下文关系吗?

不能。标准 LinUCB 假设期望奖励在选定特征表示上为线性,并使用与该模型配套的置信构造。非线性关系、遗漏特征、非平稳、延迟结果或错误的不确定性估计都可能破坏其行为或理论保证。

离线上下文老虎机评估必须记录什么?

至少记录决策时可见的上下文、合格动作集、所选动作及其 Logging Policy 概率、观测奖励与归因窗口、策略版本和覆盖规则。没有可靠 Propensity 与 Overlap,IPS 或 Doubly Robust 无法恢复没有支持的动作。

什么时候应使用强化学习而不是上下文老虎机?

若动作会显著改变未来状态、奖励依赖长轨迹,或 Credit Assignment 跨越多次决策,应使用序贯强化学习模型。若主要结果可以视为当前上下文的一步奖励,Contextual Bandit 更合适。

相关术语

相关文章