- 在线时间
- 482 小时
- 最后登录
- 2026-9-11
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7953 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2978
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1183
- 主题
- 1198
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
; y& F/ h. R3 H! u; f
: |2 S# m6 r! _0 ~, S梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
6 p" m! g0 P6 o$ H# h% b* Y7 p J; B I& }4 f# F! ?4 F" w
优点:4 a; Z2 T" M) w9 D- R9 K
' G$ ?+ d6 J; M. q9 s
容易计算。; F7 w* C& E Y8 @: d7 r# n( ^/ A% b
易于实施。1 G# H* E1 Q) J; `+ X
容易理解。
4 K6 s1 o c1 B3 {. z缺点:
4 N* U! o6 B& p# q0 k- z0 S
) ]3 k" e; |- k" b, m) `$ M9 ^9 K2 ?可能陷入局部最小值。
8 G% K" c i6 V在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
0 H# d+ N/ r! S: b" p需要大内存来计算整个数据集的梯度
* a' q; Z/ ]5 r' c随机梯度下降
1 F0 T9 b3 H( J6 x$ {- M它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
6 R0 s! u' N, |& b$ ]" Y. g+ H1 ~6 H- H1 W
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本7 d! G9 H: i* f2 y+ o
+ v: a8 a1 ?; \8 a- \
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。+ r3 i: \- R6 b2 M8 L
; E1 H0 ~# b( h3 @. h4 s3 w1 K- N7 U
优点:
6 C: q7 r7 n1 N d$ @+ \5 ?3 _$ e
因此,频繁更新模型参数可以在更短的时间内收敛。# J1 `4 S4 F7 y- |4 c1 k Q
需要更少的内存,因为不需要存储损失函数的值。* B. Z( z# F+ c. N9 r0 u
可能会得到新的最小值。; s6 c+ A/ r' i& l9 [
缺点:4 F1 v% N( w# a8 r% Q
/ U/ k7 ~$ D b% f9 ^6 Y
模型参数的高方差。
, B, h/ G4 U* Q+ G, }即使在达到全局最小值后也可能射击。
( z r ~4 F, i9 I$ l要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。. T9 J: o4 U' L1 _' X
小批量梯度下降
1 ~$ a) e9 ^8 [; N/ R% m8 \( q它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。& T! C. S& D9 `/ I+ m$ y- `$ \
' a' q! P! g1 z& @6 Fθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
( L) v) e; o- b' j: ] s9 l
# J" J" o% j; i; W5 Y优点:- u% G- Z8 X, q" B* l* k* u
: p: p' P7 s8 t! S3 k0 ]& x经常更新模型参数并且方差也较小。& H" Z: C. ~* H: o- V3 b
需要中等的内存" D- u2 M. `, q# p- |
所有类型的梯度下降都有一些挑战:5 y$ z$ o+ ]% k' I2 v8 i
% B* V" V" A b3 o6 C/ N
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。& K& k+ Y1 d `( ~; u5 I
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
# h- A0 i$ g% ]' [可能会陷入局部极小值。
; R- N6 o8 E: g7 F# N! C其它优化算法
0 G7 g) Y4 `. ^ l4 C具体我就不再详细介绍,其它优化器如下:4 M. O$ x8 m7 v5 e( f+ u" O! Y2 B
- Z% f% w7 G# D& ^* p. }( h
Momentum3 |8 V! c' t1 u" u1 i( i
Nesterov Accelerated Gradient
8 Q' e9 G5 P" r/ }3 `& B x* F% zAdagrad
5 }$ o2 G, Z9 q4 u0 i! w9 oAdaDelta3 t9 r4 l6 m% U/ Z5 t
Adam
" t. M1 a' U% y5 E g C各个优化算法比较动态图
& _ @6 _8 a4 Y7 R( {& |4 M) B, q) K
' ?8 F& W3 Z6 M' E# X' |+ J5 B
- V2 t x' M% t6 y4 n, @! T
8 r5 y5 h L# m# i! B* N |
zan
|