你好,我是郭震(zhenguo)

今天介绍强化学习第九篇:Q-learning算法

前面我们介绍强化学习基本概念,马尔科夫决策过程,策略迭代和值迭代,这些组成强化学习的基础。

从今天开始逐步介绍常用强化学习算法,从最简单的Q-learning算法开始。简单并不代表不常用,有的简单会是经典,Q-learning算法就是这样的例子。

1 迷宫游戏

假设我们有一个迷宫地图,其中包含多个状态(格子),每个格子可以采取上、下、左、右四个动作进行移动。目标是从起始位置找到迷宫的出口,即到达终点位置。

首先,我们需要定义迷宫地图的状态和动作。状态可以表示为迷宫中的每个格子,动作可以表示为上、下、左、右四个方向。

如下图所示,对于图示白色格子,假定智能体走到这里,它只能向上、下运动,因为左右两侧是障碍物:

由此引出Q表,Q表用于存储每个状态动作对的Q值估计。

在图示迷宫中,Q表是一个二维表格,用于存储每个状态动作对的Q值估计。迷宫地图有4行4列,共有16个格子,且每个格子可以采取上、下、左、右四个动作,那么Q表的大小:[16,4] 二维表格。每一行对应着一个状态,每一列对应着一个动作。

Q表样子:

上     下     左     右
0  Q(0,0)  Q(0,1)  Q(0,2)  Q(0,3)
1  Q(1,0)  Q(1,1)  Q(1,2)  Q(1,3)
2  Q(2,0)  Q(2,1)  Q(2,2)  Q(2,3)
3  Q(3,0)  Q(3,1)  Q(3,2)  Q(3,3)
4  Q(4,0)  Q(4,1)  Q(4,2)  Q(4,3)
5  Q(5,0)  Q(5,1)  Q(5,2)  Q(5,3)
6  Q(6,0)  Q(6,1)  Q(6,2)  Q(6,3)
7  Q(7,0)  Q(7,1)  Q(7,2)  Q(7,3)
8  Q(8,0)  Q(8,1)  Q(8,2)  Q(8,3)
9  Q(9,0)  Q(9,1)  Q(9,2)  Q(9,3)
10 Q(10,0) Q(10,1) Q(10,2) Q(10,3)
11 Q(11,0) Q(11,1) Q(11,2) Q(11,3)
12 Q(12,0) Q(12,1) Q(12,2) Q(12,3)
13 Q(13,0) Q(13,1) Q(13,2) Q(13,3)
14 Q(14,0) Q(14,1) Q(14,2) Q(14,3)
15 Q(15,0) Q(15,1) Q(15,2) Q(15,3)

下面图是给每个状态编号后的示意图,更好帮助你理解Q表:

Q表里的每个值代表什么意义?

Q值表示在该状态下采取该动作所获得的长期回报估计。比如Q(11,2)表示在状态11下,采取动作编号2后的长期回报值。

2 归纳

借助上面迷宫游戏,我们归纳出Q-learning算法相关的抽象解释。

Q值定义:

Q值是一个表格,用于存储每个状态动作对的估计价值。对于给定的状态s和动作a,Q值表示在状态s执行动作a所获得的长期回报估计。

Q-learning算法核心之更新规则:

Q-learning使用迭代的方式更新Q值,通过不断更新Q值来逐步逼近最优策略。更新规则如下:

其中,表示在状态s执行动作a的值, 是学习率(0 < α <= 1), 是执行动作a后获得的即时奖励, 是折扣因子(0 <= <= 1), 是执行动作a后转移到的下一个状态,是在下一个状态下选择的动作,表示在下一个状态下所有可能动作中选择值最大的动作。

更新规则的含义是,通过将当前Q值与新估计的Q值加权平均,使Q值逐步收敛到最优值。其中, 控制了新估计值的权重, 控制了对未来回报的重视程度。

通过不断地执行更新规则,Q-learning算法能够逐步学习到最优的Q值,并根据Q值选择最佳的动作来达到最优策略。

3 Q-learning算法

下面是完整的Q-learning算法:

Step1:初始化Q表:对于每个状态-动作对(s, a),将Q(s, a)初始化为一个随机值或者初始值。

