强化学习后的数学原理:随机近似与梯度下降

概述

这节课的作用:
在这里插入图片描述

在这里插入图片描述

本节课大纲如下:

在这里插入图片描述

Motivating examples

先回顾一下 mean estimation :

在这里插入图片描述

为什么总数反复提到这个 mean estimation,就是因为 RL 当中有非常多的 expectation,后面就会知道除了 state value 这些定义之外,还有很多类似的我们都得使用数据去进行估计。

那么如何计算平均值呢?除了上图中的方法,实际上我们还有另外一种:

在这里插入图片描述

这第二种方式被称为增量式的或者说是迭代式的方法,基本的思路就是来几个我就先计算几个,这样的效率会更高。

如何做?推导过程如下:

在这里插入图片描述

而推导完的最后的式子就是一个迭代式的算法,比如说在上个时刻我已经计算出 wk 了,那么这个时刻我就得到一个新的采样 xk,那我就直接通过这个式子我就可以得到新的 wk+1 。

这样就不需要像之前一样把前面所有的 xi 全部加起来然后再求平均,也就克服了之前那种计算方式的缺陷。

在这里插入图片描述

关于这个算法的一些注意点:

在这里插入图片描述

这个算法还可以进行进一步的推广:

在这里插入图片描述

实际上,当这个 αk 满足一些条件的时候,它虽然不是 1/k 的形式,但它依然可以让 wk 逐渐逼近期望 E[X],后面会再详述。

可以看出,这个算法实际上就是一种特殊的随机近似算法,其也是一种特殊的随机梯度下降的算法。

Robbins-Monro algorithm

这是随机近似理论当中一个非常经典的算法。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到,如果 g(w) 的表达式都不知道是什么,该怎么进行求解?

这很像我们学深度学习时候的神经网络的概念,只给输入然后就能得到输出,却不知道中间过程,而这可以通过 Robbins-Monro 算法来解决。

Algorithm description

在这里插入图片描述

RM算法首先是一个迭代式的算法,首先要明确我们的目标是求解 g(w)=0,然后这里面假设最优解是 w*,这个迭代式的算法是 我对 w* 第 k 次的估计是 wk,然后第 k+1 次估计是 w(k+1),w(k+1) 等于 wk 减去后面那个式子。后面这个又进一步分为两个部分,第一个是 ak,ak 是一个系数,第二个是 g~(wk, ηk),其是一个函数,该函数表达式也很简单,就是 g(wk) 加上一个 ηk,ηk 是一个噪音。所以 g~ 是 g 的一个观测,但是是带有噪音的这样一个观测。

在这个算法当中我们实际上是将函数 g(w) 给作为了一个黑盒,我们不知道其表达式是什么,因此该算法依赖的是数据。

相当于有一个黑盒 g(w),我们输入 w,然后其会有一个 y 输出,但是这个 y 不能直接测量还需要加上一个噪音,噪音我们也不知道但是我们此时就能得到一个测量值 g~,输入一个 w 就能得到一个 g~:

在这里插入图片描述

因此这样反复输入输出之后,我们会得到一个 wk 的序列和一个 g~k 的序列,RM 算法就是通过这样一种方式来进行求解的。

Convergence analysis

分析其为什么可以找到解呢?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

下面是数学上的证明:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Application to mean estimation

在这里插入图片描述

在这里插入图片描述

Stochastic gradient descent

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Examples and application

介绍几个例子:

在这里插入图片描述

在这里插入图片描述

Convergence analysis

分析一下 SGD 为什么是有效的,也就是为什么是收敛的:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Convergence pattern

继续分析,分析它在收敛过程当中的一些非常有意思的行为:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

A deterministic formulation

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

BGD, MBGD, and SGD

在这里插入图片描述

在这里插入图片描述

下面使用一些例子来例证刚刚的这三种算法:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Summary

在这里插入图片描述

从上图以及之前的学习内容可以总结如下:

