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

强化学习(一)简介

在这里插入图片描述

强化学习这一概念在历史上来源于行为心理学,来描述生物为了趋利避害而改变自己行为的学习过程。人类学习的过程其实就是为达到某种目的不断地与环境进行互动试错,比如婴儿学习走路。强化学习算法探索了一种从交互中学习的计算方法。

1、强化学习

强化学习算法的逻辑是,如何将接收的信息映射到行为从而获得最多的奖励。学习者只能通过不断尝试来发现哪些行为会产生最多的奖励,注意:当前的行为不仅会影响当前,还会影响未来,因此会影响所有随后的奖励。因此强化学习有两个重要的特征:试错搜索延迟奖励

强化学习不同于监督学习。监督学习是指从标记的训练数据来推断一个功能,当出现训练集中没有的情况时可以正常地行动。强化学习不同于无监督学习。无监督学习是在未标记的数据集中寻找隐藏的结构。强化学习是试图最大化奖励信号,因此,可以认为其是第三种机器学习范式。在所有形式的机器学习中,强化学习是最接近人类的学习方式。

2、典型案例

  • 象棋博弈中所谓的 “走一步,看十步”、“棋输一着,满盘皆输” 。
  • 小羚羊在出生半个小时后就可以奔跑。
  • 扫地机器人根据电池电量和过去返回充电点的经历来决定是继续收集垃圾还是返回充电点。

这些案例都涉及决策主体与其环境的互动,通过预测未来环境的状态,来正确地选择有远见的行动。另外,这些案例都涉及明确的目标,棋手知道自己是否赢了,小羚羊知道自己什么时候摔倒,扫地机器人知道电池电量什么时候耗尽。随着时间的推移,决策主体可以根据其经验来提高其相应的能力。

3、强化学习的要素

除了智能体(Agent)外,强化学习系统包括四个要素:策略(Policy),奖励(Reward),价值(Value)以及环境模型(Model)。

  • 策略(Policy)
    策略定义了智能体对于给定状态所作出的行为,换句话说,就是一个从环境中感知的状态到采取行动的映射。策略是强化学习系统的核心,因为可以通过策略来确定每个状态下的行为。

  • 奖励(Reward)
    奖励定义了强化学习问题的目标,在每个步长中,环境向智能体发送的标量即为奖励,智能体的唯一目标就是在长期运行中最大化所获得的总奖励,因此它能定义智能体表现的好坏,也可以认为奖励是影响策略的主要因素。

  • 价值(Value)
    奖励是对即时收益的衡量,而价值是对长期收益的衡量。简单来说,一个状态的价值是智能体从该状态开始,未来积累的奖励总量的期望值。例如,一种状态总是产生很低的即时奖励,却具有较高的价值,因为该状态的未来会伴随产生具有较高即时奖励的其他状态。这类似于,备考的过程很痛苦(较低的奖励),但考试会取得好的成绩(较高的价值)。
    没有奖励就没有价值,评估价值的唯一目的是为了获得更多的奖励,但是,当我们评估策略的好坏时,我们最关心的是价值,我们寻求能带来最高价值而不是最高的奖励的动作,因为从长远来看,这种动作可以带来最大化的奖励总和。不幸的是,奖励基本上是由环境直接给予的,而价值必须根据智能体在整个周期中的表现进行估计。事实上,几乎所有强化学习算法的最重要的组成部分就是有效估计价值的方法。

  • 环境模型(Model of the environment)
    环境模型是一种对环境的模拟,或者说,它允许对环境的行为进行推断。例如,给定一个状态和动作,模型可能会预测下一个状态和下一个奖励。但并非所有的强化学习系统都需要一个模型,因此有基于模型(Model-based)和不基于模型(Model-free)两种不同的方法,

4、限制和范围

强化学习在很大程度上依赖状态,因为状态作为策略和价值函数的输入,同时也作为环境模型的输入,它向智能体转达 “环境如何” 的感觉,状态可以视为智能体可以获得的关于环境的任何信息。

