强化学习、监督学习、无监督学习是什么

1 强化学习

1.1 定义

强化学习是机器学习学习方式的一种,是让计算机实现从一开始完全随机的进行操作,通过不断试错的方式去总结出每一步的最佳行为决策,基于环境给予的反馈,去调整自己的行为决策,从而对未来的行为给出最优决策。强化学习已广泛应用于无人驾驶、机器人控制、游戏对弈、推荐系统中。

1.2 机器学习分类

根据学习范式的不同,机器学习可划分为有监督学习、无监督学习、半监督学习、强化学习。

  • (1)监督学习:

    训练数据有标签,通过算法建模,学习出数据输入与标签之间的映射关系,从而对未来的输入进行标签预测。根据标记信息的“离散”或“连续性”,监督分为“分类”和“回归”两类。如,神经网络、支持向量机、近期邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类等。

  • (2)无监督学习:

    训练数据无标签,通过算法建模,学习总结出数据中的共性模式,从而对未来的数据进行编码、聚类等。如,PCA、k-means聚类等。

  • (3)半监督学习:

    训练数据中少量标注样本和大量未标注样本,半监督学习是介于有监督学习和无监督学习两者之间的学习技术,它同时利用有标记样本与无标记样本进行学习。通过算法建模,学习出数据输入与标签之间的映射关系,从而对未来的输入进行标签预测。

  • (4)强化学习:

    训练数据无标签,但需要学习环境给出反馈,基于环境给出的反馈来不断优化调整自己的行为决策。从而对未来的行为给出最优决策。如,Q-Learning、DQN、蒙特卡洛方法等。

1.3 强化学习组成部分

强化学习主要由两个主体、四个部分组成。

Image

(1)两个主体

  • Agent:代理人,即采取行动的个体,如玩家。

  • Environment:环境,能对行动产生反馈,如游戏规则。

(2)四个部分

<A, S, R, P> Action space , State space ,Reward, Policy

  • A:动作空间,即Agent采取行动的所有动作空间。如对于贪吃蛇游戏,就是上下左右的离散操作空间;而对于驾驶类游戏,则是向左向右和液氮加速等的连续空间。

  • S:状态空间,对于Agent采取行动后的反馈状态。贪吃蛇的身体长度位置、卡丁车的速度位置等,都是State。

  • R:奖励,实数值,顾名思义,就是奖赏或惩罚。

  • P:策略,即Agent在状态s ∈ S s\in Ss∈S下会采取什么行动a ∈ A a\in Aa∈A。

    强化学习,就是在环境E下,由Agent根据状态S采取动作A,为了获得最大奖励R而不断训练生成策略P的过程。

2 强化学习的分类

2.1 按照是否对环境建模(环境是否已知)来分

  • (1)Model-Free RL(不对环境进行建模)
    model就是用模型来表示上述提到的环境,不尝试去理解环境,环境给了我们什么就是什么,从环境中得到反馈然后从中学习,环境未知,如在公园里,无地图,通过不断试错摸索找到出口。如Q learning、Sarsa、Policy Gradients等。

  • (2)Model-Based RL(对环境进行建模)
    通过过往的经验,先理解真实世界是怎么样的,并建立一个模型来模拟现实世界的反馈,不仅可以在真实世界中动作,也可以在虚拟环境中动作。能够通过想象来预判接下来将要发生的所有情况,然后选择这些想象情况中最好的那种,并依据这种情况来采取下一步的策略,环境已知,如在公园里,有地图,可动态规划找到出口,alphaGo就是用的此类。还是上述方法,只是加入和环境建模。

2.2 按照学习目标来分

(1)Policy-Based RL(基于概率)

通过感官分析所处的环境,直接输出下一步要采取的各种动作的概率,然后根据概率采取行动,所以每种动作都有可能被选中,只是可能性不同。如,Policy Gradients等。

(2)Value-Based RL(基于价值)

输出所有动作的价值,根据最高价值来选择动作。如,Q learning、Sarsa等。(对于不连续的动作,这两种方法都可行,但如果是连续的动作基于价值的方法是不能用的,我们只能用一个概率分布在连续动作中选择特定的动作)。

(3)Actor-Critic

我们还能结合这两种方法建立一种Actor-Critic的方法,基于概率会给出做出的动作,基于价值会对做出的动作的价值二者的综合。

2.3 按照策略更新方式来分

(1)Monte-Carlo update(回合更新)

