西湖大学赵世钰老师【强化学习的数学原理】学习笔记-1、0节

强化学习的数学原理是由西湖大学赵世钰老师带来的关于RL理论方面的详细课程,本课程深入浅出地介绍了RL的基础原理,前置技能只需要基础的编程能力、概率论以及一部分的高等数学,你听完之后会在大脑里面清晰的勾勒出RL公式推导链条中的每一个部分。赵老师明确知道RL创新研究的理论门槛在哪,也知道视频前的你我距离这个门槛还有多远。

本笔记将会用于记录我学习中的理解,会结合赵老师的视频截图,以及PDF文档Book-Mathematical-Foundation-of-Reinforcement-Learning进行笔记注释,之后也会补充课程相关的代码样例,帮助大家理解

笔记合集链接(排版更好哦🧐):《RL的数学原理》

记得点赞哟(๑ゝω╹๑)

前面章节贵在基础性,后面章节在于前沿性与实践性

  • Chapter1:基本概念
  • Chapter2:贝尔曼公式,重要的概念及工具,用以策略评价
  • Chapter3:贝尔曼最优公式->最优策略,强化学习的最终目标就是求解最优策略, 需要把握两点:最优策略与最优状态价值。贝尔曼最优方程:1.不动点原理,2. 解决基础性问题,3. 提供求解贝尔曼方程的算法
  • Chapter4: 你的第一类求解最优策略的算法:值迭代,策略迭代,Truncated policy(第三个是前两者的结合,亦或者说是前两者的一种积分情况)。以上三个算法都是迭代式的算法,都包含策略迭代与值迭代,在实践中不断迭代,从而获得最优策略。未来所有的算法都是以此为基本逻辑。另外,以上都需要环境模型。
  • Chapter5:蒙特卡洛是最简单,也是唯一不需要模型的算法,需要明确没有模型的情况下,我们的训练目标是什么,以及我们所拥有的是什么:期望值(某种程度上可以理解为平均值),采样数据。模型与数据必有其一才可学习。你的第一类求解无模型的RL的算法:1. MC Basic(策略迭代数据版,效率特别低), 2. MC Exploring Starts, 3.MC ϵ-greedy
  • Chapter6:随机近似理论,估计随机变量的期望, 两种估计的方法:1.无增量的想法,需要对所有采样的结果都获取到之后求平均,获得近似,2. 有增量的想法,先对其有一个不准确的估计,每次获得采样后,不断更新估计。三种算法:1. Robbins-Monro(RM)算法,2. Stochastic gradient descent(SGD)随机梯度下降,3. SGD,BGD批量下降,MBGD小批量梯度下降三者之间的比较。
  • Chapter7:时序差分方法,1. 用TD方法计算state value(前面使用了蒙特卡洛、模型等方法计算),2. Sarsa:用TD思想学习动作价值,3. Q-learing:用TD直接计算最优动作价值,因此是off-policy离线策略。Behaviour Policy 与 Target Policy 如果二者相同,那就是On-policy,反之就是Off-policy(可以从先前别的策略学习到的数据为我所用)
  • Chapter8:从之前的邻接矩阵形式,迈入了函数表达式,使用近似函数模拟的方式求解状态价值:明确目标函数,求梯度,使用梯度上升或梯度下降进行优化。模型应用中,值函数的更新是通过真实值和函数值之差的绝对值来评判。与时序差分算法的多种结合。利用了神经网络所具有的优秀函数拟合能力,发展产生了深度强化学习。
  • Chapter9:从Value-based迈入了policy-based,他们的区别在于后者是直接使用函数拟合,并且直接改变优化策略:明确目标函数,求梯度,使用梯度上升或梯度下降进行优化。
  • Chapter10:结合Value-based(Critic)和policy-based(Actor)

课程是否适合你?

本课程是原理部分,偏向于用数学原理来描述问题,能够更全面更完整理解,只有深刻理解原理,才能有所创新

