python binning data openAI gym

news2024/11/13 11:26:09

题意:Python 数据分箱 OpenAI Gym

问题背景:

I am attempting to create a custom environment for reinforcement learning with openAI gym. I need to represent all possible values that the environment will see in a variable called observation_space. There are 3 possible actions for the agent to use called action_space

我正在尝试为强化学习创建一个自定义环境,使用 OpenAI Gym。我需要在一个名为 `observation_space` 的变量中表示环境可能看到的所有可能值。代理可以使用 3 种可能的动作,称为 `action_space`。

To be more specific the observation_space is a temperature sensor which will see possible ranges from 50 to 150 degrees and I think I can represent all of this by:

更具体地说,`observation_space` 是一个温度传感器,能够检测从 50 到 150 度的可能范围,我认为我可以通过以下方式表示所有这些值:

EDIT, I had the action_space numpy array wrong

编辑:我的 action_space numpy 数组设置错了

import numpy as np
action_space = np.array([ 0,  1,  2])
observation_space = np.arange(50,150,1)

Is there a better method that I could use for the observation_space where I could bin the data? IE, make 20 bins 50-55, 55-60, 60-65, etc...

是否有更好的方法可以用于 `observation_space`,以便对数据进行分箱?例如,将数据分为 20 个区间,如 50-55、55-60、60-65 等等。

I think what I have will work but seems sort of cumbersome... And I am sure there is a better practice as there is not a lot of wisdom on my end this subject. This will print out a Q table:

我认为我现在的方法可以工作,但似乎有点繁琐……而且我相信还有更好的实践,因为我在这个领域的经验不是很多。这将打印出一个 Q 表:

action_size = action_space.shape[0]
state_size = observation_space.shape[0]

qtable = np.zeros((state_size, action_size))
print(qtable)

问题解决:

