目录

  • Q-Learning(off-policy)
    • 概述
    • 算法流程
    • Q-Learning vs Sarsa
    • 小结

强化学习笔记,内容来自 刘建平老师的博客

Q-Learning(off-policy)

概述

关键词: 时序差分、model-free、off-policy、ϵ-greedy、价值迭代

​ 给定强化学习的5个要素:状态集S, 动作集A, 即时奖励R,衰减因子γ, 探索率ϵ, 求解最优的动作价值函数q∗和最优策略π∗

​ 通过价值函数的更新,来更新策略,通过策略来产生新的状态和即时奖励,进而更新价值函数。一直进行下去,直到价值函数和策略都收敛。

​ 首基于状态S,用ϵ−greedy策略选择到动作A,然后执行动作A,得到奖励R,并进入状态S′,此时如果是Sarsa,会继续基于状态S′,用ϵ−greedy策略选择A′,然后来更新价值函数。但是Q-Learning则不同。对于Q-Learning,它基于状态S′,没有使用ϵ−greedy策略而是使用贪婪策略选择A′,也就是说,选择使Q(S′,a)最大的a作为A′来更新价值函数而不存在探索的可能:

off-policy:

​ 价值函数的更新和新动作的选择使用两个不同的策略policy,Q-learning按照ε-greedy策略选择动作、按照贪婪greedy策略更新 价值函数,即更新价值函数的公式中用的A‘ 是贪婪策略选择的而不是ε-greedy。这是Q-learning与Sarsa的本质区别。

算法流程

输入:迭代轮数T、状态集S、动作集A、步长α、衰减因子γ、探索率ϵ

输出:所有的状态和动作对应的价值Q

​ 1. 随机初始化所有的状态和动作对应的价值Q,终止状态的Q初始化为0

​ 2. for i in [ 1, T ]:

​ a)初始化S为当前序列的第一个状态

​ b)用ε-greedy策略在当前状态S选择出动作A

​ c)执行动作A,由环境得到新状态S’ 和奖励R

​ d)按公式更新价值函数

​ e)前进一步:S = S’

​ f)if S’是终止状态,break;else 跳回步骤b

Q-Learning vs Sarsa

​ Q-Learning直接学习的是最优策略,而Sarsa在学习最优策略的同时还在做探索。这导致在学习最优策略的时候,如果用Sarsa,为了保证收敛,需要制定一个策略,使ϵ−greedy策略的超参数ϵ在迭代的过程中逐渐变小。Q-Learning没有这个烦恼。

另外一个就是Q-Learning直接学习最优策略,但是最优策略会依赖于训练中产生的一系列数据,所以受样本数据的影响较大,因此受到训练数据方差的影响很大,甚至会影响Q函数的收敛。Q-Learning的深度强化学习版Deep Q-Learning也有这个问题。

在学习过程中,Sarsa在收敛的过程中鼓励探索,这样学习过程会比较平滑,不至于过于激进,导致出现像Q-Learning可能遇到一些特殊的最优“陷阱”。比如经典的强化学习问题"Cliff Walk"。

在实际应用中,如果是在模拟环境中训练强化学习模型,推荐使用Q-Learning,如果是在线生产环境中训练模型,则推荐使用SARSA。

小结

​ 对于Q-Learning和Sarsa这样的时序差分算法,对于小型的强化学习问题是非常灵活有效的,但是在大数据时代,异常复杂的状态和可选动作,使Q-Learning和Sarsa要维护的Q表异常的大,甚至远远超出内存,这限制了时序差分算法的应用场景。在深度学习兴起后,基于深度学习的强化学习开始占主导地位。

