强化学习 Reinforcement Learning(1) ~ 介绍

news2024/11/13 19:02:37

1. 强化学习概念和分类

强化学习,Reinforcement Learning

通过价值选行为:

  • Q Learning
  • Sarsa
  • Deep Q Network

直接选行为:

  • Policy Gradients

想象环境并从众学习:

  • Model Based RL

1.1 通过环境分类

1.1.1 不理解环境 Model-Free RL

Model-free RL都是从环境中得到反馈,从而学习。

  • Q Learning
  • Sarsa
  • Policy Gradients

Model-free RL只能等待现实环境反馈,从而一步一步进行学习。

1.1.2 理解环境 Model-Based RL

Model-based RL是对现实世界做虚拟环境建模,通过想象预判断接下来发生的所有情况,并从众选择效果最好的那种情况,并根据这种最好的情况来采取下一步策略。

1.2 根据感官分类

1.2.1 基于概率 Policy-Based RL

通过感官分析所处的环境,直接说出下一步行动的概率,并根据概率采取行动。

  • Polic Gradients

能够处理连续动作

1.2.2 基于价值 Value-Based RL

根据感官输出所有动作的价值,并根据最高价值来选择动作。

  • Q Learning
  • Sarsa

不能处理连续动作 

1.2.3 Actor-Critic RL

结合Policy-based RL和Value-Based RL方法优点,创造出一种更优秀的RL method:Actor-Critic。

Actor会基于概率做出动作,Critic会根据动作给出价值

1.3 游戏更新

想要强化学习,就使它玩游戏

1.3.1 回合更新 Monte-Carlo update

回合更新是指游戏开始后,我们需要等待游戏结束,通过总结游戏中所有的转折点,然后更新我们的行为准则。 

  • 基础班 Policy Gradients
  • Monte-Carlo Learning

1.3.2 单步更新 Temporal-Difference update

单步更新是指在游戏中进行的每一步都在进行更新,不用等待游戏结束。 

  • Q Learning
  • Sarsa
  • 升级版 Policy Gradients

单步更新更有效率,现在深度学习中大多数方法都是单步更新。 

1.4 是否在线

1.4.1 在线学习 On-Policy

 在线学习是指本人在场,在边玩边学习

  • Sarsa
  • Sarsa(λ)

1.4.2 离线学习 Off-Policy

 离线学习是指你可以自己玩,也可以看着别人玩。通过看别人玩,来学习别人的行为准则。

  • Q Learning
  • Deep Q Network

离线学习可以先储存下来玩耍的记忆,晚上再学习。 

2. RL Algorithm

2.1 Q-Learning

rules of conduct,行为准则,

e.g. "No watching TV before you finish your homework"

so under the state of doing homework, 

  • a good rule of conduct is continuing doing homework, then we can be rewarded when finish.
  • a bad rule of conduct is watching TV without finishing the homework, then penalty.

Q-Learning is also a decision-making process.

  • state 1: doing the homework
  • action 1: watching TV; action 2: doing the homework
  • underlying results: Q table

 s1有两个行为a1和a2,在s1状态下,a2带来的潜在奖励要比a1高,这里的潜在奖励用含有s和a的Q表来表示,Q(s1,a1) < Q(s1,a2) --> a2 作为下一个行为  --> 现在状态更新为s2。

s2依然有两个行为a1和a2,重复上述过程。

 根据Q表的估计,现在在s1中a2的值比较大,通过之前的决策方法,我们会在s1选择a2的行动,并且到达s2,这时我们更新用于决策的Q表。接着,我们并没有在实例中采取任何行动, 而是在想在s2上采取的哪种行动,分别看看两种行动哪一种的Q值比较大,比如说Q(s2,a2) > Q(s2,a1)

--》所以,我们会把大的Q(s2,a2) * 衰减值γ(e.g. 0.9) + 到达s2时所获得的奖励R (这时还没有获取到棒棒糖,所以实际奖励为0),因为这一次会获取实际奖励R,我们将这一次作为现实中Q(s1,a2)的值。但是,我们之前是根据Q表估计Q(s1,a2)的值,根据现实与估计的差距,将这个差距 * 学习率α,累加上老Q(s1,a2) = 新Q(s1,a2)。

