首页 > 其他分享 >基于Monte Carlo 的策略评估

基于Monte Carlo 的策略评估

时间:2023-06-09 15:07:10浏览次数:37  
标签:function Monte value 对应 action policy Carlo 我们 评估


基于Monte Carlo 的策略评估

在强化学习中,Monte Carlo 是一种被广泛用到的方法。这种方法主要是从经验 experience 中拟合数值,本质上就是从不同的采样中获得结果,然后将其平均。由于最后当采样的数量达到一定的数量级后,这种方法可以很好地拟合我们想要的函数。

这里有一个很有意思的demo,展现的是Monte Carlo 如何应用在评估 基于Monte Carlo 的策略评估_强化学习 的数值上。
https://academo.org/demos/estimating-pi-monte-carlo/

基于Monte Carlo 的策略评估_拟合_02


如上图所示,如果我们随机在一个正方形中随机打入点,那么只要记录圈内的数量和圈外的数量,根据比值就可以得到基于Monte Carlo 的策略评估_强化学习

那么Monte Carlo 是怎么应用在强化学习中的呢?那么比较经典的例子就是 BlackJack(21 )。 在BlackJack,游戏中,我们必须等到游戏最终结束的时候,才知道之前的策略是好还是坏。所以对一场游戏(episode),我们在游戏的过程中记录所有action 和对应的state。然后不断地学习 action value function 基于Monte Carlo 的策略评估_迭代_04。这里 基于Monte Carlo 的策略评估_人工智能_05 表示对应的状态和当前状态下的合法行为。 基于Monte Carlo 的策略评估_强化学习

  • 游戏的策略 基于Monte Carlo 的策略评估_迭代_07, 就是给定状态 基于Monte Carlo 的策略评估_迭代_08和对应的行为 action 基于Monte Carlo 的策略评估_机器学习_09,要返回对应的概率。
  • action value function 基于Monte Carlo 的策略评估_机器学习_10,在策略(policy)基于Monte Carlo 的策略评估_迭代_07下,的action value function。 也就是说当给定对应的 基于Monte Carlo 的策略评估_人工智能_12

那我们知道这个目的以后呢,接下来分别介绍如何更新 action value function 和 游戏的策略 基于Monte Carlo 的策略评估_强化学习

  • Action value function基于Monte Carlo 的策略评估_拟合_14 的更新如下所示。
  • 基于Monte Carlo 的策略评估_迭代_15

  • 实际上呢,首先我们对这个action value function的进行一个初始化,它实际上就是对每一个状态,都有一个对应的一个action,然后我们也对每一个基于Monte Carlo 的策略评估_机器学习_16对,有一个空的list。这个list呢是用于记录在整个游戏过程中被访问到的对应的状态 基于Monte Carlo 的策略评估_机器学习_17和action 基于Monte Carlo 的策略评估_机器学习_17,所以我们最后会通过平均的方法把它的这个数字进行拟合。
    按照这个思路呢,我们就无限循环,就是说基于这个policy基于这个策略,我们会有一系列的行为,然后在一个在这个游戏过程中有总共有大T个步长,就是然后每一个步长里面都会有对应的这个状态和行为,然后我们会得到对应的结果,这个结果呢,我们会最后把它啊append到对应的List里面去,最后取平均,然后我们希望每一个状态呢都只访问一遍,因为实际上它这个访问一遍和访问多遍的这个实际情况都是一样的,所以我们只访问一遍。
  • 然后我们现在已经得到了这个action value function,那么我们如何去优化这个策略 基于Monte Carlo 的策略评估_人工智能_19呢?实际上我们可以用 generalized policy iteratioin, GPI这个方法去进行优化 policy 基于Monte Carlo 的策略评估_人工智能_19,这个方法再强化学习中已经被广泛应用,就是说我们先优化这个action value function 基于Monte Carlo 的策略评估_强化学习_21,然后接着去基于这个function ,预测对应的policy 基于Monte Carlo 的策略评估_人工智能_19然后通过这样子往复的形式呢去得到最终的一个结果.如下图所示:
  • 基于Monte Carlo 的策略评估_强化学习_23

  • 就是说通过这种形式呢,我们能够保证对 action value function 基于Monte Carlo 的策略评估_拟合_14的优化,同时,第2步我们能够继续对policy进行一个优化,这样的一个交替迭代的一个方式,能够保证两个 function方式都能在最后得到我们想要的结果。虽然这个东西最终还没有经过证明,但是已经从大量的实验中已经经过了论证。
  • 还有一个问题就是如果说我们只是用这个policy 基于Monte Carlo 的策略评估_人工智能_19去优化的话,那么他有很多的状态他是不会被访问到的,因为我们已经得到了这个policy之后呢,在每次使用的时候我们都会去max的 policy,所以这样的问题就会导致很多状态也没有被访问到。所以在使用GPI 的时候,我们会引入一种 基于Monte Carlo 的策略评估_强化学习_26-greedy policy,这种policy能够让算法在学习的过程中,能够随机的去访问一些状态,也就是说它会随机的访问状态和一些对应的行为,所以这样子就能让一些更多的行为能够被访问到,这样子,能够更好的去帮助啊,算法去找到更好的一个决策。对应的算法如下所示:
  • 基于Monte Carlo 的策略评估_迭代_27

  • 这里会看到我们在算法1的基础上,就是加了一个对policy的一个优化。在 policy 优化的过程中,我们再里面加入了 基于Monte Carlo 的策略评估_强化学习_26-greedy policy去帮助网络能够对一些非最有的行为也进行探索。

