【机器学习西瓜书学习笔记——强化学习】

news2024/9/20 20:43:01

机器学习西瓜书学习笔记【第十六章】

  • 第十六章 强化学习
    • 16.1 任务与奖赏
      • 四种主要的机器学习方式
      • 马尔可夫决策过程
    • 16.2 K K K-摇臂赌博机
    • 16.3 有模型学习
      • 策略评估
      • 策略改进
      • 策略迭代与值迭代
    • 16.4 免模型学习
      • 蒙特卡罗强化学习
        • 同策略" (on-policy )蒙特卡罗强化学习算法
        • 异策略" (off-policy) 蒙特卡罗强化学习算法
      • 时序差分学习
        • Sarsa算法
        • Q-学习算法
    • 16.5 值函数近似
      • 状态空间离散化
    • 16.6 模仿学习
      • 直接模仿学习
      • 逆强化学习
        • 基本思想
        • 算法

第十六章 强化学习

.在强化学习任务中,学习的目的就是要找到能使长期累积奖赏最大化的策略。

16.1 任务与奖赏

四种主要的机器学习方式

监督学习:已知训练数据的标签。

无监督学习:未知训练数据的标签。

半监督学习:将无监督学习和监督学习融合在一起。

强化学习:基于环境的反馈而行动,通过不断与环境的交互、试错,最终完成特定目的或者使得整体行动收益最大化。(不需要训练数据的标签)

马尔可夫决策过程

图片

16.2 K K K-摇臂赌博机

探索与利用

“仅探索”算法就是将机会平均分配给每一个赌博机,随机挑选赌博机。

“仅利用”算法就是选取当前平均价值最高的那台赌博机。

但由于尝试的次数有限,所以要在探索与利用之间进行权衡,这也是强化学习面临的一大问题:探索-利用窘境。

$\epsilon $-贪心

原理:每次以 ϵ \epsilon ϵ的概率来探索,即以均匀概率随机挑选一个摇臂。以 1- ϵ \epsilon ϵ 的概率利用,即挑选当前平均价值最高的那个摇臂。

ϵ \epsilon ϵ一般取值为较小值0.1或者0.01,当然也可以随着尝试次数增加而减小,如果尝试次数为 n n n,那么设为 ** ϵ \epsilon ϵ =1/ n \sqrt n n **即可。

S o f t m a x Softmax Softmax

原理:据Boltzmann分布$P(k)=\frac{e{\frac{Q(k)}{T}}}{\sum_{i=1}{k} e^{\frac{Q(i)}{T}}} $来进行抉择。其中 T被称作“温度”,T越小的话平均价值越高的摇臂被选取的概率越高,T趋向于无穷大的话选取概率就很均匀了,这时候就变成了仅探索。

16.3 有模型学习

策略评估

在模型已知的前提下,我们可以对任意策略的进行评估(后续会给出演算过程)。一般常使用以下两种值函数来评估某个策略的优劣:

