强化学习入门--基本概念

强化学习基本概念

grid-world example

这个指的是一个小机器人(agent)在一个网格区域(存在边界),网格中存在需要躲避的格子和目标格子,我们的目的就是找到到达目标格子的最短路径

state

表示智能体相对于环境的状态,在上面的例子中,state就代表位置

state space 如果把所有的状态放在一起,就构成了状态空间

action

在每一个状态可以采取的行动

action space 所有动作放在一起,构成动作空间

state transition

当采取一个action的时候,agent 从一个state到达另一个state

在状态转换时,通常会出现各种特殊情况,导致我们进行一个动作时,状态转换的结果并不唯一,我们引入条件概率的概念,使用条件概率去描述state transition

forbidden area

需要躲避的区域,包含两种情况

  • 可以进入,但进入该区域会被惩罚
  • 不可以进入
policy(策略)

作用是告诉agent在该state下应该做什么动作

策略使用Π表示,在某一状态下执行某一动作表示为Π(a|s),使用条件概率的形式

reward(回报)

是一个数,一个标量

如果是一个正数,那么代表我们希望这个行为发生

如果是一个负数,那么代表我们不希望这个行为发生

但是我们可以自定义这件事情,如果将正数定义为惩罚,那么agent就希望得到更多的负数

其作为我们与机器交互的一种手段存在

我们通过设计reward来实现我们的目标

比如对于上面的grid-world example,我们可以设计出边界惩罚为-1,到达forbidden area惩罚为-1,到达target area奖励为1,其余动作为0

这种可以代表确定的reword,对于很多行为,其reward是不确定的,还是和之前一样,使用条件概率。

我们的reward并不是根据结果给出,而是根据当前状态和要采取的动作给出

Trajectory and return

trajectory代表着一系列的状态-动作-回报(可以称其为轨迹),那么一个轨迹的return就是这一系列动作得到的回报加和,不同策略得到的轨迹是不同的,通过比较不同策略的得到轨迹的return,从而判断策略的好坏

discounted return

到达target后,实际上还在不停的运行,比如上面的例子,就会在target保持不动,一直加1

为了解决其不收敛的问题,引入discounted return,在每项前加上折扣

γ是一个(0,1)之间的数

可以看到如果γ趋近于0,那么结果更依赖于开始得到的return,使实验更加的近视

episode

这个其实描述的就是不持续的任务,但是不持续的任务和coutinue task之间可以进行转化

比如上述例子,我们可以将在target状态下的动作的结果都为原地不动,那么就会由原来的episode变为coutinue task

或者将最终的状态视为一个一般的状态,如果策略好的话,它就停在哪里不动,如果策略不好的话,他就会有可能跳出来

使用策略二会使其更具一般化

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

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

相关文章

STMCubeMX配置STM32F103ZET6

1 配置时钟 配置RCC。 配置 SYS。将Timebase Source配置为TIM1, SysTick留给FreeRTOS用。 注意: 由于第一次配置的时候忘记配置这个步骤,导致工程第一次烧录成功后,后面一直无法烧录,报以下错误: keil no target connect Error: Flash Download failed - Target DLL h…

OFD 套版生成原理与 C# 实现详解

1. 引言 OFD(Open Fixed-layout Document)是一种基于 XML 的开放版式文档格式,主要用于电子文档的存储和交换。与 PDF 类似,OFD 是一种固定版式文档格式,能够确保文档在不同设备和平台上显示的一致性。OFD 格式广泛应…

Leetcode:2239

