梯度下降

梯度下降(Gradient Descent)优化算法的核心,是机器学习和深度学习中最基础、最重要的算法之一。
它的主要目标是找到一个函数的最小值,通常用于最小化模型的损失函数(Loss Function),从而找到使模型预测最准确的最佳参数(权重和偏置)。

1. 核心原理:下山比喻

想象你被困在浓雾笼罩的山上,你的目标是尽快到达山底(即找到损失函数的最小值)。你看不到全局地图,只能感知你脚下坡度的陡峭程度。
梯度下降的策略是:
  1. 感知坡度(计算梯度): 在当前位置,环顾四周,找出下降最快的方向。这个方向就是负梯度的方向。
  2. 迈步前进(更新参数): 朝着最陡峭的下降方向迈出一小步。
  3. 重复:到达新位置后,重复以上步骤,直到到达山底(损失函数达到最小值或收敛)。

2. 数学原理

 1FC045647E3A21E30D41A7B1249F2FB7

3. 关键要素:学习率 (Learning Rate) 

学习率𝛼是梯度下降中一个至关重要的超参数: 
  • 学习率太小:下山速度太慢,需要很长时间才能收敛。
  • 学习率太大:步子迈得太大,可能会越过山谷的最低点,甚至偏离路线,导致损失函数发散(Loss increases instead of decreases)。

4. 梯度下降的三种主要变体

根据每次计算梯度时使用的数据量,梯度下降算法分为三种主要类型:
  1. 批量梯度下降 (Batch Gradient Descent)
    • 每次更新参数时使用所有训练样本。
    • 优点:收敛到全局最优解的稳定性高。
    • 缺点:计算成本高,大数据集下非常慢。
  2. 随机梯度下降 (Stochastic Gradient Descent, SGD)
    • 每次更新参数时只使用一个随机选择的训练样本。
    • 优点:速度非常快,有助于跳出局部最优解(在非凸函数中)。
    • 缺点:更新过程有噪音和震荡,收敛过程不稳定。
  3. 小批量梯度下降 (Mini-Batch Gradient Descent)
    • 每次更新参数时使用一小批(例如 32、64、128 个)训练样本。
    • 优点:这是现代深度学习中最常用的方法。它平衡了前两种方法的优缺点,既提高了计算效率(可以利用并行计算),又比纯 SGD 更稳定。

5. 总结

梯度下降是一种迭代优化算法,通过计算损失函数的梯度,并沿着梯度的反方向(下降最快的方向)更新模型参数,以找到使模型性能最佳的参数组合。
 
 
 
posted @ 2025-11-07 15:39  PKICA  阅读(1)  评论(0)    收藏  举报