0节:课程介绍

1、Why this course?

  • Reinforcement learning:An introduction.强化学习界的圣经(广泛引用,但是数学内容不多,对深入学习不算友好,同时会有高级知识提前出现在基础内容中,导致学习不太友好)
  • 一大类书籍都偏向于通过文字描述,通过直观解释来介绍,另一大类又太过数学化,需要极强的专业背景,中间存在一个Gap等待被填充
  • 我们希望从本质去回答去回答算法设计的逻辑,将数学控制在合理的水平,既能清晰展现原理,又不会过于晦涩
  • 建议大家循序渐进,按照章节进行学习

2、The story of Alphago

3、Brief history of rl

DQN:RL与deep RL的分界线

Q-learning:一种时序差分算法

4、Details of this course

强化学习与监督学习、半监督学习并列属于ML,其有着广泛地交叉应用领域,并在控制方向上也有着重大作用

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

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

相关文章

OpenCV如何使用 GDAL 读取地理空间栅格文件(72)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV的周期性噪声去除滤波器(70) 下一篇 :OpenCV系列文章目录(持续更新中......) 目录 目标 代码: 解释: 如何使用 GDAL 读取栅格数据 注意 …

C++进阶----多态

1.多态的概念 1.1 概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同类型的对象去完成时会 产生出不同的状态。 举个例子:比如有一个基类Animal,它有两个子类Dog和Cat。每个…

数据结构---时间复杂度+空间复杂度

算法(algorithm)简单说就是解决问题的方法。方法有好坏,同样算法也是,有效率高的算法,也有效率低的算法。衡量算法的好坏一般从时间和空间两个维度衡量,也就是本文要介绍的时间复杂度和空间复杂度。有些时候,时间与空间…

2024年第七届大数据技术国际会议(ICBDT 2024)即将召开!

2024年第七届大数据技术国际会议(ICBDT 2024)将于2024年9月20-22日在中国杭州的浙江工商大学举行。数据驱动未来,技术引领潮流。从数据挖掘算法的优化,到数据处理速度的提升,再到数据安全与隐私保护的进步,…

Scikit是什么?

目录 一、Scikit是什么? 二、用Scikit做一个简单房价预测例子 三、sklearn知识点 一、Scikit是什么? Scikit就是scikit-learn,是一个免费软件机器学习库。 https://scikit-learn.org/stable/https://scikit-learn.org/stable/ 用于预测数…

SoundStream: 下一代的神经网络音频编解码器,实时压缩不牺牲音质

音频编解码技术的目标是,通过减少音频文件的大小来节省存储空间或减轻网络传输的负担。理想的情况下,即使音频被压缩,我们听到的声音与原版也应该没有任何区别。 过去,已经有不少编解码技术被开发出来,满足了这些需求…

Day13-JavaWeb开发-事务管理(回顾/进阶)AOP基础(入门/概念)AOP进阶(通知类型/顺序/切点表达式)AOP案例

1. 事务管理 1.1 事务管理-事务回顾 1.2 事务管理-事务进阶 rollbackFor propagetion 2. AOP基础 2.1 AOP基础-快速入门 2.2 AOP基础-核心概念 3. AOP进阶 3.1 AOP进阶-通知类型 3.2 AOP进阶-通知顺序 3.3 切入点表达式-execution 3.4 切入点表达式-annottation 3.5 AOP进阶…

如何构建用于从收据中提取信息的生成式人工智能工具

原文地址:how-to-build-a-generative-ai-tool-for-information-extraction-from-receipts 使用 LangChain 和 OpenAI 工具从 Google Drive 中存储的收据图像中提取结构化信息 2024 年 4 月 10 日 纸质收据有各种样式和格式,是自动信息提取的一个有趣目…

Web服务器手动配置

目录 配置环境 http配置 配置步骤 1、首先安装Nginx(已经安装的跳过这步) 2、查看一下下Nginx的配置文件结构,了解如何配置,以及配置的各个条目有什么作用(为接下来的配置打基础) 3、创建你的网页 4、…

