强化学习 (11)随机近似

计算均值的新方法

有两种方法。第一种方法很直接,即收集所有样本后计算平均值;但这种方法的缺点是,若样本是在一段时间内逐个收集的,我们必须等到所有样本都收集完毕。第二种方法可避免此缺点,因为它以增量迭代的方式计算平均值,来几个就计算几个,不需要等了。

步骤

假设

由此可得

则有

最终推导出 增量更新公式

一般性替换

此算法是一种特殊的 SA 算法 (随机近似算法),也是一种特殊的 随机梯度下降算法

Robbins-Monro 算法

随机梯度下降算法是 RM 算法的特殊形式

RM算法的目的是在不知道方程表达式、只进行采样的前提下求方程的解

为了求解的解,我们采用(*),其中是第k次带噪声的观测

具体的实现步骤是,输入一个,我们可以得到一个带噪声的观测值,通过(*)式可以得到,又可以据此我们可以得到一个带噪声的观测值,由通过(*)式可以得到......

如果我们能证明这样的序列会收敛于的解,那这样的一个算法就是可行的

下面我们引入Robbins-Monro定理来证明这个序列收敛于的解

Robbins-Monro定理

若有

满足的一个典型序列是,其无穷级数发散,其无穷平方和=,实际常把选为足够小的常数,这虽然违反条件,但是可以避免带来的后端序列权重过低的问题

是一种特殊的RM算法

随机梯度下降

Stochastic Gradient Descent (SGD)

随机梯度下降算法是为了解决一个优化问题

我们要优化来使的值最小

是随机变量,的函数;这个随机变量的概率分布已经给定但是暂时是未知的,就是对求期望;既可以是向量也可以是标量,的值是标量

方法一:梯度下降GD

随机梯度下降通过在每次迭代中,沿着目标函数期望梯度的负方向来更新参数 ,逐步逼近目标函数的最小值点。实际应用中,由于计算整个数据集上目标函数的期望梯度(全量梯度)计算量过大,通常会采用小批量数据或者单个数据来近似计算期望梯度,从而实现高效的参数更新。

方法二:批量梯度下降BGD

当 n = 1时,就是每次只用一个样本进行梯度更新,即SGD;当 n 为整个数据集样本数时,就退化为批量梯度下降。 这种基于样本近似计算梯度的方式,在大规模数据场景下极大地降低了计算复杂度,使得优化算法能够高效运行

方法三:随机梯度下降SGD

式子等号右边,原来的变成了对的随机采样;true gradient变成了stochastic gradient。这就是BGD里令n=1的情况

例子

考虑一个优化问题

其中

其最优解为

GD

SGD

收敛性

从GD到SGD:

可以看作是的带噪声的观测值:

下面我们证明SGD是一个特殊的RM算法,由此来证明SGD在满足某些条件的情况下是收敛的

proof:

SGD是要解决一个优化问题:,令最小。这样的优化问题可以转化为寻找的根,因为其梯度为0是取得极小值的必要条件。

下面即求的根

我们用RM算法来求的根

这实际上就是SGD算法

SGD算法的有趣性质

由于随机梯度是随机的,因此其近似并不精确,那么随机梯度下降法(SGD)的收敛过程是缓慢的还是随机的呢?

上述等式揭示了随机梯度下降法(SGD)一种有趣的收敛模式:

BGD & MBGD & SGD

总结

参考文章

S. Zhao. Mathematical Foundations of Reinforcement Learning. Springer Nature Press, 2025. 【【强化学习的数学原理】课程:从零开始到透彻理解(完结)】

https://www.bilibili.com/video/BV1sd4y167NS/? p=2&share_source=copy_web&vd_source=52164f68a5f27ac2e86f0e7963ea966c

相关推荐
white-persist4 小时前
MCP协议深度解析:AI时代的通用连接器
网络·人工智能·windows·爬虫·python·自动化
新智元4 小时前
谷歌杀入诺奖神殿,两年三冠五得主!世界TOP3重现贝尔实验室神话
人工智能·openai
StarPrayers.4 小时前
卷积层(Convolutional Layer)学习笔记
人工智能·笔记·深度学习·学习·机器学习
skywalk81634 小时前
AutoCoder Nano 是一款轻量级的编码助手, 利用大型语言模型(LLMs)帮助开发者编写, 理解和修改代码。
人工智能
金井PRATHAMA4 小时前
描述逻辑对人工智能自然语言处理中深层语义分析的影响与启示
人工智能·自然语言处理·知识图谱
却道天凉_好个秋5 小时前
OpenCV(四):视频采集与保存
人工智能·opencv·音视频
minhuan5 小时前
构建AI智能体:五十七、LangGraph + Gradio:构建可视化AI工作流的趣味指南
人工智能·语言模型·workflow·langgraph·自定义工作流
WWZZ20255 小时前
ORB_SLAM2原理及代码解析:SetPose() 函数
人工智能·opencv·算法·计算机视觉·机器人·自动驾驶
lisw055 小时前
AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
大数据·人工智能·物联网·机器学习·软件工程
mtouch3335 小时前
GIS+VR地理信息虚拟现实XR MR AR
大数据·人工智能·ar·无人机·xr·vr·mr