我们首先是介绍了 mean estimation 这样一个问题,什么问题?就是我要用一组数来求它的 expectation。在之前其实我们就简单地把这一组数求平均,然后就可以来近似估计它的 expectation,但现在我们就知道了我们其实可以用迭代的方式(就是上图第一条表达式)进行计算,也就是当得到一个采样就计算一次,这样就不需要等到所有的采样全部拿到了我们再计算,会更加地高效。

然后介绍了非常经典的 SA 领域当中的 RM 的算法,这个算法解决了什么问题呢?就是我有一个方程 g(w) = 0,我要求解它的最优解 w*,但是我不知道 g(w) 的表达式,我知道的是什么呢?我知道给我一个 w,我能测出来它的输出,而且这个输出是有噪音或者是有误差的,这个输出用 g~ 来表示,所以这个 RM 算法就是我怎么样用这样的含有噪音的测量来估计这个 w*。

最后介绍了 SGD 这样的算法,求解了什么问题呢?就是我有一个目标函数,长 J(w) = E[f(wk, xk)] 这个样子,然后我可以知道它的梯度的一个采样,然后我们就可以用这个 stochastic 的 gradient,然后用这个算法(上图第三条表达式)让最后这个 wk 趋于最优值 w*。

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

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

相关文章

传统视觉Transformer的替代者:交叉注意力Transformer(CAT)