游戏开始到结束更新一次模型参数(行为准则)。如,基础版Policy Gradients、Monte-Carlo Learing等。

(2)Temporal-Difference update(单步更新)

游戏开始到结束中的每一步都会更新一次模型参数(行为准则)。如,Q Learning、Sarsa、升级版Policy Gradient等。

2.4 按照学习方式来分

(1)online RL(在线强化学习)

学习过程中,智能体需要和真实环境进行交互(边玩边学习)。并且在线强化学习可分为on-policy RL和off-policy RL。on-policy采用的是当前策略搜集的数据训练模型,每条数据仅使用一次。off-policy训练采用的数据不需要是当前策略搜集的。如,Sarsa、Sarsa lambda等。

(2)offline RL(离线强化学习)

学习过程中,不与真实环境进行交互,只从过往经验(dataset)中直接学习,而dataset是采用别的策略收集的数据,并且采集数据的策略并不是近似最优策略。如,Q learning等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

什么是推挽输出,开漏输出?

这篇文章是看B站“工科男孙老师”这个视频的笔记推挽 开漏 高阻 这都是谁想出来的词&#xff1f;&#xff1f; 我觉得讲的很好&#xff0c;做一下笔记 1.什么是IO输出三态 一共有&#xff1a;高电平, 低电平&#xff0c;浮空/高阻态 三种IO态 2.推挽输出 推挽输出能够表示高、…

短链接是怎么设计的?带你入门

文章目录前言一、短链1、原理1.1 短链生成原理1.2 短链跳转原理&#xff1a;2、设计&#xff1a;2.1 短链需求2.2 考虑的问题&#xff1f;二、实践案例1、设计表&#xff1a;2、生成短链&#xff1a;前言 说到 URL 你肯定不陌生&#xff0c;浏览器输入一段 URL&#xff0c;立马…

QMessageBox手动添加按钮并绑定按钮的信号

视频展示效果&#xff08;结合代码看效果更佳哦&#xff0c;代码在最下面&#xff09;&#xff1a; QMessageBox手动添加有重试效果的按钮效果图&#xff1a; 点击详细文本之后展开如下图&#xff1a; 图标可选&#xff1a; QMessageBox::Critical错误图标QMessageBox::NoIco…

第二十一天 数据库开发-MySQL

目录 数据库开发-MySQL 前言 1. MySQL概述 1.1 安装 1.2 数据模型 1.3 SQL介绍 1.4 项目开发流程 2. 数据库设计-DDL 2.1 数据库操作 2.2 图形化工具 2.3 表操作 3. 数据库操作-DML 3.1 增加(insert) 3.2 修改(update) 3.3 删除(delete) 数据库开发-MySQL 前言 …

深度学习:GPT1、GPT2、GPT-3

深度学习&#xff1a;GPT1、GPT2、GPT3的原理与模型代码解读GPT-1IntroductionFramework自监督学习微调ExperimentGPT-2IntroductionApproachConclusionGPT-3GPT-1 Introduction GPT-1&#xff08;Generative Pre-training Transformer-1&#xff09;是由OpenAI于2018年发布的…

从0到1深度学习环境搭建

目录第一步&#xff1a;安装anaconda第二步&#xff1a;创建一个虚拟环境试一下第三步&#xff1a;确定cuda算力&#xff0c;配置cudapytorch官网找版本pycharm配置pycharm进行设置setting 能够打开conda的shell终端如何给下载的项目设置合适的环境如果必须要低版本的pytorch才…

智驾芯片“性价比之王”凭何抢滩增量市场?

未来几年&#xff0c;智能驾驶功能将进入跨越式升级的阶段&#xff0c;同时L2将快速普及&#xff0c;L2进入集中放量的阶段。 包括自动泊车 (APA)、家庭区域记忆泊车 (HAVP)、交通拥堵辅助 (TJA)、高速辅助驾驶 (HWA)、自动辅助导航驾驶 (NOA) 等在内的功能已为普通车主耳熟能…

美颜sdk的动态面具、3D面具实现流程

在美颜sdk的实现中&#xff0c;面具是很重要的一个部分&#xff0c;不管是动态面具还是3D面具都需要实现的&#xff0c;我们在开发中常用的是动态面具和3D面具。但是两种面具有很多不同之处&#xff0c;比如制作材料、制作方式等等。在这里我们先来了解一下动态面具和3D面具是如…

