一.Q-learning

q学习是强化学习中一种很经典的算法。

核心公式

Q(S,A)是当前状态下选择A的Q值。是学习率,这决定了Q值更新的快慢,一般我们都取1。是折扣因子,表示未来对现在的影响多少。

算法过程:

Q-learning在训练的时候,ϵ−greedy策略被用来选择动作。机器随机生成一个数,如果这个数超过ϵ, 那么就随机选择一个动作。反之,就选择当前Q值最大的动作,更新Q表。

得到Q表之后,当我们选择动作的时候,都是选择Q值最大的动作。

Q学习是一种长期决策,这一种长期而非贪心的思想就体现在gama上,他的Q值,不仅包括现在的Q值,得到的奖赏,还有选择这个动作之后的状态的未来最大动作Q值。

误区与重点

1.我在学习q-learning的时候,最容易迷惑的是怎么表示q表,我翻阅了很多网站,发现很少有人画出来。Q值表示的不是状态,还是这个状态下选择的动作。

Q值 动作一 动作二 动作三 动作四
状态一
状态二
状态三

2.q学习和马尔科夫决策过程是不同的。

q学习是基于马尔科夫过程的,但是又不完全一样。因为马尔科夫决策是必须知道状态转移概率的,不知道状态转移概率的马尔科夫叫部分可观察马尔科夫,这种问题传统的方法是很难求解的。但是dqn不需要状态转移概率,这也就导致dqn能解决的问题更多。

3.误认为q学习能解决所有的问题。

当状态比较多的时候,q表需要的内存就很大,收敛也会缓慢,这就导致q学习被深度q学习替代。

二.deep Q-learning

深度q学习就是用神经网络去替代q表。现在的dqn的种类很多,同时也衍生出很多不同的深度强化学习模型。这里我们介绍最简单的模型:

神经网络代替q表,计算出不同的q值。

有兴趣的可以直接看我的代码:

https://github.com/Jinweiwei1997/AoI_NOMA.git

如果有需要,我会截图附上代码的流程。

深度Q学习——从入门到实践相关推荐

  1. 强化学习(八) - 深度Q学习(Deep Q-learning, DQL,DQN)原理及相关实例

    深度Q学习原理及相关实例 8. 深度Q学习 8.1 经验回放 8.2 目标网络 8.3 相关算法 8.4 训练算法 8.5 深度Q学习实例 8.5.1 主程序 程序注释 8.5.2 DQN模型构建程序 ...

  2. 倒立摆_DQN算法_边做边学深度强化学习:PyTorch程序设计实践(5)

    倒立摆_DQN算法_边做边学深度强化学习:PyTorch程序设计实践(5) 0.相关系列文章 1.Agent.py 2.Brain.py 3.Environment.py 4.Val.py 5.Rep ...

  3. 第六章 利用深度Q学习来实现最优控制的智能体

    文章目录 前言 改进的Q-learning代理 利用神经网络近似q函数 使用PyTorch来实现浅层Q网络 实现Shallow_Q_Learner Experience replay 实现the ex ...

  4. 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)

    迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...

  5. Keras深度学习实战——使用深度Q学习进行SpaceInvaders游戏

    Keras深度学习实战--使用深度Q学习进行SpaceInvaders游戏 0. 前言 1. 问题与模型分析 2. 使用深度 Q 学习进行 SpaceInvaders 游戏 相关链接 0. 前言 在& ...

  6. 强化学习笔记(4)-深度Q学习

    以下为学习<强化学习:原理与python实现>这本书的笔记. 在之前学习到的强度学习方法中,每次更新价值函数只更新某个状态动作对的价值估计.但是有些情况下状态动作对的数量非常大,不可能对所 ...

  7. 基于深度Q学习的雅达利打砖块游戏博弈

    Atari打砖块游戏简介 球碰到砖块.棒子与底下以外的三边会反弹,落到底下会失去一颗球,把砖块全部消去就可以破关. 始祖是史蒂夫·乔布斯与他的好友沃兹(苹果公司的另一位创始人)于1975年的夏末,花了 ...

  8. 使用双重深度q学习发现非常规的厄运策略

    介绍 (Introduction) Over the last few articles, we've discussed and implemented deep Q-learning (DQN) ...

  9. 深度学习和dqn_深度Q学习方面的改进:双重DQN决斗,优先体验重播和固定…

    深度学习和dqn by Thomas Simonini 通过托马斯·西蒙尼(Thomas Simonini) 深度Q学习方面的改进:双重DQN,优先体验重播和固定Q目标 (Improvements i ...

  10. 实战深度强化学习DQN-理论和实践

    全文共3061字,11张图,预计阅读时间15分钟. Q-Learning回顾 Q-learning 的 算法过程如下图所示: 在Q-learning中,我们维护一张Q值表,表的维数为:状态数S * 动 ...

最新文章

  1. 刷墙(左蓝右红或同一色)
  2. 【nginx】从主页搭建看nginx常用配置
  3. open_links_per_instance 和 open_links 参数说明
  4. 二分查找(划分时左右元素个数不相等)解析+代码
  5. Codeforces Round #656 (Div. 3)
  6. NodeMailer
  7. Hbase 2.x Region in transition (永久RIT) 异常解决
  8. 计组之数据运算:12、加法器设计
  9. 在Powerbuilder中播放Flash动画
  10. vijos1325 桐桐的糖果计划
  11. IE8/9的几个前端bug解决方案
  12. Mac关闭SIP模式 开启root
  13. 深度神经网络 卷积神经网络_改善深度神经网络
  14. hualinux0.9 网络篇:CCNA学习及思科模拟器选择
  15. 57、RapidJson存储Base64数据和空间释放
  16. 苹果笔记本链接刷卡打印机教程
  17. Vant(有赞)UI框架爬坑记——图片轮播+预览
  18. 最新爱网外链网盘V5.0版 全新界面 支持图片违规检测
  19. 成都计算机系统维护专业中专,成都计算机应用专业中专招生简章
  20. ubuntu 18.04 安装

热门文章

  1. QRCode.js生成二维码
  2. FreeRTOS-TaskNotify
  3. 怎么把小写字母(英文)转换成大写
  4. 边缘检测之非极大值抑制原理
  5. 追赶法 matlab编程,科学网—数值分析----三对角方程组的追赶法matlab程序 - 殷春武的博文...
  6. 字节跳动的面试算法题,实在太变态了
  7. C语言 - 常见面试题整理
  8. 信息系统项目的可行性研究报告
  9. 机器学习-DBSCAN密度聚类
  10. matlab机器学习之朴素贝叶斯实例分析