Skip to main content

优化算法 Optimization Algorithmn

梯度下降(Gradient Descent, GD)

梯度下降(Gradient Descent, GD)

计算整个训练集的梯度,然后一次性更新参数。

GD 收敛稳定但慢: 由于每次更新使用全量数据,梯度方向稳定,但计算量大,收敛可能较慢。

随机梯度下降(Stochastic Gradient Descent, SGD)

随机梯度下降(SGD,stochastic gradient descent)。 计算单个样本的梯度,每次更新参数时只使用一个或多个数据点。

小批量随机梯度下降(Mini-batch SGD)

每次更新使用多个数据点代表整个数据集。

问题

梯度下降和随机梯度下降对比

特性梯度下降(GD)随机梯度下降(SGD)
计算方式用整个数据集计算梯度用单个样本计算梯度
计算效率计算成本高,适用于小数据集计算成本低,适用于大数据集
收敛速度收敛稳定但较慢收敛快但波动大
适用场景批量数据更新,适用于小数据集在线学习、深度学习、大规模数据集

随机梯度下降会收敛吗?

todo

学习率的设置?

  • 一般学习率不能设的太大,算法容易发散(diverge)
  • 学习率也不能太小,训练需要很长的时间到达最大值
  • 最佳选择
    • 从2.5开始
    • 每10轮迭代除以2

常用哪些优化算法?

在深度学习和大规模数据训练中,SGD 及其改进版本(如 Mini-batch SGD、Adam)更常用,因为它计算更高效,适合处理海量数据。