8个不能错过的程序员必备网站,惊艳到我了!!!

程序员是一个需要不断学习的职业&#xff0c;不少朋友每天来逛CSDN、掘金等网站&#xff0c;但一直都抱着“收藏从未停止&#xff0c;学习从未开始”的态度&#xff0c;别骗自己了兄弟。在编程体系中&#xff0c;有很多不错的小工具&#xff0c;可以极大得提升我们的开发效率。…

电容在微分、积分电路中的本质以及应用

很多朋友觉得PID是遥不可及&#xff0c;很神秘&#xff0c;很高大上的一种控制&#xff0c;对其控制原理也很模糊&#xff0c;只知晓概念性的层面&#xff0c;知其然不知其所以然&#xff0c;那么本期从另类视角来探究微分、积分电路的本质&#xff0c;意在帮助理解PID的控制原…

第十四届蓝桥杯三月真题刷题训练——第 21 天

目录 第 1 题&#xff1a;灭鼠先锋 问题描述 运行限制 代码&#xff1a; 思路&#xff1a; 第 2 题&#xff1a;小蓝与钥匙 问题描述 答案提交 运行限制 代码&#xff1a; 思路 : 第 3 题&#xff1a;李白打酒加强版 第 4 题&#xff1a;机房 第 1 题&#xff1…

存储专题扩容,HA、LB分布式存储

一、架构与存储的关系一个新的硬盘在linux系统里使用一般来说就三步:(分区,格式化)-挂载-使用blocklvs:四层负载均衡&#xff0c;nginx、haproxy四层和七层都有redis、memcache缓存中间件是缓存后端数据库读的信息。高端的容器技术&#xff0c;一旦系统出现可以可以直接重装系统…

【springboot】读写分离:

文章目录一、mysql主从复制&#xff08;从库可以有多个&#xff09;&#xff1a;【1】提前准备好两台服务器&#xff0c;分别安装Mysql并启动成功【2】配置---主库Master【3】配置---从库Slave【4】克隆的虚拟机导致mysql主从UUID一致怎么修改&#xff1a;【5】测试二、读写分离…

springboot学生综合测评系统

031-springboot学生综合测评系统演示录像2022开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&…

uniapp封装各个时间方法

难点&#xff1a;在项目中我们经常会用到时间转换或时间比对加减问题为了方便很多页面去调用时间方法&#xff0c;我把时间方法封装成了公共方法1.首先在根目录创建文件夹与pages平级&#xff0c;我这里创建了plugins文件夹2.其次在plugins文件夹下面创建index.js文件&#xff…

LeetCode题解 20(17,79) 电话号码的字母组合,单词搜索<回溯>

文章目录电话号码的字母组合(17)代码解答单词搜索(79)代码解答电话号码的字母组合(17) 思路: 根据题意我们必须根据数字获取对应的字符数组&#xff0c;因此我们先定义1个字符数组表示这个电话表 private String[] letters {"","","abc","…

C语言例程:学生成绩管理程序

学生成绩管理程序 实例说明 编制一个统计存储在文件中的学生考试分数的管理程序。设学生成绩以一个学生一条记录的 形式存储在文件中&#xff0c;每个学生记录包含的信息有姓名、学号和各门功课的成绩。要求编制具有以 下几项功能的程序&#xff1a;求出各门课程的总分&#…

Redis单线程还是多线程?IO多路复用原理

目录专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程&#xff1f;三、Redis6.0引入多线程四、Redis主线程和IO线程是如何完成请求的&#xff1f;1、服务端和客户端建立socket连接2、IO线程读取并解析请求3、主线程执行请求命令4、IO线程会写回socket和主线程清…

cron表达式 详解

corn表达式是&#xff1a;由若干数字、空格、符号按一定的规则&#xff0c;组成的一组字符串&#xff0c;从而表达时间的信息。 好像和正则表达式有点类似哈&#xff0c;都是一个字符串表示一些信息。Cron 表达式生成器&#xff1a; https://www.smart-tools.cn/cron简介Cron 表…

部署私有npm 库

使用verdacciohttps://verdaccio.org/安装verdaccio使用npm全局安装npm install -g verdaccio安装完成以后&#xff0c;输入verdaccio -h出现如下相关提示&#xff0c;说明verdaccio安装成功。运行verdaccio直接执行verdaccio出现如下相关提示&#xff0c;说明verdaccio启动成功…