【强化学习】Q-Learning相关推荐

  1. 初学者的强化学习q learning和sarsa

    Reinforcement learning is a fast-moving field. Many companies are realizing the potential of RL. Rec ...

  2. 强化学习q学习求最值_通过Q学习更深入地学习强化学习

    强化学习q学习求最值 by Thomas Simonini 通过托马斯·西蒙尼(Thomas Simonini) 通过Q学习更深入地学习强化学习 (Diving deeper into Reinfor ...

  3. 强化学习q学习求最值_Q学习简介:强化学习

    强化学习q学习求最值 by ADL 通过ADL Q学习简介:强化学习 (An introduction to Q-Learning: reinforcement learning) This arti ...

  4. 强化学习 (Reinforcement Learning)

    强化学习: 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益.其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能 ...

  5. 强化学习 Reinforcement Learning(三)——是时候用 PARL 框架玩会儿 DOOM 了!!!(下)

    强化学习 Reinforcement Learning(三)-- 是时候用 PARL 框架玩会儿 DOOM 了!!!(下) 本文目录 强化学习 Reinforcement Learning(三)-- ...

  6. 强化学习(Reinforcement Learning)入门知识

    强化学习(Reinforcement Learning) 概率统计知识 1. 随机变量和观测值 抛硬币是一个随机事件,其结果为**随机变量 X ** 正面为1,反面为0,若第 i 次试验中为正面,则观 ...

  7. 强化学习(Reinforcement Learning)入门学习--01

    强化学习(Reinforcement Learning)入门学习–01 定义 Reinforcement learning (RL) is an area of machine learning in ...

  8. 增强学习(五)----- 时间差分学习(Q learning, Sarsa learning)

    接下来我们回顾一下动态规划算法(DP)和蒙特卡罗方法(MC)的特点,对于动态规划算法有如下特性: 需要环境模型,即状态转移概率PsaPsa 状态值函数的估计是自举的(bootstrapping),即当 ...

  9. 强化学习(Reinforcement Learning)

    背景 当我们思考学习的本质时,我们首先想到的可能是我们通过与环境的互动来学习.无论是在学习开车还是在交谈,我们都清楚地意识到环境是如何回应我们的行为的,我们试图通过行为来影响后续发生的事情.从互动中学 ...

  10. 强化学习(Reinforcement Learning)中的Q-Learning、DQN,面试看这篇就够了!

    文章目录 1. 什么是强化学习 2. 强化学习模型 2.1 打折的未来奖励 2.2 Q-Learning算法 2.3 Deep Q Learning(DQN) 2.3.1 神经网络的作用 2.3.2 ...

最新文章

  1. 爬虫爬取在线小说阅读网站详解
  2. echarts——父元素宽度100%,但canvas宽度100px
  3. lokijs可以用mysql_loki 数据库详解
  4. SpringMVC与Mybatis整合---SpringMVC学习笔记(六)
  5. 简述hdfs工作原理_HDFS原理篇
  6. 姑娘美丽人体日志博客_60个美丽诱人的博客设计
  7. PICK完成,但是状态依然为BACKORDER
  8. 2013计算机学科排名,2013年世界大学学科排名 计算机科学.pdf
  9. Unity编辑器(Editor)的问题全解以及使用
  10. MySQL 数据库管理之 --- SQL 语言进阶一
  11. java倒计时_详解java倒计时三种简单实现方式
  12. 真实渗透改编--综合渗透 sql注入写马+文件上传+udf提权 安鸾靶场SQL注入学习
  13. 【Antv g6】react hook下的useEffect执行初始化渲染 图表渲染了2次的原因及解决办法
  14. 十年总结(15):产品化-有心杀敌,无力回天
  15. java如何在控制台重定向_R - 控制台输出重定向不能(可靠地)从函数调用中工作...
  16. 杨辉三角 118.杨辉三角 119.杨辉三角Ⅱ(数学解法)
  17. grant with admin option and grant with grant option
  18. Android实现SIM卡2拨打,android – 在双SIM卡设备中使用指定的SIM拨...
  19. 【支付FM】个人免签-微信支付宝云闪付 个人二维码收款即时到账
  20. 【java毕业设计】基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

热门文章

  1. 11 个 Visual Studio 代码性能分析工具
  2. Android下/data/data/package_name/files读写权限
  3. C#中格式化数据的输出
  4. windows下 apache 二级域名相关配置
  5. UA MATH 571B 回归 QE练习题 一元线性回归理论
  6. 3d max 的 Gamma 和 LUT 首选项学习
  7. 802.11成帧封装实现(四)
  8. 设计模式学习笔记-状态模式
  9. ORACLE设置用户密码不过期
  10. 三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学