优化器学习笔记(GD、SGD、SGD(Momentum)、AdaGrad、RMSprop、 Adam、Muon)
📌 梯度下降法 Gradient Descent (GD)
什么是 GD?
梯度下降是一种优化算法,通过不断沿函数的最陡下降方向(梯度的负方向)更新参数,寻找函数最小值。
目标:
给定一个损失函数 f ( θ ) f(\theta) f(θ),找到参数 θ \theta θ 使得函数最小化。
算法步骤(二维参数为例)
- 初始化参数 θ 0 \theta_0 θ0(如随机值)
- 计算当前梯度 ∇ f ( θ ) \nabla f(\theta) ∇f(θ)
- 沿负梯度方向更新参数:
θ = θ − η ⋅ ∇ f ( θ ) \theta = \theta - \eta \cdot \nabla f(\theta) θ=θ−η⋅∇f(θ) - 重复步骤 2~3,直到收敛
举例:函数 ( θ − 3 ) 2 (\theta - 3)^2 (θ−3)2
- 最小值在 θ = 3 \theta = 3 θ=3
- 梯度为 ∇ f ( θ ) = 2 ( θ − 3 ) \nabla f(\theta) = 2(\theta - 3) ∇f(θ)=2(θ−3)
- 更新公式: θ = θ − η ⋅ 2 ( θ − 3 ) \theta = \theta - \eta \cdot 2(\theta - 3) θ=θ−η⋅2(θ−3)
| 步骤 | θ \theta θ | 梯度 2 ( θ − 3 ) 2(\theta-3) 2(θ−3) | 更新量 | 新 θ \theta θ |
|---|---|---|---|---|
| 0 | 0.00 | -6.00 | +0.6 | 0.60 |
| 1 | 0.60 | -4.80 | +0.48 | 1.08 |
| … | … | … | … | … |
总结
梯度下降适用于小数据场景,通过每次全量计算梯度更新参数,稳定但收敛慢。
⚡ 随机梯度下降 SGD
什么是 SGD?
SGD 每次只使用一个样本的梯度进行参数更新,提高训练速度和计算效率。
核心流程
- 每轮训练打乱数据
- 对每个样本 ( x i , y i ) (x_i, y_i) (xi,yi):
- 计算梯度 ∇ L i ( θ ) \nabla \mathcal{L}_i(\theta) ∇Li(θ)
- 参数更新 θ = θ − η ⋅ ∇ L i ( θ ) \theta = \theta - \eta \cdot \nabla \mathcal{L}_i(\theta) θ=θ−η⋅∇Li(θ)
- 重复多个 epoch
举例:线性回归 f ( x ) = w x + b f(x) = wx + b f(x)=wx+b
- 数据: ( 1 , 3 ) , ( 2 , 5 ) , ( 3 , 7 ) (1,3), (2,5), (3,7) (1,3),(2,5),(3,7)
- 初始化 w = 0 , b = 0 , η = 0.1 w = 0, b = 0, \eta=0.1 w=0,b=0,η=0.1
经过一轮 SGD 后, w w w 和 b b b 会逐步接近目标值 ( 2 , 1 ) (2, 1) (2,

最低0.47元/天 解锁文章
、AdaGrad、RMSprop、 Adam、Muon)&spm=1001.2101.3001.5002&articleId=148795099&d=1&t=3&u=03ecd2f97e524e01a0abab64d29e475e)
1082

被折叠的 条评论
为什么被折叠?



