当前位置: 首页 > news >正文

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)

相关文章:

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

文章目录 1. 理解离线MC强化学习的关键2. 什么是重要性采样3.重要性采样定理给我们的一般启示4.重要性采样定理给离线蒙特卡洛强化学习的启示 1. 理解离线MC强化学习的关键 离线强化学习的特点是采样策略 π ′ ≠ 待评估策略 π \pi\ne 待评估策略\pi π′待评估策略π&…...

如何阅读xml电子发票

xml电子发票是官方给出的电子存档的文件格式,本质是文本,所以文件很小,大量发票存储,能够更加凸显优势。 但是xml电子发票不方便阅读,因为里面是xml格式,对于财务人员来讲,看“代码”简直太难了…...

php实现多进程的几种方式

目录 一:使用pcntl扩展库 二:使用Swoole扩展 三:使用多进程模式PHP-FPM 在PHP中实现多进程主要有以下几种方式: 一:使用pcntl扩展库 pcntl扩展库提供了多线程相关的函数,如pcntl_fork()用于创建子进程…...

CmakeList教程

一、CmakeList介绍: cmake 是一个跨平台、开源的构建系统。它是一个集软件构建、测试、打包于一身的软件。它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。它会通过写的语句自动生成一个MakeFile,从而实现高效编译 二、CmakeList的常用指令 1.指定…...

JavaWeb之JavaScript-Vue --黑马笔记

什么是JavaScript? JavaScript(简称:JS) 是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,它能使网页可交互。 JavaScript 和 Java 是完全不同的语言,不论是概念还是设计。但是基础语法类似。 …...

pikachu_ssrf攻略

ssrf(curl): 打开pikachu靶场: http://127.0.0.1/pikachu-master/vul/ssrf/ssrf_curl.php?urlhttp://127.0.0.1/pikachu-master/vul/ssrf/ssrf_info/info1.php 发现URL地址最后面是info1.php 猜测一下有没有可能存在info2.php?…...

门面模式 Facade Pattern

门面模式 门面模式(Facade Pattern),也称之为外观模式,其核心为:外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。 在软件开发领域有这样一句话:计算机科学领域…...

Linux基础指令大汇总

Linux的指令比较多,在学习的过程中要学会总结和归纳,同时结合实践多多使用,就像学数学一样,不是背过公式就等于掌握的,而是要知道在什么时候用,怎么用才是关键。 这篇文章会列举一系列常用的指令&#xff0…...

Unity配置表xlsx/xls打包后读取错误问题

前言 代码如下: //文本解析private void ParseText(){//打开文本 读FileStream stream File.Open(Application.streamingAssetsPath excelname, FileMode.Open, FileAccess.Read, FileShare.Read);//读取文件流IExcelDataReader excelRead ExcelReaderFactory…...

CSS基本知识总结

目录 一、CSS语法 二、CSS选择器 三、CSS样式表 1.外部样式表 2.内部样式表 3.内联样式 四、CSS背景 1.背景颜色:background-color 2.背景图片:background-image 3.背景大小:background-size 4.背景图片是否重复:backg…...

3dmax效果图渲染出现曝光怎么解决?

在使用3ds Max完成效果图渲染工作时,有时会遇到曝光过度的问题,这会使得渲染的图像出现光斑或者过亮,损害了效果的真实感和美观度。那么解决解决3dmax曝光问题呢?一起看看吧! 3dmax效果图渲染出现曝光解决方法 1、相机…...

科技、文化与旅游的融合创新:智慧文旅的未来之路

在当今社会,科技、文化与旅游的融合已经成为文旅产业转型升级的重要趋势。这种融合不仅有助于提升文旅产业的核心竞争力,更有助于推动产业的数字化转型和可持续发展。 本文将深入探讨科技、文化与旅游的融合创新,以及智慧文旅场景的解决方案…...

【第四天】蓝桥杯备战

