梯度下降
梯度下降(Gradient Descent)是优化算法的核心,是机器学习和深度学习中最基础、最重要的算法之一。
它的主要目标是找到一个函数的最小值,通常用于最小化模型的损失函数(Loss Function),从而找到使模型预测最准确的最佳参数(权重和偏置)。
1. 核心原理:下山比喻
想象你被困在浓雾笼罩的山上,你的目标是尽快到达山底(即找到损失函数的最小值)。你看不到全局地图,只能感知你脚下坡度的陡峭程度。
梯度下降的策略是:
- 感知坡度(计算梯度): 在当前位置,环顾四周,找出下降最快的方向。这个方向就是负梯度的方向。
- 迈步前进(更新参数): 朝着最陡峭的下降方向迈出一小步。
- 重复:到达新位置后,重复以上步骤,直到到达山底(损失函数达到最小值或收敛)。
2. 数学原理

3. 关键要素:学习率 (Learning Rate)
学习率𝛼是梯度下降中一个至关重要的超参数:

- 学习率太小:下山速度太慢,需要很长时间才能收敛。
- 学习率太大:步子迈得太大,可能会越过山谷的最低点,甚至偏离路线,导致损失函数发散(Loss increases instead of decreases)。
4. 梯度下降的三种主要变体
根据每次计算梯度时使用的数据量,梯度下降算法分为三种主要类型:
- 批量梯度下降 (Batch Gradient Descent):
- 每次更新参数时使用所有训练样本。
- 优点:收敛到全局最优解的稳定性高。
- 缺点:计算成本高,大数据集下非常慢。
- 随机梯度下降 (Stochastic Gradient Descent, SGD):
- 每次更新参数时只使用一个随机选择的训练样本。
- 优点:速度非常快,有助于跳出局部最优解(在非凸函数中)。
- 缺点:更新过程有噪音和震荡,收敛过程不稳定。
- 小批量梯度下降 (Mini-Batch Gradient Descent):
- 每次更新参数时使用一小批(例如 32、64、128 个)训练样本。
- 优点:这是现代深度学习中最常用的方法。它平衡了前两种方法的优缺点,既提高了计算效率(可以利用并行计算),又比纯 SGD 更稳定。
5. 总结
梯度下降是一种迭代优化算法,通过计算损失函数的梯度,并沿着梯度的反方向(下降最快的方向)更新模型参数,以找到使模型性能最佳的参数组合。
浙公网安备 33010602011771号