参考:http://incompleteideas.net/book/first/ebook/node50.html


标签:function,Monte,value,对应,action,policy,Carlo,我们,评估
From: https://blog.51cto.com/u_11384719/6447833

相关文章

  • 机器学习之模型评估
    一.数据集准备二.模型准备三.交叉验证(k折交叉验证(10))四.知识点补充:混淆矩阵(准确率,召回率)五.知识点补充:阈值和ROC曲线1.数据集处理(读取,切分,shuffle洗牌操作)fetch_openml()函数可以下载openml.org公共数据库中的数据集,如:mnist_784,得到mnist(mnist数据是图像数据:(28,28,1)的......
  • 360评估可以这样来做
    360度评估是一种常用的绩效评估方法,它是由员工、直接上级、同事、下属和客户等多方面对被评估者进行评估的方法。下面是具体的步骤:点击免费领取绩效考核模版等资料1.确定被评估者:确定需要进行360度评估的员工,通常是公司中高层管理人员或者领导人。2.选择评估人员:选择评估人员,......
  • 高效稳定的通用增量 Checkpoint 详解之二:性能分析评估
    作者:雷颜菲、夏瑞、俞航翔、梅源|阿里云Flink存储引擎团队摘要:我们在“Flink1.15新功能架构解析:高效稳定的通用增量Checkpoint”【1】一文介绍了通用增量Checkpoint的原理和背后的思考以及执行性能、空间放大等方面的初步测试结果。该功能在Flink1.16中经过优化,已达到生......
  • 在不受支持的 Mac 上安装 macOS Ventura、Monterey、Big Sur (OpenCore Legacy Patche
    在不受支持的Mac上安装macOSVentura、Monterey、BigSur(OpenCoreLegacyPatcher)请访问原文链接:https://sysin.org/blog/install-macos-13-on-unsupported-mac/,查看最新版。原创作品,转载请保留出处。作者主页:www.sysin.org距离WWDC2023只有几天的时间了,期待macOS14......
  • 网络安全风险评估
    网络安全风险评估项目作业任务书目录一、项目背景二、项目目标三、范畴确定概述评估范围和对象目标组建适当的评估管理与实施团队信息系统基本情况四、评估准备工作过程风险分级风险评估工具五、风险识别资产识别威胁识别脆弱性识别安全......
  • Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量
    网络性能评估主要是监测网络带宽的使用率,将网络带宽利用最大化是保证网络性能的基础,但是由于网络设计不合理、网络存在安全漏洞等原因,都会导致网络带宽利用率不高。要找到网络带宽利用率不高的原因,就需要对网络传输进行监控,此时就需要用到一些网络性能评估工具,而Iperf就是这样一款......
  • 年中绩效评估,怎么做才最给力?
    半年度绩效评估马上就要开始了,很多公司可能已经开始在为此准备~为什么要进行半年度绩效评估?能够公司和员工带来什么好处?评估的过程中应该怎么做才更好?这些问题都会伴随着每一个参与评估的伙伴。 点击免费领取绩效考核模版等资料绩效评估是一种用来评估员工或团队绩效的方法,它......
  • 【视频】风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例|附代码数
    原文链接:http://tecdat.cn/?p=22862 最近我们被客户要求撰写关于风险价值的研究报告,包括一些图形和统计输出。风险价值(VaR)是一种统计数据,用于量化公司、投资组合在特定时间范围内可能发生的财务损失程度什么是风险价值(VaR)?该指标最常被投资银行和商业银行用来确定其机构......
  • 深入了解平均精度(mAP):通过精确率-召回率曲线评估目标检测性能
    平均精度(AveragePrecision,mAP)是一种常用的用于评估目标检测模型性能的指标。在目标检测任务中,模型需要识别图像中的不同目标,并返回它们的边界框(boundingbox)和类别。mAP用于综合考虑模型在不同类别上的准确度和召回率。基本知识IOU(IntersectionOverUnion)是一种基于Jaccard......
  • 《安富莱嵌入式周报》第313期:搬运机器人,微软出的C语言手册,开源生物信号采集板,开源SMD
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 更新一期视频教程:DSP视频教程第12期:TI开源分享IQmathDSP源码,适用于所有Cortex-M内核,本期教程做个手把手移植(2022-05-22)https://www.armbbs.cn/forum.php?mod=viewthread&......