22. 离线MC强化学习算法(1)

文章目录

  • 1. 理解离线MC强化学习的关键
  • 2. 什么是重要性采样
  • 3.重要性采样定理给我们的一般启示
  • 4.重要性采样定理给离线蒙特卡洛强化学习的启示

1. 理解离线MC强化学习的关键

离线强化学习的特点是采样策略 π ′ ≠ 待评估策略 π \pi'\ne 待评估策略\pi π=待评估策略π,这就带来一个问题:

如何根据 π ′ \pi' π获取的多条完整轨迹数据,计算得到 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)的估计值,而不是 Q π ′ ( s , a ) Q_{\pi'}(s,a) Qπ(s,a)的估计值。

重要性采样定理为解决上述问题指明了方向,因此,理解重要性采样定理是理解离线MC强化学习的关键。

2. 什么是重要性采样

  • 重要性采样定理的积分描述

已知随机变量 x x x的函数 f ( x ) f(x) f(x) x x x的两个不同概率分布 p ( x ) , q ( x ) p(x),q(x) p(x),q(x),令 g ( x ) = p ( x ) f ( x ) q ( x ) g(x)=\frac{p(x)f(x)}{q(x)} g(x)=q(x)p(x)f(x),设 E p ( f ) E_p(f) Ep(f) f ( x ) f(x) f(x) p ( x ) p(x) p(x)下的期望, E q ( g ) E_q(g) Eq(g) g ( x ) g(x) g(x) q ( x ) q(x) q(x)分布下的期望,则:
{ E p ( f ) = E q ( g ) E p ( f ) = ∫ x p ( x ) f ( x ) d x E q ( g ) = ∫ x q ( x ) g ( x ) d x \begin{align}\begin{cases} E_p(f)=E_q(g)\\ E_p(f)=\int_xp(x)f(x)dx\\ E_q(g)=\int_xq(x)g(x)dx \end{cases} \end{align} Ep(f)=Eq(g)Ep(f)=xp(x)f(x)dxEq(g)=xq(x)g(x)dx

  • 重要性采样定理的统计学描述

根据重要性采样定理的积分描述,很容易推导出其统计学描述,如下:

已知对 x x x按照 q ( x ) q(x) q(x)进行采样得到的样本集为 S q = { x q , 1 , x q , 2 , ⋯ , x q , m } S_q=\{x_{q,1},x_{q,2},\cdots,x_{q,m}\} Sq={xq,1,xq,2,,xq,m},则
可利用如下公式计算出 E p ( f ) E_p(f) Ep(f)的渐进无偏估计 E p ^ ( f ) \hat{E_p}(f) Ep^(f) E q ( g ) E_q(g) Eq(g)
渐进无偏估计 E q ^ ( g ) \hat{E_q}(g) Eq^(g):
E p ^ ( f ) = E q ^ ( g ) = 1 m ∑ k = 1 m p ( x q , k ) f ( x q , k ) q ( x q , k ) \begin{align} \hat{E_p}(f)=\hat{E_q}(g)=\frac{1}{m}\sum_{k=1}^m\frac{p(x_{q,k})f(x_{q,k})}{q(x_{q,k})} \end{align} Ep^(f)=Eq^(g)=m1k=1mq(xq,k)p(xq,k)f(xq,k)

3.重要性采样定理给我们的一般启示

在估计 x x x的函数 f ( x ) f(x) f(x) p ( x ) p(x) p(x)下的期望时,若实际情形不允许按照 p ( x ) p(x) p(x) x x x进行采样,从而直接根据公式 E p ^ ( f ) = 1 m ∑ k = 1 m f ( x p , k ) \hat{E_p}(f)=\frac{1}{m}\sum_{k=1}^mf(x_{p,k}) Ep^(f)=m1k=1mf(xp,k)估计 E p ( f ) E_p(f) Ep(f)时,可以按照概率 q ( x ) q(x) q(x)
x x x进行采样获得样本集 S q S_q Sq,然后利用公式(2)进行间接估计,得到 E p ( f ) E_p(f) Ep(f)

4.重要性采样定理给离线蒙特卡洛强化学习的启示

在离线MC强化学习中,要解决的问题是:

已知采样策略 π ′ \pi' π、待评估策略 π \pi π、利用 π ′ \pi' π采集获得m条完整轨迹 E P = { E p 1 , E p 2 , ⋯ , E p m } EP=\{Ep_1,Ep_2,\cdots,Ep_m\} EP={Ep1,Ep2,,Epm},其中, E p k = { ( s k , 0 , a k , 0 , r k , 1 ) , ( s k , 1 , a k , 1 , r k , 2 ) , ⋯ , ( s k , N k − 1 , a k , N k − 1 , r k , N k ) , ( s k , N k , a k , N k , r k , N k + 1 ) } , k = 1 , 2 , ⋯ , m Ep_k=\{(s_{k,0},a_{k,0},r_{k,1}),(s_{k,1},a_{k,1},r_{k,2}),\cdots,(s_{k,N_k-1},a_{k,N_k-1},r_{k,N_k}),(s_{k,N_k},a_{k,N_k},r_{k,N_k+1})\},k=1,2,\cdots,m Epk={(sk,0,ak,0,rk,1),(sk,1,ak,1,rk,2),,(sk,Nk1,ak,Nk1,rk,Nk),(sk,Nk,ak,Nk,rk,Nk+1)},k=1,2,,m,所有轨迹的
最后一个状态 s k , N k ≡ s T ( 终止状态 ) s_{k,N_k}\equiv s_T(终止状态) sk,NksT(终止状态)
,若固定 s t = s , a t = a s_t=s,a_t=a st=s,at=a,则每条轨迹中三元组 ( s , a , r ) (s,a,r) (s,a,r)中的 r r r可以看做是随机变量,累积回报 G π ′ ( s , a ) G^{\pi'}(s,a) Gπ(s,a) r r r的函数

求解:策略 π \pi π下的累积回报函数 G π ( s , a ) G^{\pi}(s,a) Gπ(s,a)的期望 Q π ( s , a ) Q_\pi(s,a) Qπ(s,a)的估计值 Q π ^ ( s , a ) \hat{Q_\pi}(s,a) Qπ^(s,a)

求解过程:

  • 1.根据 E P EP EP,利用公式计算得到 ( s , a ) (s,a) (s,a)固定时,随机变量 r r r的函数 G π ′ ( s , a ) G^{\pi '}(s,a) Gπ(s,a)在m个采样点
    的样本函数值 G k π ′ ( s , a ) , k = 1 , 2 , ⋯ , m G^{\pi'}_k(s,a),k=1,2,\cdots,m Gkπ(s,a),k=1,2,,m
  • 2.根据重要性采样公式(2),及 G k π ′ ( s , a ) = G k π ( s , a ) G^{\pi '}_k(s,a)=G^{\pi}_k(s,a) Gkπ(s,a)=Gkπ(s,a)可得:
    Q π ^ ( s , a ) = 1 m ∑ k = 1 m p k π p k π ′ G k π ( s , a ) = 1 m ∑ k = 1 m p k π p k π ′ G k π ′ ( s , a ) p k π − 策略 π 下,出现完整轨迹 E p k 的概率 p k π ′ − 策略 π ′ 下,出现完整轨迹 E p k 的概率 ρ k = p k π p k π ′ − 重要性采样比例,表示待评估策略 π 下和采样策略 π ′ 下获得轨迹 E p k 的概率之比 p k π = [ π ( a k , 0 ∣ s k , 0 ) P s k , 0 s k , 1 a k , 0 ] × [ π ( a k , 1 ∣ s k , 1 ) P s k , 1 s k , 2 a k , 1 ] × ⋯ × [ π ( a k , N k − 1 ∣ s k , N k − 1 ) P s k , N k − 1 s k , N k a k , N k − 1 ] = ∏ i = 0 N k − 1 π ( a k , i ∣ s k , i ) P s k , i s k , i + 1 a k , i p k π ′ = ∏ i = 0 N k − 1 π ′ ( a k , i ∣ s k , i ) P s k , i s k , i + 1 a k , i ρ k = ∏ i = 0 N k − 1 π ( a k , i ∣ s k , i ) ∏ i = 0 N k − 1 π ′ ( a k , i ∣ s k , i ) \begin{align*} \hat{Q_\pi}(s,a)&=\frac{1}{m}\sum_{k=1}^m\frac{p_k^{\pi}}{p_k^{{\pi}'}}G^{{\pi}}_k(s,a)\\ &=\frac{1}{m}\sum_{k=1}^m\frac{p_k^{\pi}}{p_k^{{\pi}'}}G^{{\pi}'}_k(s,a)\\ p_k^{\pi}&-策略\pi 下,出现完整轨迹Ep_k的概率\\ p_k^{\pi'}&-策略\pi' 下,出现完整轨迹Ep_k的概率\\ \rho_k=\frac{p_k^{\pi}}{p_k^{\pi'}}&-重要性采样比例,表示待评估策略\pi 下和采样策略\pi' 下获得轨迹Ep_k的概率之比\\ p_k^{\pi}&=[\pi(a_{k,0}|s_{k,0})P_{s_{k,0}s_{k,1}}^{a_{k,0}}]\times [\pi(a_{k,1}|s_{k,1})P_{s_{k,1}s_{k,2}}^{a_{k,1}}]\times\cdots \times[\pi(a_{k,N_k-1}|s_{k,N_k-1})P_{s_{k,N_k-1}s_{k,N_k}}^{a_{k,N_k-1}}]\\ &=\prod_{i=0}^{N_k-1}\pi(a_{k,i}|s_{k,i})P_{s_{k,i}s_{k,i+1}}^{a_{k,i}}\\ p_k^{\pi'}&=\prod_{i=0}^{N_k-1}\pi'(a_{k,i}|s_{k,i})P_{s_{k,i}s_{k,i+1}}^{a_{k,i}}\\ \rho_k&=\frac{\prod_{i=0}^{N_k-1}\pi(a_{k,i}|s_{k,i})}{\prod_{i=0}^{N_k-1}\pi'(a_{k,i}|s_{k,i})} \end{align*} Qπ^(s,a)pkπpkπρk=pkπpkπpkπpkπρk=m1k=1mpkπpkπGkπ(s,a)=m1k=1mpkπpkπGkπ(s,a)策略π下,出现完整轨迹Epk的概率策略π下,出现完整轨迹Epk的概率重要性采样比例,表示待评估策略π下和采样策略π下获得轨迹Epk的概率之比=[π(ak,0sk,0)Psk,0sk,1ak,0]×[π(ak,1sk,1)Psk,1sk,2ak,1]××[π(ak,Nk1sk,Nk1)Psk,Nk1sk,Nkak,Nk1]=i=0Nk1π(ak,isk,i)Psk,isk,i+1ak,i=i=0Nk1π(ak,isk,i)Psk,isk,i+1ak,i=i=0Nk1π(ak,isk,i)i=0Nk1π(ak,isk,i)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防御第一次作业-ensp的华为防火墙USG6000V1(1)

目录 1.用ensp搭建防火墙 2.添加管理员 3.组网 接口 安全区域 1.用ensp搭建防火墙 1.只能用6000那个防火墙 2.初始用户名密码:admin/ADMIN123 3.开启所有服务 4.与电脑联通:添加个云,然后增加1个udp并绑定创建的环回网卡 4.5.让云可…

ICP(Index Condition Pushdown)索引下推

什么是索引下推了? MySQL的“索引下推”(Index Condition Pushdown,简称ICP)是MySQL 5.6引入的一个优化特性。这个特性允许MySQL在执行索引查询时,将某些条件判断下推到索引扫描阶段,从而减少需要检查的行…

数据结构与算法教程,数据结构C语言版教程!(第五部分、数组和广义表详解)五

第五部分、数组和广义表详解 数组和广义表,都用于存储逻辑关系为“一对一”的数据。 数组存储结构,99% 的编程语言都包含的存储结构,用于存储不可再分的单一数据;而广义表不同,它还可以存储子广义表。 本章重点从矩阵…

代码随想录算法训练DAY27|回溯3

算法训练DAY27|回溯3 39. 组合总和 力扣题目链接 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 …

二、arcgis 点shp数据处理

在工作中,很多时候客户会提供点坐标,那么要想把点坐标生成shp文件,有两种方法(坐标系CGCS2000): 1.当只有个位数的点坐标时,可以直接在arcgisMap中添加,具体步骤如下: …

【人工智能大脑】仿生学与人工智能交汇:基于MP神经网络的精准农业实践

MP神经网络,即McCulloch-Pitts模型(MCP Model),是神经网络的早期形式之一,由Warren McCulloch和Walter Pitts在1943年提出。这个模型为现代人工神经网络的发展奠定了理论基础,并首次尝试模拟了生物神经元的…

最长子字符串的长度(二) - 华为OD统一考试

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 给你一个字符串 s,字符串s首尾相连成一个环形 ,请你在环中找出’l’、‘o’、‘x’ 字符都恰好出现了偶数次最长子字符串的长度。 输入描…

​《WebKit 技术内幕》学习之九(3): JavaScript引擎

3 JavaScriptCore引擎 3.1 原理 JavaScriptCore引擎是WebKit中的默认JavaScript引擎,也是苹果在开源WebKit项目之后,开源的另外一个重要的项目。同其他很多引擎一样,在刚开始的时候它的主要部分是一个基于抽象语法树的解释器,这…

react 实现页面状态缓存(keep-alive)

前言: 因为 react、vue都是单页面应用,路由跳转时,就会销毁上一个页面的组件。但是有些项目不想被销毁,想保存状态。 比如:h5项目跳转其他页面返回时,页面状态不丢失。设想一个 页面我滑倒了中间&#xf…

仓储管理系统——软件工程报告(需求分析)②

需求分析 一、系统概况 仓库管理系统是一种基于互联网对实际仓库的管理平台,旨在提供一个方便、快捷、安全的存取货物和查询商品信息平台。该系统通过在线用户登录查询,可以线上操作线下具体出/入库操作、查询仓库商品信息、提高仓库运作效率&#xff…

shell脚本概述

将命令写到脚本里面,利用路径或者解释器去执行。简要来说脚本其实就是命令的集合。 例如:echo $? 自定义变量,查看上次命令执行是否正确 linux常用的shell 脚本的构成: 1.解释器 (脚本是用什么语言写的…

10个常用python自动化脚本

大家好,Python凭借其简单和通用性,能够为解决每天重复同样的工作提供最佳方案。本文将探索10个Python脚本,这些脚本可以帮助自动化完成任务,提高工作效率。无论是开发者、数据分析师还是仅仅想简化工作流程的普通用户,…

【数据结构】二叉树算法讲解(定义+算法原理+源码)

博主介绍:✌全网粉丝喜爱、前后端领域优质创作者、本质互联网精神、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战✌有需要可以联系作者我哦! 🍅附上相关C语言版源码讲解🍅 &#x1f44…

Java - 深入四大限流算法:原理、实现与应用

文章目录 Pre概述简单计数器原理实现测试优缺点 滑动窗口算法原理实现测试优缺点 漏桶算法原理实现测试优缺点 令牌桶算法原理实现测试优缺点 小结 Pre 深入理解分布式技术 - 限流 并发编程-25 高并发处理手段之消息队列思路 应用拆分思路 应用限流思路 SpringBoot - 优雅…

画眉(京东科技设计稿转代码平台)介绍

前言 随着金融App业务的不断发展,为了满足不同场景下的用户体验及丰富的业务诉求,业务产品层面最直接体现就是大量新功能的上线及老业务的升级,随之也给研发带来了巨大的压力,所以研发效率的提升就是当前亟需解决的问题&#xff…

QGIS生成热力图

目录 1 QGIS介绍 2 实现效果 3 具体步骤 3.1 获取北京市地图(区县级) 3.1.1 方法一:直接找到北京市地图 3.1.2 方法二:若没有单独的北京市地图,从中国地图上提取 3.2 获取数据 3.3 导入数据 1 QGIS介绍…

1148. 秘密的牛奶运输 (次小生成树)

1148. 秘密的牛奶运输 - AcWing题库 农夫约翰要把他的牛奶运输到各个销售点。 运输过程中,可以先把牛奶运输到一些销售点,再由这些销售点分别运输到其他销售点。 运输的总距离越小,运输的成本也就越低。 低成本的运输是农夫约翰所希望的。…

知识笔记(九十六)———在vue中使用echarts

1、安装 npm install echarts --save 2、在vue中引入(全局引入) // 引入echarts import echarts from echarts Vue.prototype.$echarts echarts3、在vue中的使用 需要用到echart的地方先设置一个div的id、宽高 提示: 可以在一个页面中引…

数据结构之使用顺序表写出通讯录

前言 昨天我们踏入了数据结构的深山,并且和顺序表battle了一番,虽说最后赢了,但同时也留下了一个问题:如何从顺序表的增删查改加强到通讯录的的增删查改,别急,今天就带你一探究竟。 一.回顾与思考 我们昨…

geemap学习笔记053:纹理特征

前言 纹理特征通常描述了遥感影像中像素之间的空间关系和变化,对于地物分类、目标检测以及图像分割等遥感应用非常有价值。本节将会介绍Earth Engine中提供的一些纹理特征计算方法,包括熵和灰度共生矩阵。 1 导入库并显示数据 import ee import geema…