第二章 老虎机问题
多臂老虎机问题
单臂老虎机在拉下游戏臂后,有一定的概率获得奖励。而多臂老虎机需要选择到底拉哪个游戏臂,每个臂的中奖概率是不一样的。
多臂老虎机正好适合用来讨论探索与利用的平衡问题。如果每次都采取贪婪算法,选择奖励概率的游戏臂,则完全是在利用行为的价值;如果选择的是非已知最佳的游戏臂,那就是在探索。一般来讲,利用可以使得单次回报最大,而探索则从长期来看可能产生更好的长期回报。
本章会介绍一些平衡利用与探索的简单方法
动作价值方法
在这里,将采取动作的真实价值定义为,时刻 的价值估计定义为 ,而某动作的价值,是由采取该动作的回报平均值来计算的。比如在时刻 ,动作 已经执行了 次,产生的回报序列为 ,则价值的估计值为
如果该动作尚未产生,可以用某个默认值来取代,比如 。 当 趋于无穷时, 收敛至真实值 。
最简单的动作准则就是选择价值最大的动作 ,即 。在此基础上做一个微小的改进,以一个极小的概率 来执行探索动作,这种方法称为 -贪婪 方法。这样,当 趋于无穷时, 将收敛于 。
下图是10臂老虎机在不同的 下的价值估计值迭代曲线,其回报概率为正态分布。
可以看到,适当地采取探索策略,长远来看有更好的回报,尽管在开始,纯贪婪策略的值略高。
在这种静态环境当中,纯贪婪策略也许能取得不错的回报,但如果环境是动态的,价值随时间变化,那效果就大打折扣了,而环境通常并非静态。
softmax动作选择
-贪婪 方法尽管有效也应用广泛,但过於单一,加报更高的动作应当给予更高的概率加以选择,softmax方法正是基于这种思想,动作 选中的概率与其估计价值成正相关关系:
这里的 是一个正数,代表 热力值,这个值越大,产生的概率越趋于平均化,如果该值趋近于零,则策略退化为贪婪策略。
softmax方法尽管更为精确,但 的值难于确定,需要一定睥领域知识和经验,所以实践中也经常采用 -贪婪 方法。
增量实现方法
实际计算中,不可能把每一步的回报都存储下来,而增量计算只需要保留上一次的价值估计,步骤数 ,再将当次的回报 加入其中即可。
该公式,与后续的回报折扣可以联系起来。增量更新实现的计算过程可以抽象如下:
非静态问题
令 来代替 ,则有
对于动态问题,太久远的回报显得不是那么重要,因此 的取值显得更为灵活, 值的计算可以重写为:
左侧是初始值及其衰减,右侧是各次回报随时间的递减值,两个权重的加和为1。
用来表示在第步,采取动作的回报系数,当取时,上式等价于平均回报。事实上,只要满足下列条件,就可以保证值的收敛性:
很显然 满足条件,但常数不行。
乐观初始价值
之前的方法一般都假设初始价值为0,事实上,价值的初始值,事实上,利用初始值带来的偏差,可以较好的融入先验知识,起到鼓励探索的作用。比如,在10臂老虎机问题当中,将初始价值设定为5,基于贪婪的策略会倾向于把未探索过的状态都走一遍。如下图所示:
由于在一开始就进行了积极的探索,效果比 -贪婪 方法可能更好,只是该方法只对静态问题有效。
其他方法
一种有前景的思想,是引入评估的不确定度来进行探索-利用平衡,比如选择老虎机的某个游戏臂的价值,以95%置信度位于[9, 11]区间内。该思想指导下,诞生了一系列的算法,称为*Upper Confidence Bound (UCB)*方法。还有通过概率图模型进行探索-利用平衡的策略,但可能因为搜索空间过大而难以实现。