说明:本篇是学习Reinforcement Learning Chapter 2 Multi-arm Bandits多臂老虎机问题的总结和感悟。

文章目录

  • 基于强化学习的一些前言
  • 一、An n-Armed Bandit Problem是什么?
  • 二、Action-Value Methods
    • 1. greedy method
    • 2. ε-greedy method
  • 三、Incremental Implementation
  • 四、跟踪非平稳问题
  • 五、最优初始值
  • 总结

基于强化学习的一些前言

  1. 强化学习最重要的特征是,使用训练信息来评估所采取的行动,而不是通过给出正确的行动来指导。这就是为什么产生了主动探索的需要,以及对良好行为的明确的试错搜索。
  2. 简单说明强化学习要素:主体、环境、策略、奖励信号、价值函数,以及可选的环境模型。策略定义了主体在给定时间内的行为方式;奖励信号定义了强化学习问题中的目标。奖励信号表示的是某一选择之后直接意义上的好的奖励,而价值函数表示的是长期的好的奖励结果。可选的环境模型指在实际经历未来可能的情况之前,通过考虑未来可能的情况来决定行动方针的任何方法。
  3. 本篇内容从简单的非关联问题引入,研究强化学习的评估方面内容。

一、An n-Armed Bandit Problem是什么?

该问题是强化学习的典型问题,也是一个预期奖励最大化问题:在选择、行动之后获得一定的奖励,通过对过去的行为学习,决定下一步选择。最终的目标是在一段时间内最大化预期的总奖励。
问题的命名来源是每一个动作选择就像是在玩老虎机的一个杠杆,奖励是击中头奖的回报。通过重复的行动选择,通过把行动集中在最好的杠杆上来最大化的收益。
在这个问题中存在一个探索和开发矛盾点。探索即不断尝试新的选择以期望可以获得比当前最优解更好的办法;而开发则是使用当前最优解保证获得较高的收益。总的来说,开发是一步最大化预期回报的正确做法,但从长远来看,探索可能会产生更大的总回报。
下面的内容是对于如何平衡二者之间的矛盾提出的基本解决办法。

二、Action-Value Methods

这部分将更仔细地研究一些简单的方法来估计行动的值,并使用估计来做出行动选择决策。一个动作的真正价值是当该动作被选择时所获得的平均奖励。

1. greedy method

greedy的办法:最简单的动作选择规则是选择估计最高奖励值的动作。它总是利用当前的知识来最大限度地获得即时奖励;它没有花任何时间来取样明显的劣等的行为,看看它们是否真的会更好。
这种办法可以用下式表示:

2. ε-greedy method

ε-greedy的办法:在大多数时间内使用greedy的办法(直接使用当前最高奖励值的动作),但每隔一段时间,比如小概率ε,从所有具有相同概率的行动中随机选择,独立于行动值估计。

下面将用一个例子比较两种办法的相对有效性:

ε-greedy的方法最终表现得更好,因为它们继续探索,并提高了它们识别最优行动的机会。ε=0.1方法探索了更多,通常会更早地找到最优操作,但选择它的时间不会超过91%。ε=0.01方法改进得更慢,但最终在两种性能指标上都优于ε=0.1方法。
另一方面,如果奖励方差为零,那么greedy的方法在尝试一次后就会知道每个动作的真实值。在这种情况下,greedy方法实际上可能表现最好,因为它很快就会找到最优动作,然后永远不会探索。

三、Incremental Implementation

对于上述讨论的简单情况,存在一个问题是,它的内存和计算需求会随着时间的推移而增长。也就是说,行动a后的额外奖励需要更多的记忆来存储它,并导致需要更多的计算来确定Qt(a)。

一般形式是:NewEstimate ← OldEstimate + StepSize [ Target − OldEstimate ] .

四、跟踪非平稳问题

当遇到有效的非平稳的强化学习问题时,在奖励方面,最近的奖励是更值得重视的。最流行的方法之一是使用一个恒定的步长参数α用于更新。

经过逐步迭代,可以得到Qk+1是过去奖励和Q的初始估计的加权平均值Q。

五、最优初始值

初始值,Q1(a),在某些情况下也会对学习的最终结果产生影响。

上图显示了使用Q1(a)=+5的greedy方法的性能。为了进行比较,也给出了一个与Q1(a)=0的ε-greedy方法。最初,乐观方法表现更差因为它探索更多,但最终表现更好因为它的探索随着时间的推移而减少。

然而,任何以任何特殊方式关注初始状态的方法都不太可能有助于处理一般的非平稳情况。


总结

本篇内容从强化学习的本质出发,以最简单的多臂老虎机问题为例引入greedy等相关办法的说明,并对其基本影响因素进行了讨论。

