强化学习笔记:马尔可夫过程 &马尔可夫奖励过程_UQI-LIUWJ的博客-CSDN博客

和MC方法(强化学习笔记:Q-learning_UQI-LIUWJ的博客-CSDN博客)类似,时分TD方法也是 model-free 的,不需要 MDP 的转移矩阵和奖励函数。

TD 可以从不完整的 episode 中学习,同时也结合了Policy evaluation 中bootstrapping 的思想。

1 TD(0)算法

最简单的算法是 TD(0),每往前走一步,就做一步 bootstrapping,用得到的估计回报(estimated return)来更新上一时刻的值。

估计回报被称为 TD target,TD target 是带衰减的未来收益的总和。

TD error(误差) 

可以类比于 Incremental Monte-Carlo 的方法,写出如下的更新方法:

1.1 TD(0)和MC的比较

在 MC 里面Gi,t​ 是实际得到的值(可以看成 target),因为它已经把一条轨迹跑完了,可以算每个状态实际的 return。

TD(0) 没有等轨迹结束,往前走了一步,就可以更新价值函数。

例如,你想获得开车去公司的时间,每天上班开车的经历就是一次采样。假设今天在路口 A 遇到了堵车,

  • TD 会在路口 A 就开始更新预计到达路口 B、路口 C ⋯⋯,以及到达公司的时间;
  • 而 MC 并不会立即更新时间,而是在到达公司后,再修改到达每个路口和公司的时间。

TD 能够在知道结果之前就开始学习,相比 MC,其更快速、灵活。

1.2 TD(0)相比于MC的优势

TD 可以在线学习(online learning),每走一步就可以更新,效率高 MC 必须等游戏结束才可以学习
TD 可以从不完整序列上进行学习 MC 只能从完整的序列上进行学习
TD 可以在连续的环境下(没有终止)进行学习 MC 只能在有终止的情况下学习
TD 利用了马尔可夫性质,在马尔可夫环境下有更高的学习效率

MC 没有假设环境具有马尔可夫性质,利用采样的价值来估计某一个状态的价值,在不是马尔可夫的环境下更加有效。

2 N-step TD

  • 我们可以把 TD 进行进一步的推广。之前是只往前走一步,即 one-step TD,TD(0)。

  • 我们可以调整步数,变成 n-step TD。比如 TD(2),即往前走两步,然后利用两步得到的 return,使用 bootstrapping 来更新状态的价值。

  • 这样就可以通过 step 来调整这个算法需要多少的实际奖励和 bootstrapping。

3 DP (Policy evaluation) ,MC 和TD的异同

MC  DP TD
Bootstrapping:更新时使用了估计

MC 没用 bootstrapping,因为它是根据实际的 return 来更新。

DP 用了 bootstrapping。

TD 用了 bootstrapping。

Sampling:更新时通过采样得到一个期望

MC 是纯 sampling 的方法。

DP 没有用 sampling,它是直接用 Bellman expectation equation 来更新状态价值的。

TD 用了 sampling。
是否有偏估计 无偏估计 有偏估计

  • 如果 TD 需要更广度的 update,就变成了 DP(因为 DP 是把所有状态都考虑进去来进行更新)。
  • 如果 TD 需要更深度的 update,就变成了 MC。
  • 右下角是穷举的方法(exhaustive search),穷举的方法既需要很深度的信息,又需要很广度的信息。

