强化学习 K-摇臂赌博机模型 Multi-armed Bandit,Python代码

强化学习 K-摇臂赌博机模型 Multi-armed Bandit,Python代码

1.K摇臂赌博机模型

K-摇臂赌博机(MAB,Multi-armed Bandit)是一种单步强化学习任务理论模型。K-摇臂赌博机有k个摇臂,投入一枚硬币后,按下其中一个摇臂,每个摇臂会以一定的概率吐出硬币作为回报,但是这个概率是未知的,需要通过一定的策略实现回报最大化。

2.仅探索和仅利用

仅探索(exploration-only),探索各个摇臂的奖赏均值,以相同的概率选择每一个摇臂;
仅利用(exploitation-only),每次选择当前平均奖赏最大的摇臂。
探索和利用两者之间是相互矛盾的,由于总的尝试次数是有限的,采用“探索”则无法每次选择最优的选项,选择“利用”则无法发现可能潜在的更优的选项,这就是强化学习中的“探索-利用窘境(Exploration-Exploitation dilemma)”所以要实现累积回报最大化,需要在“探索”和“利用”之间达到一个较好的折中。

3.epsilon greedy与softmax算法

(1)epsilon贪心算法: 每次决策时,以概率e进行仅探索(以均匀的概率随机选择一个摇臂);以概率1-e进行仅利用(选择目前为止平均奖赏最大的摇臂)
(2)softmax算法: 每次决策时,先计算所有摇臂的平均奖赏的softmax值,然后以这个值为摇臂的概率来选择摇臂。其中有个τ值,用来控制倾向于探索或利用的程度。

4.Python 代码

Python代码 github链接.

1.设置摇臂arm数目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值