This is not really related to programming, so maybe on stats.stackexchange you may get better answers. Anyway, it just depends on how much accuracy you want. I guess you want to change the temperature (increase, decrease, don't change) according to the sensor readings. Is there much different (in terms of optimal action) between 50 and 51? If not, then you can discretize the state space every 2 degrees. And so on.

这实际上与编程关系不大,所以也许在 stats.stackexchange 上你可以得到更好的答案。无论如何,这只是取决于你希望有多高的准确性。我猜测你想根据传感器读数来改变温度(增加、减少、不变)。在 50 和 51 度之间(在最优动作方面)是否有很大的不同?如果没有,那么你可以每 2 度对状态空间进行离散化。依此类推。

More generally, doing so you are using what in RL are called "features". A discretization over an interval of the state space is called tile coding and usually works well.

更一般地说,这样做是使用了在强化学习中称为“特征”的东西。对状态空间区间的离散化被称为“平铺编码”(tile coding),通常效果很好。

If you are new to RL, I really advise to read this book, or at least Chapters 1,3,4 which are related to what you are doing.

如果你对强化学习还不熟悉,我真的建议你阅读这本书,或者至少阅读第 1、3、4 章,这些章节与你正在做的工作相关。

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

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

相关文章

11.Java基础概念-ArrayList

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 Facts speak louder than words! ArrayList是Java中的一…

kubectl的安装使用

1. Windows下载kubectl 2.将kucectl的所在目录添加到PATH环境变量下 3.运行 kubectl version --client 命令来测试kubectl是否正确安装并显示其版本信息。这个命令会显示kubectl客户端的版本信息,如果一切正常,这将确认kubectl已经成功安装在你的Windo…

DC-DC升降压芯片(MC34063A/33063)典型电路与元件参数在线计算

MC34063包含DC/DC变换器所需的主要功能的单片控制电路,多用于升压变换器、降压变换器、反向器的控制核心部分。 MC34063的基本结构及引脚图功能: 1脚:开关管T1集电极引出端; 2脚:开关管T1发射极引出端; …

一次耗时的安全测试

简介 接到一个安全测试任务,数据包使用安全控件进行了加密。通过开发插件,实现明文测试,最终发现了2个越权。 加解密过程分析 访问网站首页,需要先安装一个控件。安装完成后,访问网站发现数据包加密处理。按照以前的…

基于springboot+vue实现的在线商城系统

系统主要功能: (1)商品管理模块:实现了商品的基本信息录入、图片上传、状态管理等相关功能。 (2)商品分类模块:实现了分类的增删改查、分类层级管理、商品分类的关联等功能。 (3&…

不懂编程的都觉得AI要取代程序员了,程序员自己却在偷着乐?真相是…

最近,AI写代码的新闻满天飞,不懂编程的人都觉得AI要逆天了,程序员马上就要失业了!但奇怪的是,程序员群体——这帮最懂代码、最常使用AI编程工具的人,怎么反而觉得AI取代不了他们呢?&#x1f914…

TD综合教程——噪波球和正交线性脉冲(附思路和工程文件)

一、噪波球 整体思路: 渲染三件套:Geometry COMP、Camera COMP、Render TOP 在此基础上进行pbr MAT材质和environment COMP环境光渲染 使sphere TOP(球体)更加柔和,将类型改为NURBS Twist TOP(扭曲&#x…

C++---内存管理

1 C/C内存分布 栈区:由编译器自动分配和释放,存放运行时候的局部变量,函数参数,返回数据,返回地址。 堆区:一般由程序员自己分配,然后自己释放,例如栈的实现malloc开辟的数组空间。…

尝试开发油猴(Tampermonkey)脚本

篡改猴 (Tampermonkey) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。 它适用于 Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox。 有些人也会把篡改猴(Tampermonkey)称作油猴(Greasemonkey),尽管后者只是一款仅适用于 Firefox 浏览器的浏览器扩展…

UE5 Linux编译流程(实战)

文章目录 概述setup.sh2.GenerateProjectFiles.sh3.make其他的 小结 概述 之前写过一篇linux上代码的流程,这一篇,补下编译流程。4.26还是4.27的时候,做过编译,那会刚出来,当时编译用的是QT,跟着文档&…

传输大咖40 | 医药行业跨国文件传输的挑战与解决方案

在当今全球化浪潮的推动下,医药健康领域的国际合作变得越发密切。无论是共享临床试验的数据,还是协作推进新药的研发,一个高效的文件传输系统都显得尤为关键,它直接关系到整个行业的快速进步。但是,当文件跨越国界进行…

Redis缓存击穿、缓存穿透、缓存雪崩场景描述及解决方案

Redis缓存击穿、缓存穿透、缓存雪崩场景描述及解决方案 缓存穿透 用户请求了很多既不存在于redis也不存在于数据库的无效数据请求,导致redis无法拦截,最终所有请求都落在数据库中 解决方案:缓存空对象(会导致redis中存了很多垃…

The Magic Loop-快速职业发展的框架

前言 在 B2B 系列中短暂休息一下,我很高兴为你带来 Ethan Evans 的重要客座文章。在 Amazon 的 15 年里,Ethan 帮助发明了 Prime Video、Amazon Video、Amazon Appstore、Prime Gaming(以前称为 Twitch Prime)和 Twitch Commerce…

电阻器件选型

电阻参数 一般都是(前面数字x10^末尾数字),如下面的例子 大概清楚电阻的结构即可,无需掌握 电阻器安装在陶瓷基板的上面;在每一端都有内部金属电极,使其与厚膜电阻体接触;电阻原件的成分是金…

第144天:内网安全-Linux权限维持OpenSSHPAM后门SSH软链接公私钥登录

目录 案例一: 权限维持-Linux-替换版本-OpenSSH 后门 案例二: 权限维持-Linux-更改验证-SSH-PAM 后门 案例三: 权限维持-Linux-登录方式-软链接&公私钥&新帐号 ssh软链接 公私钥 新帐号 案例一: 权限维持-Linux-替换…

一. Unity实现虚拟摇杆及屏幕自适应功能

手游里面很多类型的游戏都需要用到遥感功能,例如王者荣耀,和平精英等,之前的摇杆功能都是用类似于Easy Touch的插件进行开发的,今天不借助任何插件来实现虚拟摇杆的功能。 一般虚拟摇杆的组成都是由轮盘和遥感的点组成&#xff0c…

二百六十二、Java——打开别人项目时缺少maven配置,无法运行文件

一、目的 在打开别人的项目时,发现Java文件类型显示出错,没有application,无法运行文件 二、报错原因 项目缺少maven配置 三、解决措施 File——Setting——Maven 修改Maven的配置,指向Maven路径 四、重启项目 文件恢复正常…

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(wa…

跨境外贸业务使用新加坡裸机云站群服务器优势

在全球化的今天,跨境外贸业务正变得越来越普遍。随着互联网技术的发展,越来越多的企业选择使用云计算服务来支持其国际业务。新加坡作为一个国际金融中心和亚洲的数据枢纽,提供了优质的网络基础设施,使其成为设置裸机云站群服务器…

【vue3|第28期】 Vue3 + Vue Router:探索路由重定向的使用与作用

日期:2024年9月8日 作者:Commas 签名:(ง •_•)ง 积跬步以致千里,积小流以成江海…… 注释:如果您觉在这里插入代码片得有所帮助,帮忙点个赞,也可以关注我,我们一起成长;如果有不对…