大多数强化学习方法都是围绕价值函数构建的,但是解决强化学习问题并不一定要这样做,例如遗传算法、遗传规划、模拟退火等求解方法和其他优化方法从不估计价值函数,我们称这些方法为进化方法,如果策略的空间足够小,或者说构造成好的策略比较容易找到,并且有足够的时间用于搜索,那么进化方法是有效的。此外,当智能体无法感知环境的完整状态时,进化方法具有优势。

强化学习方法可以在与环境互动的同时学习,这是进化方法不能做到的。在许多情况下,能够利用个体行为相互作用细节的方法可能比进化方法更有效。进化方法忽略了强化学习问题的许多有用的结构:① 它们所搜索的策略是从状态到动作的函数;② 它们不会注意个体在其生命周期经历了哪些状态,或采取了哪些动作。

相关文章:

强化学习(一)简介

强化学习这一概念在历史上来源于行为心理学,来描述生物为了趋利避害而改变自己行为的学习过程。人类学习的过程其实就是为达到某种目的不断地与环境进行互动试错,比如婴儿学习走路。强化学习算法探索了一种从交互中学习的计算方法。 1、强化学习 强化学…...

外贸常用网站

外贸常用网站 网站阿里巴巴国际站阿里巴巴国内站Aliexpress 速卖通shopifyAmazon 亚马逊k3 开山女鞋网bao66 牛包包网爱搜鞋k3 开山网(女鞋)新款网(男女鞋)搜款网(男女衣服)17zwd(女装)17zwd(女装) 物流yunexpress 云途物流 其他amz123 跨境卖家导航amz520 跨境卖家导航 网站 …...

Android中集成FFmpeg及NDK基础知识

前言 在日常App开发中,难免有些功能是需要借助NDK来完成的,比如现在常见的音视频处理等,今天就以ffmpeg入手,来学习下Android NDK开发的套路. JNI和NDK 很多人并不清除JNI和NDK的概念,经常搞混这两样东西,先来看看它们各自的定义吧. JNI和NDK 很多人并不清除JNI和NDK的概念…...

1.13寒假集训

晚上兼职下班回来才有时间写题&#xff0c;早上根本起不来 A: 解题思路&#xff1a;我第一开始以为只要满足两个red以上的字母数量就行&#xff0c;但是过不了&#xff0c;后面才发现是red字符串&#xff0c;直接三个三个判断就行。 下面是c代码&#xff1a; #include<io…...

删除排序链表中的重复元素

说在前面 &#x1f388;不知道大家对于算法的学习是一个怎样的心态呢&#xff1f;为了面试还是因为兴趣&#xff1f;不管是出于什么原因&#xff0c;算法学习需要持续保持。 题目描述 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只…...

echarts的dispatchAction

触发图表行为&#xff0c;通过dispatchAction触发。例如图例开关legendToggleSelect, 数据区域缩放dataZoom&#xff0c;显示提示框showTip等等。 官网&#xff1a;echarts (在 ECharts 中主要通过 on 方法添加事件处理函数。) events&#xff1a; ECharts 中的事件分为两种…...

Java IO学习和总结(超详细)

一、理解 I/O 是输入和输出的简写&#xff0c;指的是数据在计算机内部和外部设备之间的流动。简单来说&#xff0c;当你从键盘输入数据、从鼠标选择操作&#xff0c;或者在屏幕上看到图像&#xff0c;这些都是 I/O 操作。它就像是计算机与外部世界沟通的桥梁&#xff0c;没有 I…...

mysql忘记root密码后怎么重置

mysql忘记root密码后重置方法【windows版本】 重置密码步骤停掉mysql服务跳过密码进入数据库在user表中重置密码使用新密码登录mysql到此&#xff0c;密码就成功修改了&#xff0c;完结&#xff0c;撒花~ 重置密码步骤 当我们忘记mysql的密码时&#xff0c;连接mysql会报这样的…...

计算机图形学作业:三维线段的图形变换

1. 将三维空间某线段 P1P2进行如下的操作&#xff0c;请按要求回答问题&#xff1a; &#xff08;1&#xff09; 沿 X 轴、Y 轴和 Z 轴分别平移 dx、dy 和 dz 的长度&#xff0c;给出相应的变换矩阵。 变换矩阵为&#xff1a; T100001000010dxdydz1 &#xff08;2&#xff09…...