题 1、求和2、天数3、最大缝隙 1、求和 https://www.lanqiao.cn/problems/1442/learning/ 解法:字符串方法的应用 import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改public class Main {public static void main(String[] args) {Scann…...

计算机服务器中了halo勒索病毒怎么办,halo勒索病毒解密处理流程

计算机技术的发展与应用为企业的生产生活提供了坚实基础,但同时也为网络安全威胁制造了有利条件。近期,网络上的勒索病毒非常嚣张,给企业的计算机服务器带来严重威胁。近日,云天数据恢复中心接到山东某制造公司的求助,…...

基于LSTM的负荷预测,基于BILSTM的负荷预测,基于GRU的负荷预测,基于BIGRU的负荷预测,基于BP神经网络的负荷预测

目录 背影 摘要 代码和数据下载:基于LSTM的负荷预测,基于BILSTM的负荷预测,基于GRU的负荷预测,基于BIGRU的负荷预测,基于BP神经网络的负荷预测资源-CSDN文库 https://download.csdn.net/download/abc991835105/8876806…...

Linux命令-apachectl命令(Apache服务器前端控制工具)

apachectl命令 是Apache的Web服务器前端控制工具,用以启动、关闭和重新启动Web服务器进程。 语法 apachectl (参数)参数 configtest:检查设置文件中的语法是否正确;fullstatus:显示服务器完整的状态信息;graceful&a…...

5.【SpringBoot3】文件上传

1. 文件上传到本地 需求分析 在用户更换头像或发布文章时,需要携带一个图片的 url 地址,该 url 地址是当用户访问文件上传接口,将图片上传成功后,服务器返回的地址。所以,后台需要提供一个文件上传接口,用…...

网络安全态势感知平台概述

网络安全态势感知平台 文章目录 网络安全态势感知平台网络安全态势感知平台是什么一、网络安全态势感知平台是什么?二、网络安全态势感知很重要三、网络安全态势感知基础功能以某公司态势平台产品为例具体功能有以下: 网络安全态势感知平台是什么 网络安…...

PHP导出csv文件格式(最快捷的方式导出Excel文件)

