Multi-Armed Bandit
问题描述 #card
- 多臂老虎机是一种赌博机器,每台老虎机有若干手柄,拉动其中一根手柄,老虎机将会吐出一些金币。
- 每根手柄每次吐出的金币数是随机的,但是遵循一个固定但对赌徒未知的概率分布。
- 赌徒一共有N次机会,他希望找到一个最优策略使他能获得的金币数最多。
朴素解法
- 将 N 次划分成 [[exploration and exploitation]] 两个阶段 #card
- 先探索,也就是将每根手柄拉动 次,统计 为拉动第 1 根手柄 次所得到的平均收益。
- 再开发,赌徒找到平均收益最大的那根手柄 ,然后将剩余的机会全部用来拉动 。
- 朴素Bandit算法的缺点在于前期探索的次数很难设置 #card
- 如果前期每个手柄探索的次数太少,统计出来的每根手柄的平均收益 误差大,导致探索出来的最优手柄的置信度太低,后期开发阶段可能陷入某个次优方案而不自知。
- 如果前期每根手柄探索的次数太多,每根手柄的平均收益 会准确些,探索出来的最优手柄的置信度会高些,但此时留给"开发"的拉动机会就不多了。
Epsilon Greedy
- 将探索与开发按照一定概率交替进行,在找到当前最优手柄的同时就充分加以开发利用,以最大化总收益。#card

Decay Epsilon Greedy
- 让决定是否探索的门槛值 随时间衰减。#card
- 前期 较大,算法有更多的机会去探索各手柄的收益。
- 随着尝试次数变多,统计出来的 更加准确,找到的最优手柄 的置信度更高。
- 此时 也变小了,鼓励算法充分利用 赚取最大收益,而非浪费机会在不必要的探索上。
网络回响
Multi-Armed Bandit