随机梯度下降的成本函数是针对所有行还是仅针对迭代行计算的?

Is cost function for Stochasitc Gradient Desscent calculated for all rows or only for the row of iteration?

在 SGD 中,我想了解是在我们通过转到下一行再次更新参数之前为所有行计算成本,还是在更新参数之前仅为下一行计算成本?

在随机梯度下降中,您使用批次更新参数。如果您的训练集有 N 个示例(=行),则您每次更新参数时仅使用 B 个示例,其中 B<=N。那些 B 应该在参数更新的每次迭代中从 N 示例中随机选择。 (通过有替代选择、无替代选择或只是提前洗牌训练集来随机选择)。因此,您每次使用 B 个示例来计算成本的梯度。 (请注意,您实际上不需要计算成本 - 只需计算其梯度)。 B具体可以等于N,也可以等于1(这叫在线学习)。

此外,有时您希望在优化过程中看到一些学习指标。例如,每隔一段时间您可能希望查看整个训练集的成本值(这有助于终止条件),或者查看整个验证集的成本值(例如当监控以确保你不会过度拟合)。在这些情况下,您可能需要计算整个集合的成本(而不是梯度)。