一句话定义:UCB(Upper Confidence Bound,上置信界)是解决"多臂老虎机(multi-armed bandit)"问题的一类经典策略——它给每个选项的收益估计加一个"不确定性补偿",然后永远选补偿后分数最高的那个。
它解决的问题:面前有 K 台老虎机,每台中奖率未知,你只能拉有限次,怎么拉才能赢得最多?这就是探索(exploration,去试试没试过的)与利用(exploitation,去做目前看起来最好的)之间的取舍。
原理:UCB 给每台机器算一个乐观分,等于"目前观测到的平均收益"加上"因为见得少而给的补偿项"。经典的 UCB1 形式是:平均收益 + √(2·ln n / nᵢ),其中 n 是总拉动次数,nᵢ 是第 i 台被拉过的次数。分母在根号里,意味着试得越少的机器,加分越多;同时补偿项随总次数 n 只以对数速度缓慢增长,所以随着实验推进,探索会自动收敛。
打个比方:公司楼下五家面馆。纯贪心的人认准目前评分最高的那家一直去。UCB 会说:"第三家你只去过一次就给了好评,样本太少,真实水平可能更高,值得再去一次。"去得多了、评价稳定了,这份"潜力加分"就自动缩小,注意力自然回到真正好吃的店上。补偿项的作用就是:先把未知当成可能很好,用行动去验证,验证完就收回这份乐观。这种做法叫"面对不确定性时保持乐观"(optimism in the face of uncertainty)。
和相邻概念的区别:
| 策略 | 探索方式 | 探索量随时间变化 | 主要短板 |
|---|---|---|---|
| 纯贪心 greedy | 基本不探索 | 无 | 早期一次好运就锁死选择,错过真正最优项 |
| ε-greedy | 以固定概率 ε 随机乱选 | 不变化 | 后期仍把固定比例的机会浪费在明显差的选项上 |
| UCB | 按不确定性大小加分 | 试得越少加分越多,自动衰减 | 需要处理奖励缩放,且假设分布平稳 |
| Thompson Sampling | 按后验分布抽样 | 由不确定性自然驱动 | 需要设定先验、维护后验 |
关键差别在于:贪心的问题不是"不探索",而是"用一次两次的运气决定长期行为";ε-greedy 虽然探索,但对"试过一百次"和"只试过一次"的选项一视同仁。UCB 把探索预算精准花在信息量最大的地方,理论上其累积遗憾(regret)随轮数按对数增长,优于固定 ε 的线性遗憾。
对从业者的意义:线上 A/B 测试和推荐冷启动都可以用 UCB 的思路——不必等固定实验周期再全量切换,也不必把一半流量长期浪费在明显更差的方案上;游戏与规划中的 UCT(把 UCB 用在树搜索的节点选择上)是同一套逻辑。落地时注意两点:奖励量纲要先归一化,否则补偿项会被淹没;UCB 默认环境平稳,若用户口味在漂移,需要改用滑窗或折扣版本。具体实现细节,以所用库的官方文档为准。
