http://blog.greenwicher.com/2016/12/24/drl-from_mab_to_mcts/
基本算法
具体的算法实施请见我的Github 或者 Bandit Algorithms for Website Optimization 这本书,下文只是简要叙述每种算法的思路。如日后有时间,再将各自的代码补上。值得一提的是,该领域主要的理论在于求解累积遗憾的上下界。
ϵ− greedy算法
顾名思义,就是每次选择老虎机的时候,以 ϵ 的概率进行exploration,然后以 1−ϵ 的概率进行exploitation。值得注意的是,exploitation和exploration的比例可以通过动态的调整 ϵ 来实现,比如说让 ϵ=1/t√ ,这样在算法初期将主要进行exploration,而在算法后期进行exploitation,这样的处理思路也比较符合直觉。
Softmax算法
这一算法是基于Softmax distribution1来选择老虎机的,值得一提的是Softmax distribution可谓在机器学习里随处可见,比如说神经网络的输出层,Logistic Regression以及模拟退火算法,个人感觉是因为softmax distribution实际上和矩母函数的关系非常紧密,另外也算是对max函数的光滑处理吧2,最后最直观是这是一个multi-choice model(因而在经济管理领域也有应用)。总而言之,我们选择老虎机 i 的概率服从Softmax分布,
Bayes Bandit算法
这一算法的基本思路是给定老虎机收益的先验分布,然后通过该分布来决定玩哪个老虎机,收集到信息之后再更新后验分布。为了保持先验分布和后验分布的形式一致,往往需要 共轭分布
(Conjugate Distribution)的帮助。比如说各个老虎机的回报服从伯努利分布,为了估计伯努利分布的参数,起初我们假设该参数均匀分布在[0,1]之间,然后其共轭分布便是beta分布,并且在更新的过程中,总是保持beta分布的形式,只是相应的参数有所变化。
Upper Confidence Bound算法
这一算法不同于上面的三个算法,每次选择老虎机依据的标准是确定的,即上置信值(Upper Confidence Bound Value),即老虎机给我们回报的置信区间上界值。具体而言,老虎机 i 在第 t 轮的这一值通过如下公式进行计算,
其他算法
- Exp3 / Exp4: The Nonstochastic Multiarmed Bandit Prolem
- Knowledge Gradient: A knowledge-gradient policy for sequential information collection
- Randomized Probability Matching: A modern Bayesian look at the multiarmed bandit
- Thompson Sampling: An Empirical Evaluation of Thompson Sampling
- Gittins Index: Bandit Processes and Dynamic Allocation Indices
如果说多臂赌博机问题被看做 单步强化学习任务
(只用一步决策玩哪个老虎机,然后就收到回报),那么蒙特卡洛树搜索可以看做是解决 多步强化学习任务
的工具。 树
是一种天然的用来刻画或者存储多步决策的数据结构。正如所有的动态规划问题可以被转化为图搜索3,而所有的线性规划问题可以被转化为二分图4一样。 在树上进行搜索再常见不过了,利用树进行仿真其实也没那么不常见,学金融的同学势必都曾利用过二叉树来为各类奇异期权进行定价。至于蒙特卡洛树搜索,实际上可以分为两步
- 利用树结构来重新表达决策问题
- 利用蒙特卡洛方法来进行搜索