RL ML Learning Lab
01 / 13
探索 vs 利用

多臂老虎机Multi-Armed Bandits

在「试新臂」和「榨取已知最优臂」之间权衡 —— ε-greedy、UCB、梯度老虎机,实时调参看学习曲线。

2.5 小时
阅读 + 实操
3 个
交互演示
入门
难度

多臂老虎机 · 交互演示

累计奖励+182
最优臂B
ε0.10
步数
独立运行次数
随机种子
对比配置

1.1 为什么从老虎机学起:探索 vs 利用

如果把强化学习压缩成一个最小问题,就是老虎机:10 根拉杆、每次拉一根、拿到一个奖励 —— 没人告诉你哪根杆最好。你的每个选择既是「赚钱」也是「收集信息」:这就是探索与利用的困境,贯穿整门课的核心矛盾。本章用三种经典算法在同一个老虎机上赛跑,让你亲眼看到不同的平衡策略如何收敛。

下一步预告:老虎机把「探索 vs 利用」压缩到单状态;下一章我们把它放进多状态的棋盘——从老虎机到 GridWorld,正式进入 MDP。

📌 发生了什么

  • 每个臂有隐藏的真实均值奖励,只能靠采样估计
  • ε-greedy 以概率 ε 随机选臂、否则选当前估计最优
  • UCB 用「不确定性上界」更聪明地引导探索
  • 梯度老虎机直接学每个臂的选择偏好

⚠️ 常见陷阱

  • ε 太小会卡在次优臂(利用过头)
  • ε 太大则永远在随机试,学不到稳定策略
  • 用累积平均而非滑动窗口会抹平近期变化

本章小结

  • 老虎机 = 单状态 MDP,是 RL 的最小实验台
  • ε-greedy 简单有效,UCB 理论更优
  • 权衡探索与利用贯穿全部 RL 算法

1.2 ε-greedy:用增量均值估价值

三种老虎机算法的核心更新规则:ε-greedy 用增量均值,UCB 加不确定性上界,梯度老虎机按偏好更新。

ε-greedy 增量更新:新估值 = 旧估值 + 步长 α × (新样本 - 旧估值)。当 α = 1/N(a) 时退化为样本均值;定常 α 则给近期样本更大权重。

1.3 UCB:给不确定的臂一个机会

UCB(上置信界):在估值基础上加一个随访问次数 N(a) 递减、随时间 t 递增的探索项。没试够的臂 N(a) 小,不确定性项大,从而被优先探索。

1.4 梯度老虎机:学偏好而不是估值

梯度老虎机:维护每个臂的偏好分 H(a),按 softmax 转成概率 π(a)。奖励高于基线 R̂ 时增大被选臂偏好、降低其他臂偏好,反之亦然。

1.5 探索率 ε 怎么选:天平上的砝码

ε 是探索-利用天平的砝码。太小锁死次优臂,太大浪费步数。下表对比三种典型取值在 10 臂老虎机上的表现。

ε 值 表现 结果
ε = 0(贪心) 只拉当前最优臂,无任何探索 易锁死次优臂
ε = 0.1 90% 利用 + 10% 探索,稳步逼近最优 推荐区间
ε = 0.3 探索过多,大量步数浪费在差臂 过度探索

💡 实践中常让 ε 随时间衰减(如 ε = 1/t),前期多探索、后期多利用。

1.6 ε-greedy 核心代码走读

增量更新估值的核心代码(Python,与上方实时模式逻辑一致):

k = 10                       # 臂数
eps = 0.1                    # 探索率 ε
alpha = 0.1                  # 步长 α
Q = np.zeros(k)
N = np.zeros(k)

for t in range(steps):
    # 1. 选动作:ε 概率随机探索,否则贪心
    if np.random.rand() < eps:
        a = np.random.randint(k)   # 探索
    else:
        a = np.argmax(Q)           # 利用
    # 2. 拉杆得到奖励 r
    r = pull(a)
    # 3. 增量更新估值
    N[a] += 1
    Q[a] += alpha * (r - Q[a])

📚 参考文献与延伸阅读

  • Sutton & Barto, Reinforcement Learning (2nd ed.), §2 Multi-armed Bandits — ε-greedy、UCB、梯度老虎机的完整论述
  • Auer, Cesa-Bianchi & Fischer (2002), Finite-time Analysis of the Multiarmed Bandit Problem — UCB1 算法与遗憾界证明
  • Wikipedia: Multi-armed bandit — 问题定义与算法综述

📝 课后练习

检验你的理解——答对为止