嗨,我正在阅读 GD 和 SGD 之间的区别,并找到以下链接。
基于这些信息,我想了解 SGD 在以下场景中如何训练:
假设我们有一个包含 10000 行和 45 个预测变量的数据集。现在,由于 SGD 在一个示例上训练每个预测器(1 来自 10000),这是否意味着它总共只使用 45 个示例来训练 45 个预测器?
我真的很感激对这种情况的明确解释。
谢谢!
嗨,我正在阅读 GD 和 SGD 之间的区别,并找到以下链接。
基于这些信息,我想了解 SGD 在以下场景中如何训练:
假设我们有一个包含 10000 行和 45 个预测变量的数据集。现在,由于 SGD 在一个示例上训练每个预测器(1 来自 10000),这是否意味着它总共只使用 45 个示例来训练 45 个预测器?
我真的很感激对这种情况的明确解释。
谢谢!
在随机梯度下降算法的给定迭代中,所有 45 个预测变量都使用 10,000 个观察样本的随机生成子集进行更新。该子集可能仅包含 1 个观察值,但通常使用交叉验证来确定最佳子集大小。您甚至可以尝试在每次迭代时随机生成不同的子集大小。
每个随机梯度下降步骤将使用一个训练示例更新 45 个模型参数。
在数学上,SGD 中的梯度步骤可以表示为 -
参考-