状态值函数( V V V V ( x ) V(x) Vx,即从状态x出发,使用π策略所带来的累积奖赏;

状态-动作值函数( Q Q Q Q ( x , a ) Q(x,a) Qx,a,即从状态x出发,执行动作a后再使用π策略所带来的累积奖赏。

策略改进

理想的策略应能使得每个状态的累积奖赏之和最大,简单来理解就是:不管处于什么状态,只要通过该策略执行动作,总能得到较好的结果。因此对于给定的某个策略,我们需要对其进行改进,从而得到最优的值函数

最优 B e l l m a n Bellman Bellman等式改进策略的方式为:将策略选择的动作改为当前最优的动作,而不是像之前那样对每种可能的动作进行求和。易知:选择当前最优动作相当于将所有的概率都赋给累积奖赏值最大的动作,因此每次改进都会使得值函数单调递增。

策略迭代与值迭代

策略迭代:先给定一个随机策略,现对该策略进行评估,然后再改进,接着再评估/改进一直到策略收敛、不再发生改变。

img

策略迭代法在每次改进策略后都要对策略进行重新评估,因此比较耗时。若从最优化值函数的角度出发,即先迭代得到最优的值函数,再来计算如何改变策略,这便是值迭代算法。

img

16.4 免模型学习

免模型学习:学习算法不依赖于环境建模。

蒙特卡罗强化学习

蒙特卡罗强化学习基于采样来估计状态-动作值函数:对采样轨迹中的每一对状态-动作,记录其后的奖赏值之和,作为该状态-动作的一次累积奖赏,通过多次采样后,使用累积奖赏的平均作为状态-动作值的估计(求平均是批处理式的),并引入 ϵ \epsilon ϵ-贪心策略保证采样的多样性

本质:通过多次尝试后求平均未作为期望累积奖赏的近似。

同策略" (on-policy )蒙特卡罗强化学习算法
img
异策略" (off-policy) 蒙特卡罗强化学习算法
img

时序差分学习

  • 结合动态规划和蒙特卡罗的思想
  • 更高效的免模型学习
Sarsa算法
  • 同策略算法
  • 评估ϵ-贪心策略
  • 执行ϵ-贪心策略
Q-学习算法

Q − L e a r n i n g Q-Learning QLearning 是一种无模型( m o d e l − f r e e model-free modelfree)的强化学习算法,用于找到一个代理( a g e n t agent agent)在给定环境中的最佳策略,使得其累积的奖励最大化。

  • 异策略算法
  • 评估ϵ-贪心策略
  • 执行原始策略

16.5 值函数近似

值函数:关于有限状态的表格值函数,数组表示,i对应的函数值就是数组i的值。

状态空间离散化

  • 状态空间离散化:转换为有限空间后求解
  • 转换:是难题
  • 简化情形:值函数为状态的线性函数: V θ ( x ) = θ T x V_θ(x)=θ^Tx Vθ(x)=θTx
  • x x x:状态向量, θ θ θ:参数向量

16.6 模仿学习

定义:现实任务中,往往能得到人类专家的决策过程范例,从这样的范例中学习,就是模仿学习。

直接模仿学习

  • 多步决策搜索空间巨大
  • 缓解:直接模仿人类专家的“状态-动作对“。

逆强化学习

逆强化学习:从人类专家提供的范例数据中反推奖赏函数有助于解决问题。

现实任务:设计奖赏函数困难。

基本思想
  • 使机器做出与范例一致的行为,等价于在某个奖赏函数的环境下寻求最优策略,该策略所产生的轨迹与范例数据一致。
  • 寻找某种奖赏函数使得范例数据最优,然后使用这个奖赏函数来训练强化学习策略。
算法
inverse_reinforcement_learning.jpeg

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

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

相关文章

电商渠道有效的治理方法和流程

在当今消费模式不断推陈出新的时代,品牌为了紧跟市场潮流,持续拓展销售途径。从传统的电商平台到新兴的直播带货、社区团购以及到家服务平台,多样化的线上渠道为品牌销售开辟了广阔天地。然而,机遇与挑战总是相伴相生,…

开发者社区✖️外滩大会「创新者舞台」——《特斯拉,不止于车》

备受瞩目的“2024 Inclusion外滩大会”将于2024年9月5日至7日在上海黄浦世博园区盛大开幕。 外滩大会云集了蚂蚁集团、清华大学、复旦大学、上海交通大学、同济大学、浙江大学、上海报业集团、外滩投资集团等在学术界和产业界享有科技盛誉的组织。 大会将延续 “科技创造可持续…

合作文章(IF=7.7)|非靶+靶向+16S +RNA-Seq探究广东虫草对非酒精性脂肪肝的功效

研究背景 肥胖症的持续增长已成为一个全球性的公共卫生问题,世界卫生组织(WHO)报告称,全球超过八分之一的人患有肥胖症。目前,全球范围内代谢功能障碍相关脂肪性肝病(MASLD),以前被称为非酒精性脂肪性肝病(NAFLD),随着…

【CTF Reverse】CTFShow re2 Writeup(反编译+XOR+RC4)

re2 30 感谢W22提供的题目 工具 RC4 加密/解密 - 在线工具 https://www.toolhelper.cn/SymmetricEncryption/RC4 解法 解压压缩包。 txt 文件里是乱码。 exe 文件导入 DIE 分析。是一个 PE32 程序。 导入 IDA,按 F5 查看 main_0 函数伪代码。 int __cdecl main_…

基于imx6ull平台opencv的图像采集和显示屏LCD显示功能(不带Qt界面)

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境 三、开发流程3.1 编写测试3.2 验证功能 一、概述 本文档是针对imx6ull平台opencv的图像采集和显示屏LCD显示功能,opencv通过摄像头采集视频图像,将采集的视频图像送给显示屏LCD进行显示。 测试结果…

OpenFeign服务的接口调用

为了保障文章的流畅性(文章穿插大量的环境搭建没意思,会干扰文章的主题,无聊的很),将环境的搭建与测试,工具的版本说明放了文末: 四、环境搭建。 一、概述 1.1、官网 Feign 是一个声明式 Web…

Linux系统——服务器长时间训练不间断指令(nohup的简单用法)

Linux服务器训练中nohup的用法 在模型训练过程中,许多人选择在服务器上运行代码,而大多数服务器运行在Linux环境下。通常情况下,我们可以直接在Linux终端中使用如下命令来启动训练代码(以运行main.py为例)。 python …

【Opencv】一文向您详细介绍 `Mat::ptr()` 函数

【Opencv】一文向您详细介绍 Mat::ptr() 函数 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&#xf…

【原创教程】电气电工11:伺服接线

电气电工这些知识点,我们描述的比较细,虽然看起来比较简单,但是它是后面我们技能提升的基础,如果我们后面学电气工程师相关知识,这些都属于基本功。 接着我们来看一下伺服接线 伺服,英文servo(来源希腊,意为仆人)。在工业现场,由我们给伺服系统发送一个控制指令,然…

数据结构(邓俊辉)学习笔记】串 04——KMP算法:查询表

文章目录 1.制表备查2.主算法3.实例 1.制表备查 接下来我们来看看。KMP 算法究竟如何兑现我们刚才所提及的记忆力以及预知力,我们将会看到这种方法非常的便捷与高效,本质上讲,它无非就是构造了一张查询表。 回到我们刚才的问题,在…

Windows中pycharm使用虚拟环境不显示虚拟环境的名也不出现base

出现下图情况 一、修改shell path 二、环境变量中加入condabin 三、如果上述还不行,初始化conda再进行一、二、操作 最终进入了我创建的虚拟环境b中

【html+css 绚丽Loading】000017 三元轮转镜

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 &#x1f495…

VCTP(Visual Chain-of-Thought Prompting for Knowledge-Based Visual Reasoning)论文

目录 摘要介绍相关工作方法总体模型细节 实验 摘要 知识型视觉推理仍然是一个艰巨的任务,因为它不仅要求机器从视觉场景中解释概念和关系,而且还需要将它们与外部世界知识联系起来,对开放世界问题进行推理链。然而,以前的工作将视…

论文文献翻译怎么做?快又准的外文文献翻译软件帮你搞定

平时我们查阅文献通常都是将其翻译成中文,方便更高效和准确地理解和阅读;但对于不少留学生而言,如何把文献翻译成英文也是他们需要解决的一大硬茬~ 今天就给大家盘点了4个能够把文献翻译成英文的实用小技巧,有需要的小伙伴可别错…

PicHoro v2.4.0 — 强大的图床管理,可导入PicGo配置

PicHoro是一款基于Flutter开发的手机端云存储平台,支持多种云存储服务和图床,提供便捷的文件管理和分享功能。兼容多种云存储和图床平台,包括Webdav、Alist、SSH/SFTP、S3 API、腾讯云COS、阿里云OSS、七牛云、又拍云、Imgur、SM.MS以及Githu…

Java基础入门20:特殊文件、日志技术、多线程、网络通信

特殊文件 properties属性文件 Properties是一个Mp集合(键值对集合),但是我们一般不会当集合使用。 核心作用:Properties是用来代表属性文件的,通过Properties可以读写属性文件里的内容。 使用Properties把键值对数…

【STM32】电容触摸按键

电容按键就是酷,但据我使用过电容按键版的洗澡计费机子后,一生黑(湿手优化没做好的电容按键简直稀碎)。 大部分图片来源:正点原子HAL库课程 专栏目录:记录自己的嵌入式学习之路-CSDN博客 目录 1 触摸按…

IPv4和IPv6的区别是什么?什么是局域网和广域网,公网IP和私有IP?

文章目录 1.基本网络2.局域网3.广域网4.IPv4与NAT5.公网IP和私有IP6.IPv6 1.基本网络 我们都知道计算机的数据都是存在各自硬盘中的,与其他计算机之间没有人任务关系. 假设计算机A需要给计算机B发送数据,可以选择使用U盘这类移动存储数据来拷贝数据来实现数据交互,但是这样一…

惊艳开源界!20.6K+星标瞩目,打造高性能LLM(大型语言模型)应用的开发平台

项目简介 Dify 是一个开源的LLM(大型语言模型)应用开发平台,它通过直观的界面结合了AI工作流程、RAG(检索-分析-生成)管道、代理功能、模型管理、可观察性特性等,使用户能够快速从原型设计转向产品生产。 …

一起搭WPF之列表数据绑定

一起搭WPF之列表数据绑定 1 前言2 数据绑定2.1 前端2.2 后端实现2.2.1 界面后台2.2.2 模型与逻辑 3 问题3.2 解决 总结 1 前言 之前已经简单介绍了列表的大致设计,在设计完列表界面后,我们可以开展列表的数据绑定,在前端显示我们的数据&…