【强化学习入门】梯度赌博机算法中,偏好函数更新:梯度上升公式是精确梯度上升的随机近似的证明

本文证明强化学习入门问题:K摇臂赌博机的梯度赌博机算法中,偏好函数更新公式: H t + 1 ( A t ) = H t ( A t ) + α ( R t − R t ‾ ) ( 1 − π t ( A t ) ) H_{t+1}(A_t) = H_t(A_t) + \alpha (R_t - \overline{R_t})(1-\pi_t(A_t)) Ht+1(At)=Ht(At)+α(RtRt)(1πt(At))的合理性。书上可能有些不太好理解,我用较为浅显的语言将每步证明的“why & how”描述出来。

引用自:强化学习(第2版); [加拿大] Richard S. Sutton, [美国] Andrew G. Barto; 俞凯 译

书中提到的摇臂赌博机的所有算法,我已经使用python 3实现,在线浏览ipynb:https://nbviewer.jupyter.org/github/PiperLiu/Reinforcement-Learning-practice-zh/blob/master/practice/01-Stochastic-Multi-Armed-Bandit.ipynb。并上传github,仓库:https://github.com/PiperLiu/Reinforcement-Learning-practice-zh


前言

强化学习入门问题:K摇臂赌博机的梯度赌博机算法中,提出了偏好函数。偏好函数本身的值并不重要,重要的是一个动作相比于另一个动作的偏好,因此,选择动作的概率分布使用softmax分布:

P r A t = a = e H t ( a ) ∑ b = 1 k e H t ( b ) = π t ( a ) Pr_{A_t = a} = \frac{e^{H_t(a)}}{\sum_{b=1}^{k} e^{H_t(b)}} = \pi_t(a) PrAt=a=b=1keHt(b)eHt(a)=πt(a)

π t ( a ) \pi_t(a) πt(a)表示动作a在t时刻被选择的概率,所有偏好函数的初始值都相同(可为0)。

则,偏好函数更新遵守如下规则:

H t + 1 ( A t ) = H t ( A t ) + α ( R t − R t ‾ ) ( 1 − π t ( A t ) ) H_{t+1}(A_t) = H_t(A_t) + \alpha (R_t - \overline{R_t})(1-\pi_t(A_t)) Ht+1(At)=Ht(At)+α(RtRt)(1πt(At)) 对于被选择的动作 A t A_t At (1)
H t + 1 ( a ) = H t ( a ) − α ( R t − ( ‾ R t ) π t ( a ) ) H_{t+1}(a) = H_t(a) - \alpha (R_t - \overline(R_t) \pi_t(a)) Ht+1(a)=Ht(a)α(Rt(Rt)πt(a)) 对于所有 a ≠ A t a \not= A_t a=At (2)

其中,a是一个大于0的数,表示步长。 R t ‾ \overline{R_t} Rt是时刻t内所有收益的平均值,称为基准项。

个人思考:为什么更新偏好函数时要考虑概率呢? 答:对于(1)式,若本身概率较大,则 H t + 1 H_{t+1} Ht+1不会加太多,若本身概率 π t = 1 \pi_t=1 πt=1,则 H t + 1 H_{t+1} Ht+1不用更新。

上述思考有一定道理,但是这个更新公式的合理性可以在数学上证明。下面开始证明。


证明

在精确梯度上升算法中,有:

H t + 1 ( a ) = H t ( a ) + α ∂ E [ R t ] ∂ H t ( a ) H_{t+1}(a)=H_t(a) + \alpha \frac{\partial \mathbb{E}[R_t]}{\partial H_t (a)} Ht+1(a)=Ht(a)+αHt

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值