Linux mren命令教程:批量重命名文件(附实际操作案例和注意事项)

Linux mren命令介绍 mren&#xff08;全称multiple rename&#xff09;&#xff0c;它是用来对多个文件进行重命名的工具。这个命令在一次操作中可以批量改变多个文件的名称&#xff0c;特别是在需要对大量文件进行重命名时&#xff0c;mren将节省大量的时间和努力。 Linux m…...

LLVM系列(1): 在微软Visual Studio下编译LLVM

参考链接&#xff1a; Getting Started with the LLVM System using Microsoft Visual Studio — LLVM 18.0.0git documentation 1.安装visualstudio&#xff0c;版本需要大于vs2019 本机环境已安装visual studio2022&#xff0c;省略 2安装Makefile&#xff0c;版本需要大…...

分布式系统的三字真经CAP

文章目录 前言C&#xff08;Consistency 数据一致性&#xff09;A&#xff08;Availability 服务可用性&#xff09;P&#xff08;Partition Tolerance 分区容错性&#xff09;CAP理论最后 前言 你好&#xff0c;我是醉墨居士&#xff0c;我一起探索一下分布式系统的三字真经C…...

大模型背景下计算机视觉年终思考小结(一)

1. 引言 在过去的十年里&#xff0c;出现了许多涉及计算机视觉的项目&#xff0c;举例如下&#xff1a; 使用射线图像和其他医学图像领域的医学诊断应用使用卫星图像分析建筑物和土地利用率相关应用各种环境下的目标检测和跟踪&#xff0c;如交通流统计、自然环境垃圾检测估计…...

Modbus协议学习第一篇之基础概念

什么是“协议” 大白话解释&#xff1a;协议是用来正确传递消息数据而设立的一种规则。传递消息的双方&#xff08;两台计算机&#xff09;在通信时遵循同一种协议&#xff0c;即可理解彼此传递的消息数据。 Modbus协议模型 Modbus协议模型较为简单&#xff0c;使用一种称为应用…...

gem5学习(12):理解gem5 统计信息和输出——Understanding gem5 statistics and output

目录 一、config.ini 二、config.json 三、stats.txt 官方教程&#xff1a;gem5: Understanding gem5 statistics and output 在运行 gem5 之后&#xff0c;除了仿真脚本打印的仿真信息外&#xff0c;还会在根目录中名为 m5out 的目录中生成三个文件&#xff1a; config.i…...

索引的概述和使用

1、概述 索引占用存储空间&#xff0c;并不是越多越好&#xff0c;太多的索引会影响系统性能 索引分类 聚集索引&#xff1a; 逻辑顺序和物理顺序是一致的&#xff08;表中行数的位置决定了该行在内存中存储的位置&#xff09;&#xff0c;因此效率优先于非聚集索引&#xff…...

力扣210. 课程表 II

深度优先遍历 思路&#xff1a; 搜索逻辑参见​​​​​​力扣207.课程表需要课程安排的顺序&#xff0c;课程搜索完成时&#xff0c;将其存储起来即可&#xff1b;存储课程的顺序需要注意&#xff1a; 输入依赖中 [A, B]图中表示 B -> A &#xff0c;表示先 B 后 A&#x…...

[Docker] Mac M1系列芯片上完美运行Docker

docker pull qinchz/dm8-arm64 container_name: dm8ports:- "5236:5236"mem_limit: 1gmemswap_limit: 1gvolumes:- /data/dm8:/home/dmdba/data 数据库实例参数已修改&#xff0c;接近oracle使用习惯 #字符集 utf-8 CHARSET1 #VARCHAR 类型对象的长度以字符为单位 …...

CompletableFuture、ListenableFuture高级用列

CompletableFuture 链式 public static void main(String[] args) throws Exception {CompletableFuture<Integer> thenCompose T1().thenCompose(Compress::T2).thenCompose(Compress::T3);Integer result thenCompose.get();System.out.println(result);}// 假设这些…...

什么是云服务器,阿里云优势如何?

