考虑如下问题:有k个不同的选择(或者说动作)摆在你的面前,你需要不断重复地选择其中一个,每次你选择其中一个之后,会根据你选择的动作给你一个数值奖励,这个数值奖励符合正态分布。你的目标是在经过一定的次数后,比如1000次后,获得的期望奖励之和最大。

这就是原始形式的K摇臂游戏机问题,以模拟一种投币游戏机命名,它是只有一个摇臂的,而不是k个摇臂。每次选择一个动作就像拉下游戏机上的某个摇臂(拉杆),奖励就是中奖之后的回报(这种游戏机是,每次投一块钱,如果中奖了游戏机会吐出来一定数量的硬币,如果没中奖游戏机就吞掉了你的筹码——嗷呜)。随着动作选择的不断重复,你要把你的动作集中到奖励最高的拉杆上去,来最大化你的奖励。另一种类比是:一个医生在面对一些列重症患者的时候如何选择治疗方案。每一种治疗方案的选择都是一个动作,每一个奖励是病人活下来了或者恢复健康了。

而我们今天要讨论的K摇臂游戏机问题就是上述问题的泛化,但在本书中我们只讨论其简化形式。


在我们的K摇臂游戏机问题中,每一个动作都有一个期望或者说平均奖励(就是当这个动作被选择了的话,会有什么样的奖励,奖励的平均值是固定的),称之为该动作的值value值是动作奖励的平均/期望值)。记在时间步长时选择的动作为,其对应的奖励为. 那么一个随机动作的值,表示为,即若a被选中,其期望奖励为:.

对上述公式的理解是,a是一个动作,这个动作每次被采取后会有个对应的奖励,但是这个奖励值是随机的,只是符合一定的随机分布情况,即n次采样平均值是固定的,这个值就是这个动作a的value,记作,是个固定值。期望值就是采样次数无限多的平均值。

