对于有K个手臂的赌博机,假设不知道每个手臂的收益,为了获得全局最大收益,通常需尝试和探索不同手臂的回报。
ε贪心的思想是,每次以ε的概率探索新手臂的回报,而用1-ε的概率选择当前已知回报最大的手臂。ε贪心测试效果如下,对于无限的步长ε贪心比直接贪心要差,但是前期因为较好的探索能力效果比较好。
对于每个手臂回报值的估计,通常使用平均的方式计算,但是保存每一步的回报非常浪费空间。
所以可以改写为增量的形式
整理得到 A simple bandit algorithm
对于非固定回报的多臂赌博机问题,每个手臂的回报不能用上面的形式估计平均值,而是改写为
又可被称为 exponential recency-weighted average,不难看出最新的回报估计是过去回报和最近回报的加权混合。
其中学习步长满足以下条件可以保证收敛
对于初始Q值的设置,全部设置为一个大的值可作为探索,在固定回报的问题上非常有效,测试效果如下
但是仍然不推荐使用,它不适合非固定的回报问题,而且这种探索只是暂时的
还有一种新的探索利用方法,它考虑了每个手臂的综合情况,而不是简单的非贪心
测试效果如下
尽管UCB的效果很好,但是其很难扩展到其它一般的强化学习问题中去,而且难以处理很大的状态空间。
对于动作的估计,我们还可以使其满足一个概率,根据一个数值Ht用softmax的方式计算
于是根据随机梯度下降的思想可以得到一种学习方法,如果回报比平均基数高,则增大Ht,否则减小
该公式的推导过程对于算法理解非常重要!!但篇幅太长不做描述
下面是算法效果测试,可以看出没有基线则效果变差很多
这是因为减去一个基数可以减小随机梯度下降中的方差,通常可以选择奖励的平均值作为基线
网友评论