强化学习:第2节《多臂赌博机问题》

目录

1 多臂赌博机

2 动作—价值方法

2.1 增量式实现

2.2 跟踪非平稳问题

3 平衡“试探—开发”的策略

3.1 epsilon-greedy策略

3.2 玻尔兹曼策略

3.3 UCB策略

1 多臂赌博机

       强化学习与其他机器学习方法最大的区别,就是强化学习的训练信号是用来评估给定动作好坏的,而不是通过给出正确的动作范例进行直接地指导。所以主动地进行试探,以获得更好的动作就显得极为关键。

       多臂赌博机就是典型的试探例子。一个赌博机具有多个摇杆,每次拉动任意一个摇杆,都会随机得到相应的金币。玩家经过几次操作之后,便可根据金币数量初步判断拉动各个摇杆的收益,从而基于评估结果继续操作,以获取更多的奖励。在多臂赌博机问题中,每个动作被选择时都有一个期望收益,这就是“价值”。记在t时刻选择的动作为A_t,得到的收益为R_t,则每个动作的价值评估结果为

q_*(a)\doteq \mathbb{E}[R_t|A_t=a]

       很多时候没办法精确计算动作的价值函数,需要进行估计,并基于评估结果选择动作。在动作选择时,如果根据评估结果选择价值最大的动作,称为“开发”,如果通过尝试选择其他动作,则为“试探”,如何在试探与开发之间进行权衡,是多臂赌博机问题的重点。

2 动作—价值方法

       使用价值估计进行动作选择即为动作—价值方法,截至t时刻,动作a的估计值为

Q_t(a)=\frac{\sum_{i=1}^{t}R_i\mathbb{I}_{A_t=a}}{\sum_{i=1}^{t}\mathbb{I}_{A_t=a}}

       上式中,当A_t=a时,\mathbb{I}的返回值为1,否则为0。基于评估结果贪心选择动作为

A_t=\mathrm{argmax}_aQ_t(a)

2.1 增量式实现

       根据上式可以发现,每次计算动作值函数都需要记录之前所有时刻的收益,这将消耗大量内存,一种方法是进行增量式实现,如下式所示

\begin{aligned} Q_{n+1}&=\frac{1}{n}\sum_{i=1}^{n}R_i \\ &=\frac{1}{n}\begin{bmatrix} R_n+\frac{n-1}{n-1}\sum_{i=1}^{n-1}R_i \end{bmatrix} \\ &=\frac{1}{n}[R_n+(n-1)Q_n] \\ &=Q_n+\frac{1}{n}[R_n-Q_n] \end{aligned}

2.2 跟踪非平稳问题

       2.1节中的公式适用于计算平稳问题,即收益的概率分布不随时间变化的问题。对于非平稳问题,以上公式很难给出精确解。在处理非平稳问题时,给近期收益赋予比过去收益更高的权值是有效解决办法。典型方法之一就是定步长。

Q_{n+1}=Q_n+\alpha [R_n-Q_n]

3 平衡“试探—开发”的策略

3.1 epsilon-greedy策略

       根据值函数的评估结果,以\varepsilon的概率随机选择动作,以1-\varepsilon的概率贪心选择动作

A=\left\{\begin{matrix} \mathrm{argmax}_aQ(a) &p=1-\varepsilon \\ \mathrm{random}(a) & p=\varepsilon \end{matrix}\right.

3.2 玻尔兹曼策略

       在\varepsilon -\mathrm{greedy}策略中,贪心动作被选中的概率最大,对于所有非贪心动作,无论值函数大小如何,被选中的概率相同。玻尔兹曼策略对其进行了改进。

p(a_i)=\frac{\mathrm{exp}\begin{bmatrix} Q(a_i)/\tau \end{bmatrix}}{ \sum_{j=1}^{N}\mathrm{exp}\begin{bmatrix} Q(a_j)/\tau \end{bmatrix}}

       式中,\tau为调节参数,\tau越大,玻尔兹曼策略越接近均匀策略,\tau越小,玻尔兹曼策略越接近贪心策略。

3.3 UCB策略

       在非贪心动作中,最好根据不同动作的潜力进行选择,一种有效的方式是基于置信度上界(Upper Confidence Bound, UCB)的动作选择思想。具体表现如下

A_t=\mathrm{argmax}_a\begin{bmatrix} Q_t(a)+c\sqrt{\frac{\mathrm{ln}t}{N_t(a)}}) \end{bmatrix}

       其中,\mathrm{ln}t表示t的自然对数,N_t(a)表示t时刻前动作a被选择的次数。每次动作a被选择时,N_t(a)增加,对应于上式中有N_t(a)的这一项减小,若选择其他动作,N_t(a)没有变化,但是t始终在增大,不确定性将会增加。随着时间的推移,具有较低价值的动作或者已经被选择了更多次的动作被选中的概率将会减小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值