重温强化学习之无模型学习方法:蒙特卡洛方法
1、无模型方法简介
无模型属于学习方法的一种,(学习和规划),需要智能体和环境进行交互,一般采用样本备份,需要结合充分的探索
MDPs中未知P,R-无模型
交互是为了更加了解环境,了解状态
动态规划是已经知道模型,没有模型通过采样的方法,也就是样本备份
从经验中学习
和动态规划的区别:
无模型学习:
1、未知环境模型
2、需要与环境进行交互,有交互成本(时间、金钱)
3、样本备份
4、异步备份(更新状态值函数不需要等待更新其它状态值函数)
5、需要充分的探索(不进行充分探索,学不到最优策略)
6、两个策略(行为策略和目标策略)
动态规划:
1、已知环境模型
2、不需要直接交互,直接利用环境模型推导
3、全宽备份
4、同步和异步
5、无探索(只需要做演算就可以)
6、一个策略
2、在策略和离策略
行为策略是智能体与环境进行交互的策略,(用来产生样本)
目标策略是我们学习的策略,即Vpi 时的下标
在策略(on-policy)学习:
行为策略和目标策略是同一个策略,直接使用样本统计属性去估计总体,更简单且收敛性更好
数据利用性更差(只有智能体当前交互的样本能够被利用)
限定学习过程中的策略是随机性策略
离策略(off-policy)学习:
行为策略和目标策略不是同一个策略
一般行为策略选用随机性策略,目标策略选用确定性策略
需要结合重要性采样才能使用样本估计总体
方差更大,收敛性更差
数据利用性更好(可以使用其它智能体交互的样本,例如学围棋可以用棋谱样本用)
行为策略比目标策略更具备探索性,即,在每个状态下,目标策略的可行动作是行为策略可行动作的子集
重要性采样:
例子:
重要性采样公式:
离策略学习中的重要性采样:
3、蒙特卡洛方法(Monte Carlo,MC)
蒙特卡洛树,蒙特卡洛在树中采样一条轨迹
方差比较大,树中每一个节点有一定随机性,轨迹比较长,中间随机性较大,
做一次实验,可信性比较差
样本备份
动态规划方法:
考虑所有后继状态以及所做的动作
一步备份,只考虑一步情况,蒙特卡洛考虑到最终的状态
4、蒙特卡洛评价
蒙特卡洛不使用贝尔曼方程
在策略蒙特卡洛评价:
First-visit MC策略评价:
Every-visit MC策略评价:
对Q函数的MC方法:
离策略蒙特卡洛评价:
MC特点小结:
5、增量式蒙塔卡洛算法
为什么需要增量式蒙特卡洛?
增量式MC更新
平均值更新
常量步长:
特点:
6、蒙特卡洛优化
广义策略迭代:
MC中的广义策略迭代
问题一:使用哪个值函数?Q函数
问题二:是否可以贪婪策略提升?
MC虽然利用过去的经验数据,但是某些状态并未遍历到,遍历不够充分,置信度不够
-贪婪策略
策略提升
MC策略迭代:
增量式策略评价:
每条轨迹
7、蒙塔卡洛算法引申
重温强化学习之无模型学习方法:蒙特卡洛方法相关推荐
- 重温强化学习之无模型学习方法:时间差分方法
1.时间差分方法简介 强化学习中最核心也是最新奇的想法 混合DP和MC思想: 与MC类似,TD也从历史经验中学习:与DP类似使用后继状态的值函数更新当前状态的值函数 蒙特卡洛只是适用于片 ...
- 重温强化学习之无模型学习方法:TD(lambda)
1.多步自举 一步TD:TD(0),白色圈V函数,黑色Q函数,后继状态V函数更新当前状态V函数,采样,智能体和环境进行交互.根据状态采取一个动作,转为后继状态,环境给一个奖励-->采样一步得到后 ...
- 强化学习4——无模型预测(蒙特卡洛法和TD法)
文章目录 强化学习--无模型预测与控制 无模型的概念 无模型预测 蒙特卡洛法 基本蒙特卡洛 改进增量MC更新算法 动态规划(DP)与蒙特卡洛(MC)的区别 Temporal Difference(TD ...
- [论文]基于强化学习的无模型水下机器人深度控制
基于强化学习的无模型水下机器人深度控制 摘要 介绍 问题公式 A.水下机器人的坐标框架 B.深度控制问题 马尔科夫模型 A.马尔科夫决策 B.恒定深度控制MDP C.弯曲深度控制MDP D.海底追踪的 ...
- 基于模型的强化学习比无模型的强化学习更好?错!
作者 | Carles Gelada and Jacob Buckman 编辑 | DeepRL 来源 | 深度强化学习实验室(ID:Deep-RL) [导读]许多研究人员认为,基于模型的强化学习(M ...
- 强化学习之无模型方法一:蒙特卡洛
无模型方法(model-free) 无模型方法是学习方法的一种,MDPs中如果P,R未知,则用无模型方法.该方法需要智能体与环境进行交互(交互的方式多样),一般采用样本备份,需要结合充分的探索. 由于 ...
- 强化学习(四) - 无模型学习(MC、TDL)
上一节讲的是在已知模型的情况下,通过动态规划来解决马尔科夫决策过程(MDP)问题.具体的做法有两个:一个是策略迭代,一个是值迭代. 从这一节开始,我们将要进入模型未知的情况下,如何去解决MDP问题. ...
- 强化学习4——无模型控制model-free control (On-Policy learning:Sarsa和Off-policy learning:Q-learning)
文章目录 前言 无模型控制 问题 思路 方法 On-Policy learning MC Sarsa Off-policy learning Q-learning On-Policy learning ...
- 重温强化学习之基于模型方法:动态规划
基于模型的强化学习,可以用动态规划求解 动态规划要求知道马尔科夫五元组:状态集.动作集.状态转移矩阵.奖励.折扣因子 ---使用贝尔曼方程 1.前言 什么是动态规划? 2.策略评价 3.策略提升 ...
最新文章
- 记一次性能优化,单台 4 核 8G 机器支撑 5 万 QPS
- JS弹出窗口窗口的位置和大小
- wince 6中硬键盘 输入法解决
- DAMS2019中国数据智能管理峰会将于7月在上海召开!
- Python基础教程:类的特殊成员及高级特性
- 【Pycharm】专业版连接xshell 远程服务器
- HDU5726 线段树求解区间GCD
- 员工(类的多态性实验)
- FileUploadUtil
- 在dialog中使用EditText键盘弹不起来的解决方法
- python输入多个坐标点_判断多个坐标是否在同一条直线上|Python练习系列[13]
- 笔试题--Multicore简答题(下)
- 技术实践丨PostgreSQL插件之pg_dirtyread “闪回查询“
- pandas groupby count_数据分析14-利用pandas进行数据分组
- Win10 Ubuntu子系统(内嵌ubuntu18.04)运行32bit Linux原生程序 解决Exec format error错误
- adb命令查看报名和查看手机分辨率
- Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针
- 【git体验】git基础-3目录之间关系
- cm agent主机异常Error, CM server guid updated, expected
- XMPP即时通讯资料记录
热门文章
- C#学习基本概念之匿名方法及Lambda表达式
- C#创建Oracle中的几何对象:点、线、面
- 嵌入式linux开发环境搭建——VirtualBox虚拟机网络环境解析
- 基于8086CPU微处理器的汇编学习之PUSH、POP指令
- 一个合格网络管理员的成长经历
- 讲解Linux服务器被黑解决方法
- secureCRT上打印乱码的一种起因
- 9.25 360校招面试题总结? 自己面试 c++后端开发,服务器方向,探索部门。
- PAT甲级1065 A+B and C (64bit):[C++题解]爆long long,熟悉计算机存储有符号数原理
- 关于Android中XML解析方式