梯度下降与随机梯度下降有什么区别?
0 815
1
该提问暂无详细描述
收藏
2021-01-08 15:54 更新 🍊小桔子 •  2439
共 1 个回答
高赞 时间
0

在梯度下降(GD)和随机梯度下降(SGD)中,都通过迭代方式更新一组参数的方式来最小化误差函数。 在GD中,必须遍历训练集中的所有样本才能对特定迭代中的参数进行单个更新,而在SGD中只能使用训练集中训练样本的一个或子集来在特定迭代中更新参数。如果使用了SUBSET,则称为Minibatch随机梯度下降。 因此,如果训练样本的数量很大(实际上非常大),则使用梯度下降可能会花费太长时间,因为在每次迭代中更新参数值时都是在运行完整的训练集。另一方面,使用SGD会更快,因为只使用一个训练样本,并且它会从第一个样本开始立即进行自我改进。 与GD相比,SGD的收敛速度通常要快得多,但误差函数没有像GD那样最小化。在大多数情况下,在SGD中得到参数值的近似值就足够了,因为它们可以达到最佳值并在此处保持振荡。

收藏
2021-01-08 16:10 更新 Lisa •  1800