【JAVA项目】基于ssm的协同过滤算法的【图书推荐系统】

技术简介:采用B/S架构、ssm 框架、Java技术、MySQL等技术实现。 系统简介:系统权限按管理员和用户这两类涉及用户划分。(1)管理员功能需求 管理员登陆后,主要包括首页、个人中心、用户管理、书籍管理、书籍分类管理、热…

牛客NC382 切割木头【中等 二分超找 Java/Go/C++】

题目 题目链接: https://www.nowcoder.com/practice/707d98cee255448c838c76918a702be0 核心 二分查找Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可…

安卓 app icon大小 安卓app界面尺寸大小

移动应用的界面设计画布尺寸设计多大(特别是Android)、图标和字体大小怎么定、需要设计多套设计稿么、如何切图以配合开发的实现? 本篇将结合iOS和android官方的设计规范、搜集的资料以及工作中的摸索,来分享移动应用界面设计中的…

gcc编译器分析

gcc编译器分析 参考词法分析语法分析预读一个符号语法分析函数调用关系重点函数分析c_parse_filec_parser_translation_unit 参考 《gcc源码分析》 词法分析 词法分析的过程就是将源代码识别成一个一个的词法符号,并在词法分析的过程中创建一些树节点&#xff0c…

tomcat+nginx 动静分离

一、单机反向代理 7-1 7-2 测试 二、多机反向代理 1. 环境准备 机器IP地址服务7-1172.168.1.11nginx7-2172.168.1.12tomcat7-3172.168.1.13tomcat 2. 配置7-1 Nginx 服务器 vim /apps/nginx/conf/nginx.confhttp:upstream tomcat {server 172.168.1.12:8080;server …

探索设计模式的魅力:分布式模式让业务更高效、更安全、更稳定

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,坚持默默的做事。 ✨欢迎加入探索分布式模式之旅✨ 在数字化时代,企业面临着前所未有的挑战和机遇。…

STM32开发笔记-新建标准库工程

1.STM32开发方式 STM32开发一般包括三种方式:基于寄存器开发、基于标准外设库开发、基于HAL库开发。 标准外设库是最基础的STM32开发方式,提供了一系列函数用于配置和控制STM32的外设,如GPIO、USART、SPI等。使用标准外设库需要手动编写代码…

(39)4.29数据结构(栈,队列和数组)栈

#include<stdlib.h> #include<stdio.h> #define MaxSize 10 #define Elemtype int 1.栈的基本概念 2.栈的基本操作 typedef struct { Elemtype data[MaxSize]; int top; }Sqstack;//初始化栈 void InitStack(Sqstack& S) { S.top -1; //初始化…

Golang日志管理:使用log/slog实现高级功能和性能优化

Golang日志管理&#xff1a;使用log/slog实现高级功能和性能优化 简介基础使用初始化和配置日志级别 高级技巧自定义日志格式器条件日志处理 实战案例场景一&#xff1a;API请求日志记录场景二&#xff1a;错误跟踪和用户通知 性能优化优化日志记录的性能异步日志处理选择合适的…

Vue的项目启动指令分析

通过Vue CLI脚手架创建的项目&#xff0c;默认的启动项目方式是 npm run serve 这里的serve是可以修改的。 在创建的项目目录中&#xff0c;找到package.json 双击打开&#xff0c;找到scripts部分 在scripts部分&#xff0c;有一个"serve"键值对&#xff0c;这里的…

机器学习-K近邻算法(KNN)

目录 什么是KNN算法 图解KNN基本算法 &#xff08;1&#xff09;k近邻算法中k的选取 &#xff08;2&#xff09;距离函数 &#xff08;3&#xff09;归一化处理 &#xff08;4&#xff09;概率kNN KNN算法的优缺点 优势 缺点 KNN算法总结 什么是KNN算法 k近邻算法&…