增强学习笔记第五章蒙特卡洛方法

米老虎M 米老虎M     2022-09-21     777

关键词:

5.1 蒙特卡洛预测

分为两种:First-Visit MC和Every-Visit MC,前者用的更多。后者用于函数近似和Eligibility Traces

5.2 蒙特卡洛评估action value

如果没有模型(即不知道每个a会得到什么样的s),则应该使用action value而不是state value

5.3 蒙特卡洛控制

这里要用到广义策略迭代方法。即交替更新价值函数和策略。经典方法有两个假设:任意起始点和无穷片段。先去掉后一个解释,就是利用GPI中的思想,不再等待完整的评估之后再改进策略,而是每走一步都更新actoin value

5.4 去掉任意起始点的假设

分为两种方法:on-policy和off-policy。前者在学习和最终应用的策略是同一个。最常见的是$\epsilon$-soft策略

 

5.5 off-policy预测:重要性取样

定义两个策略:目标策略$\pi$和行为策略$\mu$。对于目标策略中任意可能出现的动作(s,a),行为策略中必须出现。

 

对于策略$\pi$,产生某状态-动作序列的概率是:

那么对两个不同策略来说,它们的比值为:

为表达方便,我们把多个episode首尾相接成单个episode。得出目标策略的状态价值函数的表达式:

前者称为普通的重要性取样,后者称为加权的重要性取样。前者是无偏的,但是方差较大甚至无限。后者有偏(但渐进于0),但方差较小且有限。后者用的更多。

5.6 增量实现(策略评估,计算v)

 对式子:

我们给出增量实现的版本:

程序如下:

 5.7 off-policy蒙特卡洛控制:在上面的基础上增加一行更新策略

5.8 Return-Specific重要性取样

对于$\gamma$特别小的来说,普通重要性采样将导致较大误差。考虑一个长度为100的序列,当$\gamma=0$时,事实上return只包含第一个reward,但是重要性采样比例却会考虑进整个100的序列。因此需要修正:

 

《python深度学习》第五章-6(可视化类激活图)读书笔记(代码片段)

《Python深度学习》第五章-6(可视化类激活图)读书笔记卷积神经网络学到的表示非常适合可视化,很大程度上是因为它们是视觉概念的表示\\colorred视觉概念的表示视觉概念的表示。接下来介绍3种可视化方法。事中\\... 查看详情

安卓权威编程指南-第五章学习笔记(两个activity)