强化学习RL——多臂老虎机问题相关推荐

  1. ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例

    ML之RL:基于MovieLens电影评分数据集利用强化学习算法(多臂老虎机+EpsilonGreedy策略)实现对用户进行Top电影推荐案例 目录 基于MovieLens电影评分数据集利用强化学习算 ...

  2. 强化学习——day31 多臂老虎机MAB的代码实现(Python)

    多臂老虎机MAB的代码实现 2.3 算法基本框架搭建 2.4 epsilon贪心算法 2.4.1 参数为0.01的绘图 2.4.2 不同的参数 2.4.3 值随时间衰减的 epsilon-贪婪算法 2 ...

  3. 【科普】强化学习之多臂老虎机问题(bandit算法:softmax,random,UCB)

    本博客上的文章分为两类:一类是科普性文章,以通俗易懂的语言风格介绍专业性的概念及其应用场景(公式极少或没有),适合入门阶段.另一类是专业性文章,在科普阶段上做出详细的专业性数学推导,深刻理解其概念的内 ...

  4. 求助-强化学习基础-K-摇臂老虎机Python

    按照周志华西瓜书第16章K-摇臂赌博机的伪码编的程序: # -*- coding: utf-8 -*- """ e贪心和Softmax 2-摇臂赌博机 摇臂1:0.4概率 ...

  5. 强化学习——day12 多臂老虎机问题MAB

    在多臂老虎机(multi-armed bandit,MAB)问题(见图 2-1)中,有一个拥有 根拉杆的老虎机,拉动每一根拉杆都对应一个关于奖励的概率分布 .我们每次拉动其中一根拉杆,就可以从该拉杆对 ...

  6. 【强化学习】多臂老虎机——E_greedy、UCB、Gradient Bandit 算法 代码实现

    多臂老虎机 import numpy as np import matplotlib.pyplot as pltclass E_greedy:def __init__(self,arm_num=10, ...

  7. 强化学习之多臂老虎机(Multi-Armed-Bandit)问题

    一.问题背景 假设有一个老虎机有 nnn 个握把,每个握把 i" role="presentation" style="position: relative;& ...

  8. 强化学习RL学习笔记2-概述(2)

    强化学习笔记专栏传送 上一篇:强化学习RL学习笔记1-概述(1) 下一篇:强化学习RL学习笔记3-gym了解与coding实践 目录 强化学习笔记专栏传送 前言 Major Components of ...

  9. 主要内容: 本文提出了一种基于(ppo)的微电网最优调度方法。 该方法采用强化学习(RL)来学习调度策略,并积累相应的调度知识。 同时,引入ppo模型,将微电网调度策略动作从离散动作空间扩展到连续动作

    MATLAB代码:微电网 强化学习 关键词:微电网 强化学习 RL Reinforcement Learning 参考文档:<Optimal Scheduling of Microgrid Ba ...

  10. 【强化学习与机器人控制论文 1】基于深度强化学习的机械臂避障

    基于深度强化学习的机械臂避障 1. 引言 2. 论文解读 2.1 背景 2.2 将NAF算法用在机器人避障中 3. 总结 1. 引言 本文介绍一篇2018年发表在 European Control C ...

最新文章

  1. 寻找带环的链表的柄长
  2. id设置为10000开始
  3. 软件测试用python一般用来做什么-python软件测试
  4. 非常棒的jQuery排版用插件
  5. iOS开发-面试总结(十四)
  6. ORA-12545: Connect failed because target host or object does not exist
  7. 利用mybatis-generator自动生成代码
  8. Struts2自己定义拦截器实例—登陆权限验证
  9. pytorch中切换虚拟环境
  10. gnu.getopt java_c – 用于GNU getopt()的-W选项是什么?
  11. HP-Socket v5.4.4 发布,高性能跨平台网络通信框架
  12. skywalking调研相关资料整理
  13. Illustrator矢量图形软件2022Mac版
  14. 游戏服务器高性能设计-游戏设计与开发(3)
  15. 014-JVM-查看class文件的工具Binary viewer、ue、classlib Bytecode viewer
  16. leetcode刷题java之739. 每日温度
  17. sublime 实现浏览器预览功能
  18. 一图全解芯片制造的全过程
  19. 好东西,就要一起分享。
  20. antd 嵌套子表格

热门文章

  1. java技术英文名词读音_Java开发,Java development,音标,读音,翻译,英文例句,英语词典...
  2. 基于腾讯云cvm的云原生环境搭建
  3. 腾讯云云通信TLS后台API在mac上JAVA DEMO搭建
  4. 自学WEB开发第一天:工欲善其事,必先利其器。基于VB语言,纠结于VS和VS code之间
  5. 用命令设置 ip 地址
  6. 思考伯努利试验的两种组合思想
  7. 清华大学信息 计算机科学与技术,清华大学计算机科学与技术系导师简介:陈渝...
  8. Qt游戏编程——飞机大战——补充
  9. win10linux系统双系统,win10安装linux双系统的方法是什么_win10装linux双系统的方法...
  10. 关于goole浏览器出现页面崩溃情况的解决