本节摘要:监督学习有标签、优化预测误差;无监督学结构;RL 优化长期回报、数据来自策略自身。Bandit 无状态;RL 有序列依赖。
| 维度 | 监督学习 | 无监督学习 | 强化学习 |
|---|---|---|---|
| 数据 | (x,y) 标签 | 无标签 x | (s,a,r,s') 轨迹 |
| 目标 | 预测/分类 | 聚类/生成 | 最大化回报 |
| 反馈 | 即时、明确 | 无外部奖励 | 延迟、标量 reward |
| 数据分布 | 常 i.i.d. | i.i.d. | 随策略变化 |
多臂老虎机(Multi-armed Bandit):每步选臂、得 reward,无状态或上下文 bandit 仅有简单 context。
完整 RL:状态转移 s→s' 影响未来,需考虑长期后果——库存、游戏、机器人路径。
适合:序贯决策、长期目标、可仿真或廉价试错(游戏、推荐序列、部分控制)。
不适合:有大量标注且无交互(用 SL);纯聚类(用 UL);一步决策无状态(用 bandit)。
⚠️ 常见坑:有海量 (s, 最优a) 标注却硬上 RL——这是 imitation learning 或 SL 问题。
💡 关键直觉:RL 的「标签」是时间累计的 reward,不是每步的 y。
"该用哪个范式"光看定义容易晕,用同一个问题走三套思路就清楚了。以"电商给用户推荐商品"为例,下面分别写出监督学习、上下文多臂老虎机、强化学习各自的设定与局限:
监督学习: 输入 用户特征 x → 输出 点击率 y 假设:每个请求独立,忽略用户后续行为 局限:推荐会影响用户之后的行为,但模型看不到这个反馈回路 上下文老虎机(bandit): 输入 context(用户+页面)→ 选商品臂 → 得 reward(是否点击) 假设:这一步的选择不影响下一步状态 局限:忽略"这次点了之后下次还会不会来"这类长期效应 强化学习: 状态 = 用户历史画像;动作 = 推荐序列;奖励 = 点击/转化 目标 = 长期收益最大化,行为会改变未来的状态
判断边界的方法:问三个问题——(1) 动作之后,下一步的"情况"会不会因为这次动作而改变?(2) 奖励是立即给出还是要等多步?(3) 有没有可交互的环境(或仿真器)来反复试错?三个问题的答案依次是"会/要等/有",就该用 RL;如果答案是"不会/立即/无",那 bandit 或监督学习反而更合适。很多把 RL 项目做成"灾难现场"的团队,问题恰恰出在第一个问题上答了"会"却用了监督学习,或者答了"不会"却硬上 RL。
imitation learning 的边界:当你有海量"状态 → 最优动作"的标注(例如专家演示数据),其实是在做带标签的序列决策,本质更接近监督学习,称为模仿学习。它适合"专家能给出好示范"的场景(自动驾驶跟车、手术机器人),但学出来的策略不会优于示范水平,也难以处理专家没见过的状态——这又回到了 RL 的用武之地。所以"选型"不是非黑即白:实践中常是"模仿学习预热 + 强化学习继续优化"的组合。理解范式边界不是为了站队,而是为了知道每个工具擅长什么、短板在哪。
把选型方法用到四个真实项目上,检验你的判断力。项目一:二手车价格预测(有大量历史成交数据、每辆车独立定价)——答案偏向监督学习,因为目标是从特征预测价格,没有序贯交互。项目二:游戏对战 AI(每步动作影响后续局面、目标是一局输赢)——强化学习或模仿学习,关键在于能否在仿真里反复试错。项目三:新闻客户端首页推荐(点击会改变用户画像,下一步推荐依赖上一步行为)——最适合完整强化学习(用户状态 + 长期回报),但实践中常用 bandit 或监督学习的简化近似来降低工程复杂度。项目四:用户流失预警(只需判断某用户近期会不会流失)——监督学习分类即可。请为每个项目写出"判断依据"和"如果选错范式的后果"(比如项目四用 RL 会为了探索随机骚扰用户、成本极高)。做完这个练习,"该用哪个范式"就从课本概念变成了你的项目判断能力。