1,题目 2,思路 循环遍历满足条件就记录,最后返回结果值 3,代码 public class Leetcode2239 {public static void main(String[] args) {System.out.println(new Solution2239().findClosestNumber(new int[]{-4, -2, 1, 4, 8})…

C语言之斗地主游戏

🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 ​ C语言之斗地主游戏 目录 程序概述程序设计 Card类CardGroup类Player类LastCards类Land…

python编程-OpenCV(图像读写-图像处理-图像滤波-角点检测-边缘检测)图像变换

形态变换 图像处理中的形态学操作是处理图像结构的有效方法。以下是一些常见的形态学操作的介绍及其在 OpenCV 中的实现示例。 1. 腐蚀(Erosion) 腐蚀操作通过消除图像边界来减少图像中的白色区域(前景),使物体的边…

【Prometheus】PromQL进阶用法

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

SiamCAR(2019CVPR):用于视觉跟踪的Siamese全卷积分类和回归网络

原文标题:SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking 中文标题:SiamCAR:用于视觉跟踪的Siamese全卷积分类和回归 代码地址: https://github.com/ohhhyeahhh/SiamCAR Abstract 通过将视觉跟踪任务分解为两个子问题,…

计算机网络介质访问控制全攻略:从信道划分到协议详解!!!

一、信道划分介质访问控制 介质访问控制:多个节点共享同一个“总线型”广播信道时,可能发生“信号冲突” 应该怎么控制各节点对传输介质的访问,才能减少冲突,甚至避免冲突? 时分复用(TDM) 时分复用:将时间分为等长的“…

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置

Prometheus部署及linux、mysql、monog、redis、RocketMQ、java_jvm监控配置 1.Prometheus部署1.2.Prometheus修改默认端口 2.grafana可视化页面部署3.alertmanager部署4.监控配置4.1.主机监控node-exporter4.2.监控mysql数据库mysqld_exporter4.3.监控mongod数据库mongodb_expo…

基于tldextract提取URL里的子域名、主域名、顶级域

TLD是TopLevel Domain的缩写。‌tldextract‌ 是一个用于从URL中提取子域、主域名和顶级域(TLD)的Python库。它利用公共后缀列表(Public Suffix List)来确保即使是复杂或不常见的URL结构也能被正确解析。tldextract能够处理包括IC…

常见Arthas命令与实践

Arthas 官网:https://arthas.aliyun.com/doc/,官方文档对 Arthas 的每个命令都做出了介绍和解释,并且还有在线教程,方便学习和熟悉命令。 Arthas Idea 的 IDEA 插件。 这是一款能快速生成 Arthas命令的插件,可快速生成…

Mellanox ConnectX 系列网卡的双驱动架构:以太网与 InfiniBand 的协同设计

在现代数据中心和高性能计算(HPC)环境中,网络硬件的性能和功能至关重要。Mellanox ConnectX 系列网卡以其卓越的性能和多功能性而闻名,支持从传统的以太网到高性能的 InfiniBand 网络协议。这种多功能性使得 Mellanox 网卡能够满足不同应用场景的需求,从常规的数据中心网络…

win32汇编环境,对多行编辑框添加或删除文本

;运行效果 ;win32汇编环境,对多行编辑框添加或删除文本 ;主要要先设置文本的开始点与结束点,然后把一段文本顶替上去。没有添加文本或删除文本的概念,只有顶替。如果开始点与结束点都是前面文本的长度值,则成了从后面添加文本的效果。如果结束…

CSDN年度回顾:技术征途上的坚实步伐

嘿,时光过得可真快呀,就像那匹跑得飞快的白马,嗖的一下,2024 年的日历就这么悄无声息地翻到了最后一页。这会儿我回头看看在 CSDN 上度过的这一年,心里那叫一个感慨万千,满满的都是喜悦,就像心里…

泛型子类使用Builder提示:both methods have same erasure, yet neither hides the other

父类 Data Builder AllArgsConstructor NoArgsConstructor public class ParentClass {public String name; } 子类 AllArgsConstructor NoArgsConstructor Data SuperBuilder public class ChildClass<T> extends ParentClass {private T value; } 提示错误 builde…

Springboot集成Elasticsearch8.0(ES)版本,采用JAVA Client方式进行连接和实现CRUD操作

本文章介绍了 springboot t集成Elasticsearch8.0(ES)版本,如何通过 AVA Client方式进行连接和实现CRUD操作 在ES7.15版本之后,ES官方将高级客户端 RestHighLevelClient标记为弃用状态。同时推出了全新的 Java API客户端 Elasticsearch Java API Client,该客户端也将在 Ela…

人脸识别打卡系统--基于QT(附源码)

逃离舒适区 项目源代码放在我的仓库中&#xff0c;有需要自取 项目地址 https://gitcode.com/hujiahangdewa/Face_recognition.git 文章目录 一、项目结构分析二、服务器的搭建三、客户端的搭建四、人脸识别库的申请五、基于人脸识别库的识别判断六、QT人脸识别----调用百度ai…

人工智能在数字化转型中的角色:从数据分析到智能决策

引言 在数字化转型浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;正迅速崛起&#xff0c;成为推动企业创新和变革的关键力量。面对日益复杂的市场环境和激烈的行业竞争&#xff0c;企业亟需借助技术手段提高运营效率、优化决策过程&#xff0c;并增强市场竞争力。而AI…

react install

react 安装 React 是一个用于构建用户界面的 JavaScript 库。以下是安装 React 的步骤&#xff1a; 使用 Create React App Create React App 是一个官方支持的命令行工具&#xff0c;用于快速搭建 React 应用。 安装 Node.js 和 npm 确保你的计算机上安装了 Node.js 和 npm…

Android系统开发(二十):字体活起来,安卓自定义字体改造指南

为什么要写这篇文章&#xff1f; 你是否厌倦了千篇一律的安卓默认字体&#xff1f;想让你的设备从“乏味的配角”变成“炫酷的主角”&#xff1f;好消息&#xff01;从Android 12到Android 15&#xff0c;自定义字体变得更简单、更强大。尤其是表情字体的更新&#xff0c;不仅…