什么是 上下文老虎机(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 分布、人群曝光、安全违规、延迟,以及反馈漂移后的行为。
主要特点
- 按动作选择前可见的特征进行条件化决策
- 只揭示所选动作的奖励
- 学习从上下文映射到动作分布的策略
- 把价值模型与显式探索机制结合
- 反事实评估依赖倾向概率和动作资格日志
- 若不加入动作驱动的状态转移,仍属于单步模型
常见用途
- 为当前请求个性化选择推荐内容或消息
- 边学习异质处理效应边选择优惠方案
- 结合质量、成本和延迟上下文路由模型
- 在安全约束下选择即时干预
- 按用户或会话条件动态调整界面方案
示例
Loading code...常见问题
多臂老虎机与上下文老虎机有什么区别?
基础多臂老虎机为每个臂学习一个奖励分布,寻找整体最佳动作;上下文老虎机在行动前观察特征,学习不同上下文分别适合哪个动作。两者都只能观察所选动作的奖励。
上下文老虎机只是推荐模型吗?
不是。推荐模型可以只根据历史标签排序,不负责控制数据采集。Contextual Bandit 还包含动作策略、探索、部分反馈与累计决策目标。推荐只是应用之一,生产推荐系统通常还包括许多非 Bandit 阶段。
LinUCB 能处理任意上下文关系吗?
不能。标准 LinUCB 假设期望奖励在选定特征表示上为线性,并使用与该模型配套的置信构造。非线性关系、遗漏特征、非平稳、延迟结果或错误的不确定性估计都可能破坏其行为或理论保证。
离线上下文老虎机评估必须记录什么?
至少记录决策时可见的上下文、合格动作集、所选动作及其 Logging Policy 概率、观测奖励与归因窗口、策略版本和覆盖规则。没有可靠 Propensity 与 Overlap,IPS 或 Doubly Robust 无法恢复没有支持的动作。
什么时候应使用强化学习而不是上下文老虎机?
若动作会显著改变未来状态、奖励依赖长轨迹,或 Credit Assignment 跨越多次决策,应使用序贯强化学习模型。若主要结果可以视为当前上下文的一步奖励,Contextual Bandit 更合适。