强化学习导论(Reinforcement Learning: An Introduction)读书笔记(二):多臂赌博机(Multi-arm Bandits)
来源:互联网 发布:java培训课程目录 编辑:程序博客网 时间:2024/05/16 13:38
研究困难的问题之前先要解决简单的问题,本章以多臂赌博机作为问题对象。多臂赌博机是一类非常简单的问题,它只包含一种情景,但可以说明强化学习中的一些基本方法。
1.多臂赌博机
多臂赌博机是指一类问题,这类问题重复的从
如果我们知道每个行为的真实值,那么多臂赌博机的问题很容易就可以解决,但在大多数情况下,我们是不知道行为的具体值的,因此只能做近似。在
在时刻
2.估计行为值的方法
对行为值的估计是为了更好的选择行为。行为的值为每次执行该行为所得奖励的期望。因此可以用
这只是估计行为值的一种方法,但并不是唯一同时也并不是最好的方法。这种方法称为样本平均(sample-average)法,在
这种选择行为的方法有一个缺陷,因为每次只做exploit操作,而不做explore操作,所以在选择行为时可能会漏掉那些真实值更大的行为。对此方法的一个改进是在大多数时间进行贪心策略也即exploit操作,但是会以
书中还给出了一个测试集用于测试各种估计行为值方法的效果,博客中就不列举了,有兴趣可以去看书中具体的内容。
如果行为的奖励恒定不变的话,样本平均方法就可以很好的解决问题,但这种情况显然并不多。大多数情况下行为的奖励是服从某个分布的,甚至有些非平稳(nonstationary)问题,其中行为的真实值会发生变化,显然在这些情况下
在更新行为的估计值是有
公式(4)的更新方式可以总结如下:
其中称
3.初始值
对于平稳问题,前面两个方法在使用中有一个小技巧,就是提高初始值的大小。通过提高初始的行为估计值,可以有效的促进explore操作。比如,假设多臂赌博机的行为值服从期望为0,方差为1的正态分布,那么我们可以将初始的行为估计值设为5,当系统选择一个行为开始执行后,所获得的奖励很可能比5小,因此接下来就会尝试其他估计值为5的行为。这样在估计值收敛前,所有的行为都已经被执行了一遍或多遍。
通过设置较高的初始值是一种解决平稳问题的有效方法,但对于非平稳问题就没有那么好的效果。因为非平稳问题的真实行为值会发生变化
4.置信上界行为选择
上节讲到
其中
上述在explore操作中选择行为的思路称为置信上界(upper confidence bound, UCB),根号中的部分表示估计过程中的不确定性,因为估计的次数越少就代表不确定性越高,之所以采用
5.梯度绑定算法(Gradient Bandit ALgorithms)
(”梯度绑定“翻译的可能不够精确)
前面几步分主要讨论了如何估计行为值以及在explore操作中如何选择行为。本节介绍了一种新的方法,这种方法不用估计行为值既可以选择要执行的行为。每一个行为都有一个偏好度(preference),比如行为
我们用
对于偏好度的更新是基于梯度上升算法进行的,具体的推到可参考书中内容。
6.关联搜索
前面讲述的内容都是都是非关联性的问题,即行为和环境状态并无关联。基于非关联性的特征,在平稳问题中,agent只需学到一个最好的(奖励最高的)行为即可,在非平稳问题中,agent只需能够跟踪行为值的变化即可。然而强化学习面临的问题往往都不止一种状态,而且强化学习的目标是能够学到最大化奖励的策略。
可以举个例子对关联性问题进行说明,假设现在有5个k臂赌博机,每次我们都从这5个赌博机中随机挑选一个进行学习。这个问题是一个单一状态的非平稳问题。可以用前面讲的方法解决,但是,除非这5个赌博机的真实行为值变化不大,否则这些方法的效果并不好。我们继续在这个问题上增加一下条件,让每个赌博机都有特定的颜色,每次我们可以根据颜色知道玩的是哪一个赌博机。在这样的背景下,agent就要学习相应的策略。这样的问题就是关联性搜索的问题。
- 强化学习导论(Reinforcement Learning: An Introduction)读书笔记(二):多臂赌博机(Multi-arm Bandits)
- 《reinforcement learning:an introduction》第二章《Multi-arm Bandits》总结
- 强化学习导论(Reinforcement Learning: An Introduction)读书笔记(一):强化学习介绍
- Reinforcement Learning:An Introduction 读书笔记- Chapter 1
- Reinforcement Learning:An introduction读书笔记-Chapter 2
- Reinforcement Learning:An introduction读书笔记-Chapter 3
- 《reinforcement learning:an introduction》第七章《Multi-step Bootstrapping》总结
- 强化学习笔记01,02——强化学习问题和Multi-arm Bandits
- Reinforcement Learning 强化学习
- 强化学习Reinforcement Learning
- 强化学习(Reinforcement Learning)
- 强化学习 Reinforcement Learning 资料
- 《reinforcement learning:an introduction》第一章《The Reinforcement Learning Problem》总结
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
- Reforcement Learning ---- Multi-armed Bandits
- 强化学习(reinforcement learning)教程
- 强化学习(reinforcement learning)教程
- Deep Reinforcement Learning Papers 强化学习论文集
- Android调用相机
- C++ WinMain(模板)
- 算法竞赛入门经典 习题1-8 绝对值(abs)
- 电子俗语
- Flask源码解读 <2> --- 请求上下文和request对象
- 强化学习导论(Reinforcement Learning: An Introduction)读书笔记(二):多臂赌博机(Multi-arm Bandits)
- C++ WIN32(鼠标画点击放下矩形)
- 【NOIP2014八校联考第2场第2试9.28】分组(group)
- Oracle入门
- 网站地图爬虫
- C++ WIN32(奔跑吧飞鱼)
- android 引用分析
- JS javascript 中的高级知识
- (十五)剑指offer之从上向下打印二叉树