如果知道了每个动作的对应值,那么这个k摇臂游戏机问题就非常容易解决了:你只需要永远拉下值最高的那根拉杆即可。我们假设你并不确切的知道每个动作的值,但是你可以有一些预估。将每个时间步长下对动作的估计值记为,我们希望尽可能的接近。(是奖励期望的真实值,是t时刻对奖励期望的估计值,优化目标是使估计值随着时间的推移逐渐收敛到真实值附近。

如果持续预估动作的值,那么在任何时刻,起码有一个动作的值的估计是最大的,我们把这个动作称作贪婪动作。当你选择了这个动作,就是说你利用了当前对所有动作的值的认知(你知道这个动作是当前所有动作中最优的,并选择了它,就是利用了现有的知识)。如果你反其道而行之,选择了一个非贪婪动作,那么你就是在探索,因为探索可以提升对非贪婪动作值的估计。

利用是在某一步中最大化期望奖励应该采取的方法,但是探索是在长期可能产生更大奖励应该采取的方法。例如,假设一个贪婪动作的值已经确定了,而几个其他动作的值虽然差不多确定了,但是还是有不确定性。这种不确定性是指它们中起码有一个比贪婪动作更好,但是你不知道是哪一个。如果你有很多步骤去选择动作,那么最好探索一下非贪婪动作,虽然这会在一个步骤中降低奖励值,但是在长期来看,因为你发现了更好的动作,奖励值会逐渐增大。因为你不能在一个步骤中同时使用“利用”和“探索”,因此他们之间(exploitation and exploration)存在矛盾。

在每个特定的例子中,是利用好还是探索好,取决于一个复杂的方法,需要考虑估计值的精确性,不确定性,以及剩余步骤的数量。对特定的k摇臂游戏机问题,以及相关问题,都有一系列的复杂方法去平衡探索和利用的关系。然而,其中的大多数方法都对稳定性及先验知识有强假设(strong assumptions),这些假设在应用到我们接下来要讨论的完全强化学习问题中时,要么是悖论,要么不可能实现。而当他们的假设不成立时,这些方法的最优性和有界损失几乎无法保证。

在这本书中,我们不考虑如何用一种复杂的方式来平衡探索和利用,我们只考虑如何平衡他们。在这一章,我们提出了一些简单的用于平衡探索和利用的方法,以证明他们的表现比纯利用的方法要好。这种平衡探索与利用的需求是强化学习的特色,而简化形式的k摇臂游戏机问题可以让我们更清晰地看到这一点。

2.1 A k-armed Bandit Problem相关推荐

  1. Dueling bandits——《Relative Upper Confidence Bound for the K-Armed Dueling Bandit Problem》算法梳理(RUCB)

    RUCB算法来自论文<Relative Upper Confidence Bound for the K-Armed Dueling Bandit Problem> 论文涉及算法名称:Rel ...

  2. 多臂老虎机(Multi-armed bandit problem)

    我们会遇到很多选择的场景,如:上哪所大学,学什么专业,去哪家公司,等等.这些选择问题都会让选择困难症患者头大.那么,有什么科学的办法来解决这些问题呢?答案是:有!而且是非常科学的办法,那就是多臂老虎机 ...

  3. 强化学习入门: the 10-armed bandit problem,e-greedy 算法

    学习强化学习<Reinforcement Learning An Introduction>,2.3节,做了个Matlab的仿真. 问题描述:the 10-armed bandit pro ...

  4. 问题 K: A+B Problem (III) : Input/Output Practice 山东科技大学OJ c语言

    题目描述 计算a+b,0<=a,b<1000. 输入 输入有多对整数a和b组成,每对a和b占一行,a,b用空格分开.当测试样为0 0时表示输入结束,0 0不参与运算. 输出 每行输出一个a ...

  5. 强化学习应用于组合优化问题_如何将强化学习应用于现实生活中的计划问题

    强化学习应用于组合优化问题 by Sterling Osborne, PhD Researcher 作者:斯特林·奥斯本(Sterling Osborne),博士研究员 如何将强化学习应用于现实生活中 ...

  6. 冷启动中的多臂老虎机问题(Multi-Armed Bandit,MAB)

    转载请注明出处:https://thinkgamer.blog.csdn.net/article/details/102560272 博主微博:http://weibo.com/234654758 G ...

  7. 推荐系统︱基于bandit的主题冷启动在线学习策略

    推荐系统里面有两个经典问题:EE问题和冷启动问题. 什么是EE问题?又叫exploit-explore问题.exploit就是:对用户比较确定的兴趣,当然要利用开采迎合,好比说已经挣到的钱,当然要花: ...

  8. Bandit算法学习[网站优化]04——UCB(Upper Confidence Bound) 算法

    Bandit算法学习[网站优化]04--UCB(Upper Confidence Bound) 算法 参考资料 White J. Bandit algorithms for website optim ...

  9. Competing in the Dark: An Efficient Algorithm for Bandit Linear Optimization

    Competing in the Dark: An Efficient Algorithm for Bandit Linear Optimization Feb. 23, 2021 Aim‾\unde ...

  10. 强化学习基础——bandit

    目录 为选择而生 为错误买单代价 经典方法 朴素Bandit算法 ε-Greedy算法 Thompson sampling算法 Thompson sampling算法流程 UCB UCB算法流程 Li ...

最新文章

  1. HDU - 3333 Turing Tree 线段树区间不同值和+详解+思想
  2. dedecms前端无法调用自定义变量怎么解决
  3. centos6.5 做路由器
  4. python的学习笔记/002-5(2018-5-21)
  5. JS操作iframe元素
  6. Exchange 2010分层通讯薄(HAB)配置指南
  7. 【OCP题库-12c】最新CUUG OCP 071考试题库(71题)
  8. 云计算的运营方式有这三种
  9. 弱水三千,只取一瓢饮
  10. IAR Fatal error
  11. JAVA面试题目及推荐书籍
  12. Obsidian基本使用
  13. Hi3516A开发--板卡烧写
  14. 详情页用虚拟机还是云服务器,详情页用虚拟机还是云服务器
  15. 【STL】STL函数总结,助你代码实用高逼格
  16. 常微分方程数值解matlab欧拉,MATLAB题,用到欧拉公式求微分方程的数值解
  17. 安装zsh 、omyzsh
  18. R语言神经网络量化交易模型
  19. c语言中.h文件和.cpp文件解析
  20. 计算机毕业设计选题 论文+源码+PPT

热门文章

  1. 网页webp格式转换成jpg方法
  2. 使用Android Studio和阿里云数据库实现一个远程聊天程序
  3. Unity Shader - Shader Compilation Target Levels 着色器编译目标级别
  4. 简单扑克牌游戏C语言,【算法】C语言实现简易的扑克牌游戏
  5. Zabbix3.4 通过163邮箱发送邮件监控报警
  6. 《Region Proposal by Guided Anchoring》论文笔记
  7. java创建临时文件夹_java生成临时文件夹和删除临时文件夹
  8. Parameterize Method (令函数携带参数)
  9. 听说你有10年的工作经验?还是你把1个经验反复用了10年?(文末赠书)
  10. uni-app--微信小程序自定义tabbar