阿里云服务器ECS英文全程Elastic Compute Service&#xff0c;云服务器ECS是一种安全可靠、弹性可伸缩的云计算服务&#xff0c;阿里云提供多种云服务器ECS实例规格&#xff0c;如经济型e实例、通用算力型u1、ECS计算型c7、通用型g7、GPU实例等&#xff0c;阿里云百科aliyunbai…...

HCIA-Datacom题库(自己整理分类的)_15_VRP平台多选【9道题】

1.VRP操作平台存在哪些命令行视图? 用户视图 接口视图 协议视图 系统视图 2.以下哪些存储介质是华为路由器常用的存储介质 SDRAM NVRAM Flash Hard Disk SD Card 解析&#xff1a;Hard Disk是硬盘&#xff0c;一般网络设备没有。 3.VRP支持通过哪几种方式对路由器…...

html5基础入门

html5基础语法与标签 前言前端开发零基础入门介绍前端开发行业介绍&#xff1a;大前端时代&#xff1a;前端开发主要技术介绍学习方法IDE简介vscode快捷键&#xff1a; 总结 HTML语法与基础标签互联网基本原理HTTP协议&#xff08;请求、响应&#xff09;什么是前端、后端&…...

JVM工作原理与实战(十五):运行时数据区-程序计数器

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、程序计数器 总结 前言 JVM作为Java程序的运行环境&#xff0c;其负责解释和执行字节码&#xff0c;管理内存&#xff0c;确保安全&#xff0c;支持多线程和提供…...

计算机体系结构----存储系统

本文严禁转载&#xff0c;仅供学习使用。参考资料来自中国科学院大学计算机体系结构课程PPT以及《Digital Design and Computer Architecture》、《超标量处理器设计》、同济大学张晨曦教授资料。如有侵权&#xff0c;联系本人修改。 1.1 引言 1.1.1虚拟和物理内存 程序员看到…...

华为OD机试2024年最新题库(Python)

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年1月-5月&#xff0c;考的都是OD统一考试&#xff08;C卷&#xff09;&#xff0c;题库已经整理…...

【打卡】牛客网:BM84 最长公共前缀

自己写的&#xff1a; 题目要求时间复杂度是o(n*len)&#xff0c;说明可以遍历所有的字符。 空间复杂度o(1)&#xff0c;说明不能用字符串存储公共前缀&#xff0c;所以用下标来记录。 调试过程&#xff1a; 大概花了20min。 我调试前的做法是&#xff0c;在while循环中&…...

我在Vscode学OpenCV 图像处理三(图像梯度--边缘检测【图像梯度、Sobel 算子、 Scharr 算子、 Laplacian 算子、Canny 边缘检测】)

文章目录 一、图像梯度1.1 介绍1.2 涉及函数 二、高频强调滤波器2.1 Sobel 算子2.1.1 Sobel 理论基础2.1.2 Sobel 算子及函数使用&#xff08;1&#xff09;对参数取绝对值&#xff08;2&#xff09;控制dx&#xff0c;dy方向的求导阶数1. **计算 x 方向边缘&#xff08;梯度&a…...

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑤

单元测试 一、任务要求 题目1&#xff1a;根据下列流程图编写程序实现相应处理&#xff0c;执行j10*x-y返回文字“j1&#xff1a;”和计算值&#xff0c;执行j(x-y)*(10⁵%7)返回文字“j2&#xff1a;”和计算值&#xff0c;执行jy*log(x10)返回文字“j3&#xff1a;”和计算值…...

seata分布式事务(与dubbo集成)

1.seata是什么? Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 2.seata的注解 GlobalTransactional&#xff1a;全局事务注解&#xff0c;添加了以后可实现分布式事务的回滚和提交&#xff0c;用法与spring…...

Leetcod面试经典150题刷题记录 —— 数学篇

Leetcode面试经典150题刷题记录-系列Leetcod面试经典150题刷题记录——数组 / 字符串篇Leetcod面试经典150题刷题记录 —— 双指针篇Leetcod面试经典150题刷题记录 —— 矩阵篇Leetcod面试经典150题刷题记录 —— 滑动窗口篇Leetcod面试经典150题刷题记录 —— 哈希表篇Leetcod…...