学习笔记--强化学习(1)

参考:https://blog.csdn.net/koulongxin123/article/details/122676149

1.什么是强化学习?

   (1)定义

       基于环境的反馈而行动,通过不断与环境的交互、试错,最终完成特定目的或者使得整体行动收益最大化(是一种通过与环境交互,学习最优的状态到行动的映射关系(即在某个状态下,采取所有行为的概率分布),以会的最大累计期望回报的学习方法)。强化学习不需要训练数据的label,但是它需要每一步行动环境给予的反馈,是奖励还是惩罚。反馈可以量化,基于反馈不断调整训练对象的行为。

(2)特点:

  1. 没有监督者,只有量化奖励信号
  2. 反馈延迟,只有进行到最后才知道当下的动作是好是坏
  3. 强化学习属于顺序决策,根据时间一步步决策行动,训练数据不符合独立同分布条件
  4. 每一步行动影响下一步状态,以及奖励

2.强化学习框架:智能体-环境

(1)智能体:强化学习系统

         可以感知环境的状态(State),并根据反馈的奖励(Reward)学习选择一个合适的动作(Action),来最大化长期总收益。对于推荐系统,智能体为推荐系统本身,它包括基于深度学习的推荐模型、探索(explore )策略,以及相关的数据存储(memory )。

智能体的组成

强化学习的智能体可能有一个或多个如下的组成成分:

策略函数(policy function):把输入的状态变成行为

价值函数(value function):对当前状态进行评估(对后续收益的影响)

简直函数是未来奖励的一个预测,用来评估状态的好坏(折扣因子:希望尽可能在短的时间里面得到尽可能多的奖励)

模型(model):表现智能体对环境的理解

类型

  1. 基于价值的智能体(value-based agent)