传统视觉Transformer的替代者:交叉注意力Transformer(CAT) 在深度学习的世界里,Transformer架构以其在自然语言处理(NLP)领域的卓越表现而闻名。然而,当它进入计算机视觉(CV&#x…

Hilbert编码 思路和scala 代码

需求: 使用Hilbert 曲线对遥感影像瓦片数据进行编码,获取某个区域的编码值即可 Hilbert 曲线编码方式 思路 大致可以对四个方向的数据进行归类 左下左上右上右下 这个也对应着编码的顺序 思考在不同Hilbert深度(阶)情况下的…

AutoX.js某音自动评论(一个函数,5秒完成)

背景 某音自动化评论,步骤简单,对版本兼容性要高(不用节点id定位) 思路 通过Intent直接跳转到视频*利用文字,描述(正则)等匹配输入框,发表评论 效果 某音自动化评论 已经封装成一…

专题二:Spring源码编译

目录 下载源码 配置Gradle 配置环境变量 配置setting文件 配置Spring源码 配置文件调整 问题解决 完整配置 gradel.properties build.gradle settiings.gradel 在专题一: Spring生态初探中我们从整体模块对Spring有个整体的印象,现在正式从最…

C盘扩容/扩大C盘的12个有效操作方法

对于许多计算机用户来说,C盘空间可能会成为一个问题,尤其是那些将计算机广泛用于工作、游戏和多媒体目的的用户。如果您发现C驱动器上的空间不足,则需要对其进行扩展以提高系统的整体性能。在这篇文章中,我们将探讨C盘扩展的12种操…

【计算智能】遗传算法(二):基本遗传算法在优化问题中的应用【实验】

前言 本系列文章架构概览: 本文将介绍基本遗传算法在解决优化问题中的应用,通过实验展示其基本原理和实现过程:选取一个简单的二次函数作为优化目标,并利用基本遗传算法寻找其在指定范围内的最大值。 2. 基本遗传算法(SGA&#x…

Laravel 谨慎使用Storage::append()

在 driver 为 local 时,Storage::append()在高并发下,会存在丢失数据问题,文件被覆写,而非尾部添加,如果明确是本地文件操作,像日志写入,建议使用 Illuminate\Filesystem\Filesystem或者php原生…

跨境干货|最新注册Google账号方法分享

谷歌账号对做跨境外贸业务的人来说是刚需,目前来说大部分的海外社媒平台、工具都可以用谷歌账号来注册。但是仍然有很多朋友并不知道如何注册这个谷歌账号,今天就来给大家分享2个注册谷歌账号的方法,一个是手机号注册,一个是如何跳…

品牌营销新趋势:独立站如何与TikTok达人互动共赢

在当今数字化营销时代,独立站与TikTok达人的互动营销已成为一种高效的推广方式。通过精心设计的互动环节,独立站不仅能够增强用户参与感,还能显著提升带货效果。本文Nox聚星将和大家探讨独立站如何与TikTok达人进行高效互动,吸引用…

如何有效管理你的Facebook时间线?

Facebook作为全球最大的社交平台之一,每天都有大量的信息和内容在用户的时间线上展示。有效管理你的Facebook时间线,不仅可以提升用户体验,还能够帮助你更好地控制信息流和社交互动。本文将探讨多种方法和技巧,帮助你有效管理个人…

开发者评测|操作系统智能助手OS Copilot

操作系统智能助手OS Copilot 文章目录 操作系统智能助手OS CopilotOS Copilot 是什么优势功能 操作步骤创建实验重置密码创建Access Key配置安全组安装 os-copilot环境变量配置功能评测命令行模式多轮交互模式 OS Copilot 产品体验评测反馈OS Copilot 产品功能评测反馈 参考文档…

C++基础(七):类和对象(中-2)

上一篇博客学的默认成员函数是类和对象的最重要的内容,相信大家已经掌握了吧,这一篇博客接着继续剩下的内容,加油! 目录 一、const成员(理解) 1.0 引入 1.1 概念 1.2 总结 1.2.1 对象调用成员函数 …

使用 mongo2neo4j 和 SemSpect 通过各种方式进行图探索

用于可视化和探索每个 MEAN 堆栈背后的数据图的 ETL 您是否正在努力回答有关 MEANS Web 服务数据的紧急问题?哪里有 BI 可以快速回答“上个季度哪些亚洲的artisan.plus 用户触发了订单?”这个问题,而无需编写查询?使用 mongo2neo4…

Linux:进程间通信(一.初识进程间通信、匿名管道与命名管道、共享内存)

上次结束了基础IO:Linux:基础IO(三.软硬链接、动态库和静态库、动精态库的制作和加载) 文章目录 1.认识进程间通信2.管道2.1匿名管道2.2pipe()函数 —创建匿名管道2.3匿名管道的四种情况2.4管道的特征 3.基于管道的进程池设计4.命…

FineBI在线学习资源-数据处理

FineBI在线学习资源汇总: 学习资源 视频课程 帮助文档 问答 数据处理学习文档: 相关资料: 故事背景概述-https://help.fanruan.com/finebi6.0/doc-view-1789.html 基础表处理-https://help.fanruan.com/finebi6.0/doc-view-1791.html …

软件设计之Java入门视频(11)

软件设计之Java入门视频(11) 视频教程来自B站尚硅谷: 尚硅谷Java入门视频教程,宋红康java基础视频 相关文件资料(百度网盘) 提取密码:8op3 idea 下载可以关注 软件管家 公众号 学习内容: 该视频共分为1-7…

Ubuntu 24.04 上安装 Kubernetes,超级详细的教程!

Kubernetes 是一个免费的开源容器编排工具,它允许基于容器的应用程序的自动化部署、扩展和管理。 我们将介绍如何使用 Kubeadm 逐步在 Ubuntu 24.04 上安装 Kubernetes 此次演示中,我们将使用以下三个 Ubuntu 24.04 实例 Instance 1 : Master Node (k…

计算机视觉——opencv快速入门(二) 图像的基本操作

前言 上一篇文章中我们介绍了如何配置opencv,而在这篇文章我们主要介绍的是如何使用opencv来是实现一些常见的图像操作。 图像的读取,显示与存储 读取图像文件 在opencv中我们利用imread函数来读取图像文件,函数语法如下: imagecv2.imre…

植物大战僵尸融合版最新版1.0下载及安装教程

《植物大战僵尸融合版》最新版1.0已经发布,为粉丝们带来了全新的游戏体验。这个版本由B站UP主蓝飘飘fly精心打造,引入了创新的植物融合玩法,让玩家可以享受策略和创意的结合。以下是游戏的详细介绍和安装指南: 游戏特色介绍 全新…

TF-IDF计算过程一步步推导详解含代码演示

相关概念 TF-IDF TF-IDF(Term Frequency–Inverse Document Frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在…