学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正。 IntentActivityDemo学习笔记题目:ActivityA登录界面(用户名、密码、登陆... 查看详情

o'reill的svg精髓(第二版)学习笔记——第五章

第五章文档结构 5.1结构与表现XML的目标之一便是提供一种能将结构从视觉表示中独立出来的方法。但是不幸的是,关于XML的很多讨论都强调结构而非表现。我们将通过详细讨论如何在SVG中指定表现来纠正这一错误。5.2在SVG中... 查看详情

java第五章循环结构学习笔记

1.for语法:  for(1参数初始化,2,条件,3,参数叠加){4.循环操作}2.break:改变程序的控制流,多用于循环中,结合条件机构和分支结构一起使用。  作用,跳出整个循环; continue:只能用于循环中,跳过循环中剩... 查看详情

第五章简易笔记

第五章-继承1.继承已存在的类就是复用(继承)这些类的方法和域。在此基础上,还可以添加一些新的方法和域,以满足新的需求。2.反射是指在程序运行期间发现更多的类及其属性的能力。3.在java中所有继承都是公有继承。4.... 查看详情

《python深度学习》第五章-1(cnn简介)读书笔记(代码片段)

第五章深度学习用于计算机视觉5.1 卷积神经网络简介5.1.1卷积神经网络对MNIST分类使用卷积神经网络对MNIST数字进行分类,在第2章用密集连接网络做过(当时的测试精度为97.8%)。它是Conv2D层和MaxPooling2D层的堆叠。实... 查看详情

《python深度学习》第五章-5(可视化过滤器)读书笔记(代码片段)

5.4 卷积神经网络的可视化卷积神经网络学到的表示非常适合可视化,很大程度上是因为它们是视觉概念的表示\\colorred视觉概念的表示视觉概念的表示。接下来介绍3种可视化方法。事中\\colorblue事中事中:可视化卷积神... 查看详情

《python深度学习》第五章-4(可视化中间激活层)读书笔记(代码片段)

5.4 卷积神经网络的可视化卷积神经网络学到的表示非常适合可视化,很大程度上是因为它们是视觉概念的表示\\colorred视觉概念的表示视觉概念的表示。接下来介绍3种可视化方法。可视化卷积神经网络的中间输出(中间... 查看详情

第五章笔记

...                  循环结构(一)学习本章会用到的单词:while:循环,当...的时候do:做,执行,干index:索引,指标,指出bug:漏洞,缺陷,计算机程序中的故障debug:调试,除错,改正有毛病的部分equa... 查看详情

第五章笔记

循环结构(一)学习本章会用到的单词:while:循环,当...的时候do:做,执行,干index:索引,指标,指出bug:漏洞,缺陷,计算机程序中的故障debug:调试,除错,改正有毛病的部分equal:等于,相等step:步骤,一步error:误... 查看详情

《domscripting》学习笔记-——第五章第六章案列改进

第四章的案例代码可以得到更好的改进。例如:预留退路、向后兼容性和分离js。原html代码:1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>Document</title>6</head>7<body>8<h1& 查看详情

《python深度学习》第五章-3(预训练)读书笔记(代码片段)

5.3 使用预训练的卷积神经网络预训练网络(pretrainednetwork):是一个之前已在大型数据集(通常是大规模图像分类任务)上训练好、保存好的网络\\colorred训练好、保存好的网络训练好、保存好的网络。预训... 查看详情

《spring实战》学习笔记-第五章:构建springweb应用程序

5.1 SpringMVC起步5.1.1 跟踪SpringMVC的请求  每当用户在Web浏览器中点击链接或提交表单的时候,请求就开始工作了。对请求的工作描述就像是快递投送员。与邮局投递员或FedEx投送员一样,请求会将信息从一个地方带到另一个... 查看详情

“全栈2019”java第五十五章:方法的静态绑定与动态绑定

难度初级学习时间10分钟适合人群零基础开发语言Java开发环境JDKv11IntelliJIDEAv2018.3文章原文链接“全栈2019”Java第五十五章:方法的静态绑定与动态绑定下一章“全栈2019”Java第五十六章:多态与字段详解学习小组加入同步学习小... 查看详情

增强学习reinforcementlearning经典算法梳理2:蒙特卡洛方法

1前言在上一篇文章中,我们介绍了基于Bellman方程而得到的PolicyIteration和ValueIteration两种基本的算法,但是这两种算法实际上很难直接应用,原因在于依然是偏于理想化的两个算法,需要知道状态转移概率,也... 查看详情

构建之法第五章学习

今天我学习了《构建之法》第五章团队和流程。首先我了解了写了再改模式(Code-and-Fix)史蒂夫·迈克康奈尔(SteveMcConnell)在这里提到了不少开发流程。第一个提到的开发流程。这个流程也有好处,不需要太多其他准备或相关... 查看详情

arcgisapiforjavascript4.2学习笔记[16]弹窗自定义功能按钮及为要素自定义按钮(第五章完结)

这节对Popups这一章的最后两个例子进行介绍和解析。第一个【PopupActions】介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer的形式测量要素的长度为例子进行介绍。第二个【Custompopupactionsperfeature】则是上... 查看详情

小甲鱼零基础汇编语言学习笔记第五章之[bx]和loop指令

   这一章主要介绍什么是[BX]以及loop(循环)指令怎么使用,loop和[BX]又怎么样相结合,段前缀又是什么鬼,以及如何使用段前缀。 1、[BX]的概念   [BX]和[0]类似,[0]表示内存单元的偏移地址是0。要完整... 查看详情