什么是梯度下降?
梯度下降(Gradient Descent) 是一种优化算法,用于找到使损失函数最小化的参数值。
直观理解
想象你站在一座山上,雾很大看不到全貌,想要走到最低点。最好的策略就是:每一步都朝着当前最陡的下坡方向走。这就是梯度下降的思想。
- 山的高度 = 损失函数的值
- 你的位置 = 模型参数
- 最陡的下坡方向 = 梯度的反方向
- 步伐大小 = 学习率
梯度下降的公式
参数更新规则:θ = θ - α × ∇L(θ)
- θ:模型参数(权重和偏置)
- α:学习率(控制每步走多远)
- ∇L(θ):损失函数对参数的梯度(方向导数)
对于线性回归 y = wx + b:
- w = w - α × dw(权重更新)
- b = b - α × db(偏置更新)
学习率的影响
| 学习率 | 效果 |
|---|---|
| 太大 | 参数来回震荡,可能无法收敛 |
| 太小 | 收敛速度极慢,可能卡在局部最小值 |
| 合适 | 稳定收敛到最优解 |
梯度下降的变体
- 批量梯度下降(BGD):用全部数据计算梯度,准确但慢
- 随机梯度下降(SGD):每次用一个样本计算梯度,快但不稳定
- 小批量梯度下降(Mini-batch GD):折中方案,最常用
考试要点
- 梯度下降的主要目的是计算损失函数的最小值
- 参数更新方向是梯度的反方向
- w = w - α × dw,b = b - α × db
- 学习率α控制更新步幅