引言与背景
随机逼近(Stochastic Approximation)是一类用于求解寻根或优化问题的随机迭代算法,其特点是不需要知道目标函数或其导数的表达式。
随机逼近的核心优势在于:
- 能够处理带有随机噪声的观测数据
- 不需要目标函数的解析表达式
- 可以在线学习,每获得一个新样本就更新估计值
均值估计问题
考虑一个随机变量,其取值来自有限集合。我们的目标是估计。假设我们有一个独立同分布的样本序列,那么的期望值可以近似为:
非增量方法与增量方法
非增量方法:先收集所有样本,然后计算平均值。缺点是如果样本数量很大,可能需要等待很长时间。
增量方法:定义
可以推导出递归公式:
这个算法可以增量式地计算平均值,每次收到新样本就立即更新估计值。可以验证:
更一般的形式是:
其中 是步长参数。 满足一定条件(后面会说),当 时,。
Robbins-Monro算法
假设我们想要找到方程 的根,其中 是未知变量, 是一个函数。但是我们面临的问题是:
- 函数 的表达式未知
- 我们只能获得 的带噪声观测值:
如下图所示,这是一个黑盒系统,只有输入 和带噪声的输出 是已知的。

算法描述
Robbins-Monro算法的形式为:
其中 是第 次对根的估计, 是第 次带噪声的观测值, 是正系数。
💡 Robbins-Monro算法示例:求解 的根
收敛性质
Robbins-Monro定理: 在Robbins-Monro算法中,如果满足以下条件:
- 第一个条件:
- 第二个条件:
- 第三个条件:
应用于均值估计
将均值估计问题表述为寻根问题:
- 定义函数
- 原问题变为求解
- 给定 值,我们能获得的带噪声观测是
- 可以写成 ,其中
应用Robbins-Monro算法:
这正是之前的均值估计算法。根据Robbins-Monro定理,如果,,且 是独立同分布的,则 几乎必然收敛到 。
对于Robbins-Monro算法的证明可以用Dvoretzky收敛定理, 具体证明过程可以参阅 Mathematical Foundations of Reinforcement Learning
随机梯度下降(SGD)
考虑以下优化问题:
其中 是待优化参数, 是随机变量,期望是关于 计算的。
梯度下降算法为:
但这需要计算期望,而这通常是未知的。
随机梯度下降算法
要解决这个问题,首先可以考虑用样本均值代替期望,即
将其带入到 (2)式, 可得,
上面的算法的一个问题是它需要每次迭代中的所有样本。 在实践中,如果样本是逐个采集的,那么每次采集样本时更新 是比较好处理的。为此,我们可以使用以下算法:
其中 是在时间步 收集的样本。该算法即为随机梯度下降法,因为它依赖于随机样本。随机梯度下降算法用随机梯度 替代真实梯度 。
收敛性分析
SGD有一个有趣的收敛模式:当估计值远离最优解时,收敛过程快速;当估计值接近最优解时,随机梯度的随机性变得显著,收敛速度减慢。
相对误差分析:
这表明相对误差 与 成反比。
SGD的收敛性定理: 对于SGD算法,如果满足以下条件,则 几乎必然收敛到 的根:
🧾 SGD算法可以看作是特殊的Robbins-Monro算法:
SGD与均值估计
均值估计问题可以表述为优化问题:
其中,梯度为。可以验证最优解为(通过求解)。
应用SGD算法:
这正是之前的均值估计算法,表明均值估计算法是一个专门为解决均值估计问题设计的SGD算法。
BGD, SGD, and mini-batch GD
假设我们要最小化,给定随机样本集:
- 批量梯度下降(BGD):
- 小批量梯度下降(MBGD):
- 随机梯度下降(SGD):
MBGD可以看作是SGD和BGD之间的中间版本:
- 相比SGD,MBGD随机性更小,因为它使用更多样本
- 相比BGD,MBGD不需要在每次迭代中使用所有样本,更加灵活
- 如果,MBGD变为SGD
- MBGD的收敛速度通常比SGD更快
对于均值估计问题,三种算法分别为:
- BGD:
- MBGD:,其中
- SGD:
当时,这些方程可以解为:
- BGD:
- MBGD:
- SGD: