随机梯度下降与在线梯度下降

机器算法验证 机器学习 优化 术语
2022-04-05 14:42:54

我想知道随机梯度下降和在线梯度下降之间的区别是什么?还是相同的算法?

3个回答

显然,不同的作者对随机梯度下降有不同的想法。主教 说:

在线梯度下降,也称为顺序梯度下降或随机梯度下降,每次基于一个数据点对权重向量进行更新......

然而,[2] 将其描述为次梯度下降,并为随机梯度下降给出了更一般的定义:

在随机梯度下降中,我们不要求更新方向完全基于梯度。相反,我们允许方向是一个随机向量,并且只要求它在每次迭代中的期望值等于梯度方向。或者,更一般地说,我们要求随机向量的期望值是当前向量处函数的次梯度。

Shalev-Shwartz, S. 和 Ben-David, S. (2014)。理解机器学习:从理论到算法。剑桥大学出版社。

例如,让我们将自己置于线性/逻辑回归的背景下。假设您的训练集中有个样本。您想在这些样本中使用一次循环来学习模型的系数。N

  • 随机梯度下降:您将在每次迭代中随机选择其中一个训练样本来更新您的系数。
  • 在线梯度下降:您将在每次迭代中使用“最新”样本。当您确定地选择样本时,没有随机性。在数据集很大的行业中,我们通过使用最新的样本在更新系数时立即进行“实时”训练。

在线梯度下降与随机梯度下降本质上是一样的;网上的名字强调我们不是在解决批处理问题,而是在预测一系列不需要 IID 的示例。