Note that,我们虽然用了maxQ(s2)来估计下一个s2的状态,但还没有在状态s2做出任何的行为,s2的决策部分要等到更新完了以后再重新去做

参考

https://www.youtube.com/watch?v=NVWBs7b3oGk&list=PLXO45tsB95cJYKCSATwh1M4n8cUnUv6lT&index=1

https://www.cnblogs.com/pinard/p/9385570.html

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

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

相关文章

4.5 习题(王晓云 主编)

一、选择题1. 下面( ) 是错误的if 语句&#xff08;设int x,a,b;&#xff09;BA&#xff09;if (ab) x; B&#xff09;if (a<b) x;C&#xff09;if (a-b) x; D&#xff09;if (x ) x;2. 以下程序片段( )。Dvoid main ( ){int x0,y0,z0;if (xyz) printf(“***”);else printf…

RT-Thread SP使用教程

RT-Thread SPI 使用教程 实验环境使用的是正点原子的潘多拉开发板。 SPI从机设备使用的是BMP280温湿度大气压传感器。 使用RT-Thread Studio搭建基础功能。 1. 创建工程 使用RT-Thread Studio IDE创建芯片级的工程。创建完成后&#xff0c;可以直接编译下载进行测试。 2.…

JVM学习篇垃圾收集器ParNewCMS与底层三色标记算法详解

1. 垃圾收集算法 2. 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法&#xff0c;这种算法没有什么新的思想&#xff0c;只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代&#xff0c;这样我们就可以根据各个年代的特点选择合适的垃圾收集算法…

因果推断7--深度因果模型综述(个人笔记)

目录 0摘要 1介绍 2预习 3治疗和指标 4深层因果模型的发展 4.1发展时间表 4.2模型分类 5典型的深层因果模型 6实验指南 6.1数据集 6.2code 6.3实验 7结论 参考 编码 1.自编码器(AE)&#xff1a; 2.去噪自编码器(DAE) 3.变分自编码器VAE 4.去耦变分自编码 文章…

复旦MBA父女“接力”,圆梦复旦|校友故事

父亲&#xff1a;钱一&#xff0c;2006级复旦MBA校友      女儿&#xff1a;钱盈&#xff0c;2017级财务管理本科&#xff0c;金融硕二年级在读      在管院的众多校友中&#xff0c;有这样一对父女&#xff1a;2006年&#xff0c;父亲钱一考上了复旦MBA&#xff0c;每…

node基于springboot 口腔卫生防护口腔牙科诊所管理系统

目录 1 绪论 1 1.1课题背景 1 1.2课题研究现状 1 1.3初步设计方法与实施方案 2 1.4本文研究内容 2 2 系统开发环境 4 2.1 JAVA简介 4 2.2MyEclipse环境配置 4 2.3 B/S结构简介 4 2.4MySQL数据库 5 2.5 SPRINGBOOT框架 5 3 系统分析 6 3.1系统可行性分析 6 3.1.1经济可行性 6 3.…

Hadoop配置文件常用配置-Yarn容器调度策略配置

Yarn资源调度 当同时向Yarn集群提交多个Job任务时&#xff0c;Yarn可以对任务进行资源&#xff08;CPU、MEMORY&#xff09;隔离。 容器调度策略是Yarn默认的调度策略&#xff0c;容器调度策略把整个集群资源划分成队列来管理&#xff0c;默认有一个root根队列&#xff0c;下…

聚类-理论补充

目录 一。聚类的定义 二。相似度/距离计算方法总结 1.闵可夫斯基距离Minkowski/欧式距离 2.杰卡德相似系数(Jaccard) 3.余弦相似度(cosine similarity) 4.Pearson相似系数 5.相对熵(K-L距离) 6.Hellinger距离 三。聚类的基本思想 四。k-Means算法 五。对k-Means的思…

图像显著性目标检测

一、概述 1、定义 图像显著性检测(Saliency Detection,SD)&#xff0c; 指通过智能算法模拟人的视觉系统特点&#xff0c;预测人类的视觉凝视点和眼动&#xff0c;提取图像中的显著区域(即人类感兴趣的区域)&#xff0c;可以广泛用于目标识别、图像编辑以及图像检索等领域&am…

从0到1一步一步玩转openEuler--19 openEuler 管理服务-特性说明

