- 在线时间
- 481 小时
- 最后登录
- 2026-8-25
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7859 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2946
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1177
- 主题
- 1192
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
% v c! ?. k- E6 a" j8 E7 o; w! C" D. Q0 c! I3 f# w
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。5 G# B/ U+ O2 D) E& F/ z4 h) d6 Y
- F7 ]9 f' E* g, C/ i
优点:. b! `* h5 t! e1 D& f' ~" Q
& g4 N# t6 C: y& L
容易计算。
3 D* k5 c2 q6 o6 l4 P ~/ k( s易于实施。( q/ x) |) s4 u8 U( E4 Z3 L
容易理解。
$ G7 Q+ l2 i( K7 m& ~$ e缺点:
3 t/ ?$ c9 S1 h! u$ ]$ k3 x) m! t
可能陷入局部最小值。, N' }- D- l2 {; g. o
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
) x1 q6 I, O+ n2 ?! V6 ?需要大内存来计算整个数据集的梯度
) q( Z7 ?% ^6 T随机梯度下降0 d4 C, }. w0 p7 u; F" @9 O
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
2 @0 j( Y1 u, s7 w6 i
+ R9 l& R$ c9 m) b5 \3 O2 }) U6 i- O; Yθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本; M- @$ @! y/ ]' \
: r# Z. X1 k; x/ j, o, g
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。2 Q' X* O n' K7 [
7 b8 f: b# @1 W9 p优点:
# P: l# @& e1 Q, w; q
* a0 m" |4 U+ X% ~2 h, O2 i- S因此,频繁更新模型参数可以在更短的时间内收敛。3 O: ^1 m' X1 @, m3 m
需要更少的内存,因为不需要存储损失函数的值。
: s. w: ~& F- g, O; d! ] [; \% C可能会得到新的最小值。4 c& I; E* n# p/ R4 r! z" g
缺点:
' `6 I& }! ^/ ]
: |1 O7 G: i8 {1 L0 D/ z模型参数的高方差。' o4 |: K( w6 E' z& t
即使在达到全局最小值后也可能射击。
: u/ f1 `3 m8 Y+ e& g) @3 D! @& _' n要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。9 ]' g, M* C$ i) K% P8 g: C( P" C
小批量梯度下降* p! q& A; R# ~# ]4 _
它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
3 H; J- J! Y3 p0 w( L# {% S* k' k
θ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
$ A; s* c: n' X) j: @, ~7 r0 V R& W% v& f
优点:
4 c7 \: R& i+ ^( S+ ]' D1 T: z$ M/ e
经常更新模型参数并且方差也较小。9 O* V' [/ L# N/ {/ G3 I9 N
需要中等的内存
- Y# s7 B, H) b0 I所有类型的梯度下降都有一些挑战:
6 w# d5 V3 S+ e0 z% ^% r8 I- Z9 f
: O. D; C; o: s. Z5 u, C选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。
, X$ G! }1 F4 c; S' W对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
; g) o' A( ^; r, {可能会陷入局部极小值。
9 S% E# t- K9 V% d, m3 A8 L. V3 D其它优化算法! ~2 v1 i4 E$ E4 X' q. \
具体我就不再详细介绍,其它优化器如下:; ~0 j: \9 U! d7 F, x' I
/ h% K7 g6 U% G9 [3 x+ @& k9 h RMomentum5 d+ f1 t s* q1 `
Nesterov Accelerated Gradient7 H- `3 f4 {% k: O
Adagrad- T+ g" n9 [4 D0 r6 ]& ~ s" C7 }
AdaDelta
" M [1 L0 p2 N8 V, _# ^Adam
: J2 I! u. P Q0 K各个优化算法比较动态图
6 K+ S: P: j; d- [# R7 F8 Y" ~
1 C, F9 k! | `! i* R, }* i
. j1 ]* g3 L* o* d0 D( s; Y7 K. {8 `: I/ Z
|
zan
|