Step2:迭代更新Q值:

  • Step2.1 选择一个初始状态s。

  • Step2.2 在当前状态s下,根据一定策略选择一个动作a。例如可以使用ε-greedy策略,在一定概率ε内选择随机动作,否则选择具有最大Q值的动作。

  • Step2.3 执行动作a,观察获得的奖励r以及转移到的下一个状态s'。

  • Step2.4 根据Q值的更新规则,更新Q(s, a):

  • 将状态更新为下一个状态s',并重复以上步骤直到到达终止状态。

Step3 重复步骤Step2,直到达到指定的迭代次数或者满足停止条件。

Step4 返回学习到的Q表作为最优策略。

这个算法的核心是通过不断与环境的交互,根据即时奖励和未来奖励更新Q值,从而逐步学习到最优策略。在训练过程中,智能体通过不断尝试并观察结果,不断调整Q值,直到找到最优的动作选择策略。

感谢你的点赞和转发,让我更新更有动力

第九篇:强化学习Q-learning算法 通俗介绍相关推荐

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

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

  2. python强化学习之Q-learning算法

    强化学习是什么? 简单来说就是通过感知周围环境而行动,以取得最大化收益的一个过程. 其中Q-learning算法的感知状态为离散,无规律. 华丽的分割线------------------------ ...

  3. 强化学习(二):Q learning 算法

    强化学习(一):基础知识 强化学习(二):Q learning算法 Q learning 算法是一种value-based的强化学习算法,Q是quality的缩写,Q函数 Q(state,action ...

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

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

  5. 【ICML2018】63篇强化学习论文全解读

    https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/81230588 由全球最大中文IT社区CSDN与全球AI技术社区AICamp共同打造的 ...

  6. 深度强化学习-Double DQN算法原理与代码

    深度强化学习-Double DQN算法原理与代码 引言 1 DDQN算法简介 2 DDQN算法原理 3 DDQN算法伪代码 4 仿真验证 引言 Double Deep Q Network(DDQN)是 ...

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

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

  8. 强化学习 (Reinforcement Learning)

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

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

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

  10. 【强化学习】Q-Learning算法详解以及Python实现【80行代码】

    强化学习 在文章正式开始前,请不要被强化学习的tag给吓到了,这也是我之前所遇到的一个困扰.觉得这个东西看上去很高级,需要一个完整的时间段,做详细的学习.相反,强化学习的很多算法是很符合直观思维的. ...

最新文章

  1. 不用深度学习,怎么提取图像特征?
  2. python语言可以在哪系统操作-python能检测到它运行的是哪个操作系统?
  3. Effective C# 原则16:垃圾最小化(译)
  4. JMS学习七(ActiveMQ之Topic的持久订阅)
  5. arm cpu 超频_树莓派 400 超频方法介绍
  6. AD数据库的备份与还原
  7. Oracle 索引失效的六大限制条件
  8. jeecg3.5的一个bug
  9. Java实现贪吃蛇游戏【代码】
  10. linux运维工程师的发展,Linux运维工程师发展前景
  11. Oracle数据库数据同步方法
  12. Word文档的基本操作
  13. 大数据是让人幸福的科学
  14. 电容笔有什么用?适合iPad画画的电容笔推荐
  15. Notification通知全文 7.0 and 8.0通知 ,横幅 ,显示,抖动,响铃
  16. php initlize,PHP 反序列化漏洞入门学习笔记
  17. 利用随机森林对特征重要性进行评估(公式原理)
  18. 利用 OpenGL ES 给视频播放器和相机做个字符画滤镜
  19. 计算机电子科技生产质量标准,微型数字电子计算机+质量分等标准.pdf
  20. 100集华为HCIE安全培训视频教材整理 | IPSec VdPdN高可靠性案例及配置(四)

热门文章

  1. ISO26262解析(五)——FTA
  2. 《HTML 5+CSS 3入门经典》——第2章 去其糟粕,取其精华——HTML 5 的元素与属性...
  3. 论信息系统项目的整体管理
  4. 如何进行科学的技术选型
  5. 【墨者学院】WebShell文件上传漏洞分析溯源(第4题)
  6. win10备份为wim_泰哥一键备份还原下载-泰哥ghostv1.0.1.14 官方版
  7. 在HTML网页中怎么使用jquery,怎么调用jquery
  8. 数据库设计开源免费软件EZDML使用教程
  9. TCP 中的Sequence Number
  10. 传播特性与频率的关系