文章目录19 管理服务-特性说明19.1 更快的启动速度19.2 提供按需启动能力19.3 采用cgroup特性跟踪和管理进程的生命周期19.4 启动挂载点和自动挂载的管理19.5 实现事务性依赖关系管理19.6 与SysV初始化脚本兼容19.7 能够对系统进行快照和恢复19 管理服务-特性说明 19.1 更快的…

结合实例,直观理解正态分布、卡方分布、t分布、F分布和对应的Z检验、卡方检验、t检验、F检验

1 正态分布与Z检验 1.1 理论 Z检验的目的是为了验证&#xff1a;已知一个总体服从均值&#xff0c;方差的正态分布&#xff0c;现在有一些样本&#xff0c;这些样本所代表的总体的均值是否为。 则构建一个统计量Z&#xff0c; &#xff08;1&#xff09; 式中&#xff0c;为…

2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了

2023第10届生物发酵展3月30-4月1号山东济南开展&#xff0c;参观路线来了&#xff01;展会时间&#xff1a;2023年3月30日-4月1日展馆地址&#xff1a;山东国际会展中心&#xff08;济南市槐荫区日照路1号&#xff09;展馆&#xff1a;4号馆、5号馆BIO CHINA生物发酵展&#xf…

Python|每日一练|栈|递归|散列表|数组|回溯|单选记录:重排链表|编写Python程序实现素数处理的功能| 全排列

1、重排链表&#xff08;栈&#xff0c;递归&#xff09; 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln-1 → Ln 请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln-1 → L2 → Ln-2 → … 不能只是单纯的改变节点内…

vue中debug调试node_modules的代码

适用于想调试webpack-dev-server&#xff08;第三方模块&#xff09;里的代码&#xff0c;在代码里打印console.log无效的情况。 我用的idea&#xff0c;配置如下&#xff1a; 一、idea配置vue项目启动 1、 主入口js配置&#xff1a;node_modules\vue\cli-service\bin\vue-c…

wine学习笔记

目前 wine 版本为较为稳定的 8.0 版本&#xff0c;本文也是重点围绕 wine 8.0 安装、使用以及 wine 工具介绍等方面进行了学习和整理。 一、安装 wine 1. 如果你使用的是 64 位系统&#xff0c;需要先开启 32 bit 架构支持&#xff1a; $ sudo dpkg --add-architecture i386…

【Kubernetes】第四篇 - k8s 集群环境搭建

一&#xff0c;前言 前两篇&#xff0c;购买了 3 台阿里云服务器并完成了 ci-server 构建服务器的环境安装与配置&#xff1b; 三台服务器规划如下&#xff1a; 服务配置内网IP外网IP说明ci-server2c4g172.17.178.104182.92.4.158Jenkins Nexus Dockerk8s-master2c4g172.1…

Visual Studio 高级调试-Dump分析

Dumpdump指转储&#xff0c;一般用来创建进程快照。它可以在不停止应用的情况下&#xff0c;直接将模块列表、线程列表、堆栈信息、异常信息、句柄信息等所有内存信息保存下来&#xff0c;帮助开发者分析生产环境问题等。这篇博客主要介绍dotnet-dump的使用以及如何在Visual St…

SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】(内含教学视频+源代码)

SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发环境、测试环境、生产环境】(内含教学视频源代码) 教学视频源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87463492 目录SpringBoot2.x实战专题——SpringBoot2 多配置文件【开发…

【MySQL】Java连接MySQL数据库(封装版只需会MySQL)

一、准备普通项目如果创建的是普通的Java项目&#xff0c;我们需要去maven仓库下载jdbc驱动包然导入项目中就能使用&#xff0c;具体步骤详见MySQL数据库之Java中如何使用数据库【JDBC编程】maven项目如果创建的项目是maven项目&#xff0c;我们只需在pom.xml文件里引入一组依赖…

适合初学者的超详细实用调试技巧(上)

我们日常写代码的时候&#xff0c;常常会遇到bug的情况&#xff0c;这个时候像我这样的初学者就会像无头苍蝇一样这里改改那里删删&#xff0c;为了根除这种情况&#xff0c;我最近系统学习了调试的技巧&#xff0c;我想要十分详细地讲解&#xff0c;所以大概不会一篇文章写完。…