php导出csv文件格式比起用PHPExcel插件导出excel文件速度快100倍! 以下是几种不同的PHP导出CSV文件的方法: 方法一(php://output方式用fputcsv函数格式化成csv数据): ----------------------------------------------…...

vue3常用代码

文章目录 监听路由vue3 警告Feature flag __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.mitt、project/inject 无效解决方案 菜鸟做项目时发现很多 vue3 常用的代码,所以来总结一下! 监听路由 import { useRoute } from "…...

【技术】SpringBoot 接口怎么加密解密

1. 介绍 在我们日常的Java开发中,免不了和其他系统的业务交互,或者微服务之间的接口调用 如果我们想保证数据传输的安全,对接口出参加密,入参解密。 但是不想写重复代码,我们可以提供一个通用starter,提…...

SqlAlchemy使用教程(六) -- ORM 表间关系的定义与CRUD操作

SqlAlchemy使用教程(一) 原理与环境搭建SqlAlchemy使用教程(二) 入门示例及编程步骤SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用SqlAlchemy使用教程(五) ORM API 编程入门 本章内容,稍微有…...

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM平台编程第五天-kernel配置(物联技术666)

链接:https://pan.baidu.com/s/1eb94AaDM-cIZsbr929Isbw?pwd1688 提取码:1688 上午:linux内核介绍 徐登伟老师 下午:linux的配置 教学内容: 一、基本kernel的制作: 1、去开源社区下载原…...

Java笔记(死锁、线程通信、单例模式)

一、死锁 1.概述 死锁 : 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法往下执行。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进…...

DAY11_(简易版)VUEElement综合案例

目录 1 VUE1.1 概述1.1.1 Vue js文件下载 1.2 快速入门1.3 Vue 指令1.3.1 v-bind & v-model 指令1.3.2 v-on 指令1.3.3 条件判断指令1.3.4 v-for 指令 1.4 生命周期1.5 案例1.5.1 需求1.5.2 查询所有功能1.5.3 添加功能 2 Element2.0 element-ui js和css和字体图标下载2.1 …...

【Kafka】开发实战和Springboot集成kafka

目录 消息的发送与接收生产者消费者 SpringBoot 集成kafka服务端参数配置 消息的发送与接收 生产者 生产者主要的对象有: KafkaProducer , ProducerRecord 。 其中 KafkaProducer 是用于发送消息的类, ProducerRecord 类用于封装Kafka的消息…...

【C语言】(1)初识C语言

什么是C语言 C语言是一种广泛应用的计算机编程语言,它具有强大的功能和灵活性,使其成为系统编程和底层开发的首选语言。C语言的设计简洁、高效,且不依赖于特定的硬件或系统,因此在各种计算平台上都能稳定运行。 C语言的特点 高…...

SpringCloudStream整合MQ(待完善)

概念 Spring Cloud Stream 的主要目标是各种各样MQ的学习成本,提供一致性的编程模型,使得开发者能够更容易地集成消息组件(如 Apache Kafka、RabbitMQ、RocketMQ) 官网地址:Spring Cloud Stream 组件 1. Binder 2…...

【Java 数据结构】包装类简单认识泛型

包装类&简单认识泛型 1 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱 2 什么是泛型3 引出泛型3.1 语法 4 泛型类的使用4.1 语法4.2 示例4.3 类型推导(Type Inference) 5 泛型如何编译的5.1 擦除机制5.2 为什么不能实例化泛型类型数组 6 泛型…...

第139期 做大还是做小-Oracle名称哪些事(20240125)

数据库管理139期 2024-01-25 第139期 做大还是做小-Oracle名称哪些事(20240125)1 问题2 排查3 扩展总结 第139期 做大还是做小-Oracle名称哪些事(20240125) 作者:胖头鱼的鱼缸(尹海文) Oracle A…...

奉节网站建设/b2b网站排名

Java Web应用中调优线程池的重要性不论你是否关注,Java Web应用都或多或少的使用了线程池来处理请求。线程池的实现细节可能会被忽视,但是有关于线程池的使用和调优迟早是需要了解的。本文主要介绍Java线程池的使用和如何正确的配置线程池。单线程我们先…...

上传文件到网站根目录/公司网站怎么优化

题库来源:安全生产模拟考试一点通公众号小程序 2022G3锅炉水处理考试题库为G3锅炉水处理全部考试题库新版教材大纲题库!2022G3锅炉水处理复训题库及答案依据G3锅炉水处理新版教材大纲编写。G3锅炉水处理考试资料随时根据安全生产模拟考试一点通上错题练…...

两个wordpress同步/公司网站的推广方案

“刷量”时代下,你还敢随便相信平台显示的“真实”数据吗?文 | 茶凉出品 | Odaily星球日报(ID:o-daily)“某明星一条微博一年点击量超 1 亿次,评论区大量相似账号转发;某电视剧 33 天播放点击…...

wordpress文章重复/seo排名赚app最新版本

在图像集合中使用ImageDatastore和mapreduce查找具有最大色调、饱和度和亮度值的图像。 准备数据 toolbox/matlab/demos使用和中的图像创建数据存储toolbox/matlab/imagesci。所选图像的扩展名为.jpg,.tif和.png. demoFolder = fullfile(matlabroot, toolbox, matlab, demos); …...

官方网站查询电工证/信息流推广渠道有哪些

备份数据库(包含全部表和全部存储过程):C:\Documents and Settings\Administrator>mysqldump -h localhost -u root -p -R bannei >d:/log/mydb.sqlEnter password: ****** //备份数据库所有表C:\Documents and Settings\Administrator…...

网站模块分类/引流获客工具

在windows 10 itunes的安装是在 microsoft store 微软商店里面默认的备份文件路径跟以往有不同默认备份路径为:C:Users用户名AppleMobileSync注:(里面的用户名 就是你电脑的名字)第一步:在自己想要备份的盘里先创建个文…...