强化学习笔记:Q-learning :temporal difference 方法相关推荐

  1. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(复杂迷宫)的宝藏位置

    RL之Q Learning:利用强化学习之Q Learning实现走迷宫-训练智能体走到迷宫(复杂迷宫)的宝藏位置 目录 输出结果 设计思路 实现代码 测试记录全过程 输出结果 设计思路 实现代码 f ...

  2. RL之Q Learning:利用强化学习之Q Learning实现走迷宫—训练智能体走到迷宫(简单迷宫)的宝藏位置

    RL之Q Learning:利用强化学习之Q Learning实现走迷宫-训练智能体走到迷宫(简单迷宫)的宝藏位置 目录 输出结果 设计思路 实现代码 测试记录全过程 输出结果 设计思路 实现代码 f ...

  3. mdp框架_强化学习中q learning和MDP的区别是什么?

    MDP通常是指一种用转移概率描述连续不确定概率过程的数学框架,是强化学习中最基础的概念,很多强化学习的算法都是在把问题抽象为一个MDP之后再想办法求解的. 而q-learning是求解强化学习问题的算 ...

  4. 一种将 Tree-LSTM 的强化学习用于连接顺序选择的方法

    [导读] 本篇博客讲解的是 2020 年由清华大学李国良教授团队发表在 ICDE 上的论文,介绍它所提出的算法与实验结果,并结合实际情况给出一些思考. 原文链接: http://dbgroup.cs. ...

  5. Q学习(Q learning) 强化学习

    Q学习(Q learning) 强化学习的简单例子 Matlab实现 可视化_Morty 的挖坑记录-CSDN博客 强化学习(MATLAB) - 叮叮当当sunny - 博客园

  6. 学习笔记|强化学习(Reinforcement Learning, RL)——让AlphaGo进化得比人类更强

    文章目录 1. 题外话:人类棋手的最后赞礼 2. 强化学习概述 2.1 强化学习的目标也是要找一个Function 2.2 强化学习的三个基本步骤 2.2.1 定义一个function 2.2.2 定 ...

  7. 深度强化学习笔记02-马尔可夫链

    深度强化学习笔记02-马尔可夫链 这几天杂事比较多,看了一些相关内容,但是没有时间形成笔记,此笔记复制与datawhale的MDP一节,后期自己学习填补. MDP [外链图片转存失败,源站可能有防盗链 ...

  8. 强化学习笔记:Sarsa算法

    1 Sarsa(0) Sarsa算法和TD类似,只不过TD是更新状态的奖励函数V,这里是更新Q函数强化学习笔记:Q-learning :temporal difference 方法_UQI-LIUWJ ...

  9. 《EasyRL》强化学习笔记

    文章目录 概览 基本概念 系统构成 Agent与环境 策略 奖赏函数 值函数 环境模型 强化学习分类 强化学习与监督学习|非监督学习的区别 例子:playing pong 新技术:深度强化学习 马尔科 ...

最新文章

  1. python练习题实例_Python 练习实例65
  2. 西瓜创客张平曦:从商业目标出发解决数据治理中的困境
  3. ORA-12154/ORA-12560 可以尝试的解决办法
  4. 设置兼容性[指定IE浏览器渲染方式]
  5. python keyerror_python 日常笔记 - namedtuple
  6. yum 安装mysql数据库
  7. 作者:陈兴鹏(1963-),男,兰州大学资源环境学院教授、博士生导师。
  8. flutter向上动画弹出菜单效果
  9. Java 学习经验[转]
  10. 精品:Spline导数及曲率计算(判断曲线的弯曲程度)
  11. ASP.Net在web.config中设置上传文件的大小方法
  12. 目标检测 SSD网络结构
  13. Unity资源打包(AssetBundle)
  14. Linux下用C语言实现文件的写入
  15. MySQL8.0.17 - Multi-Valued Indexes 简述
  16. 联想笔记本查看电池寿命、近期用电情况和续航估计报告
  17. Django3+Vue美多商城项目的总结
  18. 2019年信息安全工程师考试下午真题及答案
  19. 【数据实战】足球运动员身价估计
  20. win11系统中cmd窗口cd进行路径切换

热门文章

  1. RxAndroid2 / RxJava2简单的CompletableObserver
  2. Fedora 18 在线升级至 Fedora 19 命令步骤
  3. PHP获取当前域名$_SERVER['HTTP_HOST']和$_SERVER['SERVER_NAME']的区别
  4. 常见数据库的Connection URL
  5. ISA Server***检测及配置
  6. 《算法竞赛进阶指南》打卡-基本算法-AcWing 99. 激光炸弹:二维前缀和
  7. linux 修改分辨率lcd_16.Linux-LCD驱动(详解)
  8. 希尔排序(ShellSort) c源码
  9. html特殊文字效果,HTML几个特殊的属性标签的使用介绍
  10. mysql 设置电脑时间设置_怎样设置mysql密码