显示的学习价值函数,隐式的学习策略。它维护一个价值表格或价值函数,并以此选取价值最大的动作。(常用算法:Q-Learning   、Sarsa

A.基于策略的智能体(policy-based agent)

直接学习策略。当学习好环境以后,在每个状态都会得到一个最佳行为。(常用算法:策略梯度算法)

B.有模型智能体(model-based agent)

根据环境经验,对环境进行建模构建一个虚拟世界,同时在虚拟世界和现实世界学习。

要求:能对环境建模。即能预测下一步的状态和奖励

C.免模型智能体(model-free agent)

不对环境进行建模,直接与真实环境交互来学习最优策略。

目前,大部分深度强化学习都采用免模型学习。

(2)环境:与智能体交互的外部

环境会接收智能体执行的一系列动作,对这一系列动作进行评价并转换为一种可量化的信号反馈给智能体。

  1. 动作:智能体的行为表征
  2. 动作空间:(在给定的环境中,有效动作的集合)

分类:

(1)离散动作空间(discrete action space):智能体的动作数量是有限的

(2)连续动作空间(continuos action space):在连续空间中,动作是实值的向量

  1. 状态:智能体从环境获取的信息
  2. 奖励

      奖励信号定义了强化学习问题的目标,在每个时间步骤内,环境向强化学习发出的标量值即为奖励,它能定义智能体表现好坏,类似人类感受到快乐或是痛苦。因此我们可以体会到奖励信号是影响策略的主要因素。我们将奖励的特点总结为以下三点:

  1. 奖励是一个标量的反馈信号
  2. 它能表征在某一步智能体的表现如何
  3. 智能体的任务就是使得一个时段内积累的总奖励值最大

   3.策略:智能体根据状态进行下一步动作的函数

  • 定义

是一个函数,把输入的状态变成行为。

  • 分类

随机性策略(stochastic policy)

π函数π ( a∣s ) = P ( A t = a∣S t = s ) ,表示在状态s下输出动作为a的概率。然后通过采样得到一个动作。

确定性策略(deterministic policy)

采取最有可能的动作,即a ∗= arg maxa π ( a∣s )

问题:比较随机性策略和确定性策略的优缺点

强化学习一般使用随机性策略,因为

  1. 随机性能更好的探索环境
  2. 随机性策略的动作具有多样性(不是唯一确定的)
  3. 确定性策略对相同环境做出相同的动作,这会导致很容易被预测
  1. 状态转移概率:智能体做出动作后进入下一状态的概率

3.学习与规划

A.学习(learning)

由于环境初始时是未知的,智能体需要不断与环境交互,逐渐改进策略

B.规划(planning)

获得学习好的模型后,智能体不需要实时与环境交互就能知道未来环境。可以根据当前状态,根据模型寻找最优策略。

C.解决思路

先学习环境如何工作,建立模型。再利用模型进行规划。

4.探索和利用

探索:通过试错来理解采取的某个行为能否得到好的奖励。

利用:直接采取已知的可以得到很好奖励的行为。

(探索:看某个行为的奖励,利用:选取已知可以取得最好奖励的行为)

探索和利用窘境(exploration-exploitation dilemma):探索(即估计摇臂的优劣)和利用(即选择当前最优摇臂) 这两者是矛盾的,因为尝试次数(即总投币数)有限,加强了一方则会自然削弱另一方

                    

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

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

相关文章

CKA认证之Etcd备份与恢复

题目介绍: 资料参考: https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd 解题: 1、备份 #参考模板列出 etcdctl 可用的各种选项。 #例如,你可以通过指定端点、证书和密钥来制作快照&#xff0…

15 个最佳免费照片恢复软件快速恢复已删除的图像

这篇文章重点介绍了适用于 Windows 10 的 15 款最佳免费照片恢复软件。阅读整篇文章,了解理想的图像恢复软件。 照片可以带回所有的回忆,回忆起与我们所爱的人和亲密的人度过的每一个“时刻”。照片是我们永远不想失去的东西,但有时我们会无…

【热门话题】前端框架发展史

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 前端开发的历史演变引言第一章:起源与基础建设 - HTML与CSS时代1.1 …

THM学习笔记—RootMe

nmap扫描,发现22端口和80端口打开 dirsearch扫描,注意到/panel和/uploads,在浏览器中打开 可以上传文件,尝试反弹shell 在尝试过程中发现网站不能上传.php文件,只需要将后缀更改为.php5之类即可 成功 查找文件&#x…

前世档案(不用二叉树语法秒杀版c++)

网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终点对应的那个结点。 现在我们把结论从左到右顺序…

Java面试题总结18之springcloud四种分布式事务解决方案

XA规范:分布式事务规范,规定了分布式事务模型 四个角色:事务管理器(协调者TM),资源管理器(参与者RM),应用程序AP,通信资源管理器CRM 全局事务:一…

一款博客网站源码

一款博客网站源码 源码软件库 为大家内置了主题 清爽又强大真正的永久可用的一条源码,该版本为整合版本,内置了Joe主题,搭建后直接启用即可~ 安装环境要求: PHP 7.2 以上 MySQL, PostgreSQL, SQLite 任意一种数据库支持&#xff…

【LeetCode热题100】148. 排序链表(链表)

一.题目要求 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 二.题目难度 中等 三.输入样例 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head [-1,5,3,4,0] 输…

【Java基础】IO流(三):字符流的FileReader(文件字符输入流)和 FileWriter(文件字节输出流)

目录 字符流 1、FileReader(字符输入流) 1.1、无参的read( )方法示例 ​编辑 1.2、有参的read(char[ ] buffer)方法示例 2、FileWriter(字符输出流) 字符流 字符流的底层其实就是字节流,即字符流 字节流 字符集…

基于ESTAR指数平滑转换自回归模型的CPI数据统计分析matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 ESTAR模型概述 4.2 WNL值,P值, Q值,12阶ARCH值 4.3ADF检验 5.完整程序 1.程序功能描述 基于ESTAR指数平滑转换自回归模型的CPI数据统计分析matlab仿…

LeetCode Python - 58. 最后一个单词的长度

目录 题目描述解法运行结果 题目描述 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入:s “Hel…

【Vue】Request模块 - axios 封装Vuex的持久化存储

📝个人主页:五敷有你 🔥系列专栏:Vue ⛺️稳中求进,晒太阳 Request模块 - axios 封装 使用axios来请求后端接口,一般会对axios进行一些配置(比如配置基础地址,请求响应拦截器…

HCIP—BGP邻居关系建立实验

BGP的邻居称为:IBGP对等体 EBGP对等体 1.EBGP对等体关系: 位于 不同自治系统 的BGP路由器之间的BGP对等体关系 EBGP对等体一般使用 直连建立 对等体关系,EBGP邻居之间的报文 TTL中值设置为1 两台路由器之间建立EBGP对等体关系&#xff0…

vue3新功能-Teleport

1.teleport 在组件内的任何位置渲染内容 将一个组件内部的一部分模板“传送”到该组件的 DOM 结构外层的位置去。 例:将组件dialog添加到body下面 <teleport to"body"> <el- dialog --> </teleport> 2.fragments 多个根元素外层不需要…

遵循Web标准规范,构建优质网页

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Linux操作系统-汇编LED驱动程序基础

一、汇编LED原理分析 IMX6ULL-LED灯硬件原理分析&#xff1a; 1、使能时钟&#xff0c;CCGR0-CCGR6这7个寄存器控制着IMX6ULL所有外设时钟的使能。为了简单&#xff0c;设置CCGR0-CCGR6这7个寄存器全部为0XFFFFFFFF&#xff0c;相当于使能全部外设时钟。&#xff08;在IMX6ULL芯…

【Flink SQL】Flink SQL 基础概念(三):SQL 动态表 连续查询

《Flink SQL 基础概念》系列&#xff0c;共包含以下 5 篇文章&#xff1a; Flink SQL 基础概念&#xff08;一&#xff09;&#xff1a;SQL & Table 运行环境、基本概念及常用 APIFlink SQL 基础概念&#xff08;二&#xff09;&#xff1a;数据类型Flink SQL 基础概念&am…

CSS学习(2)-盒子模型

1. CSS 长度单位 px &#xff1a;像素。em &#xff1a;相对元素 font-size 的倍数。rem &#xff1a;相对根字体大小&#xff0c;html标签就是根。% &#xff1a;相对父元素计算。 注意&#xff1a; CSS 中设置长度&#xff0c;必须加单位&#xff0c;否则样式无效&#xff…

Unity2019.2.x 导出apk 安装到安卓Android12+及以上的系统版本 安装出现-108 安装包似乎无效的解决办法

Unity2019.2.x 导出apk 安装到安卓Android12及以上的系统版本 安装出现-108 安装包似乎无效的解决办法 导出AndroidStudio工程后 需要设置 build.gradle文件 // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAINbuildscript {repositor…

MySQL的目录结构

安装目录 /usr/local/mysql数据目录 /usr/local/mysql/data配置目录 /usr/local/etc/my.cnf