- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。
/ T8 X6 n6 s* k& z9 C! u) z. l, P1 [8 k' g# `' l! C" ~
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。* x/ r. p5 W9 Z( _
+ h, ]; f( G) M. c. N优点:! H) W+ Y* ]' G) L3 \- T( R7 E
/ n7 J. u( h' c7 t! }
容易计算。. B6 n! y. w" f( h i9 e) u
易于实施。* w1 L% @8 C. d
容易理解。/ k/ \" f0 D# y w
缺点:
, U, D9 G- z5 B* ?9 v" A* t8 s3 t( l
可能陷入局部最小值。3 @9 _2 ?: e$ @- \, n
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。% S7 o2 Q3 R) `: F
需要大内存来计算整个数据集的梯度
' u6 n& J4 ]% {$ f B+ [4 f6 ~3 u: V随机梯度下降# v4 n# T7 x7 X# p' G
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。
0 c; z4 F' l9 q) T
' t+ O0 \* H2 K) Jθ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本% o; k0 z2 O$ E8 z; w
/ B. z. {' E# `4 f
由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
X$ D2 P5 H8 g" x! y7 [! B) L+ N
- d, K" j; Z' c, C; m5 r( d2 F优点:. ^8 V+ _7 r4 C) x, W2 F
1 C3 Z( a& a" B r2 X5 A因此,频繁更新模型参数可以在更短的时间内收敛。
9 S' P: w( G4 o# ~需要更少的内存,因为不需要存储损失函数的值。
% q |7 @8 `0 |: X+ H* G! ^可能会得到新的最小值。' d. Q' r" U# i/ \7 z& s# @2 a
缺点:
0 @- w* `0 W7 I2 Q* g
( U8 O% J6 d* v6 r模型参数的高方差。
: O: u7 C2 Y- ?3 y5 P g即使在达到全局最小值后也可能射击。0 j0 U! ~6 a4 z! W" G( Q
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。8 g. [! S# Z+ o' q6 J1 a5 A
小批量梯度下降
7 T; J" M3 B1 g0 n它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
4 Z6 I' Y6 \2 N2 x' A/ T
) D. u- N% z; _- i% O$ G- D1 gθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。8 v' ]5 s. n7 }- G8 t; G% j
, @4 a/ p( Z. u# z. \优点:
* A* c' `/ d! s2 Z2 ]6 k8 K/ D2 M% C5 _% `% ]+ N, v/ h
经常更新模型参数并且方差也较小。
. l; p( `4 e) E+ R需要中等的内存
+ }6 V* l& m6 B所有类型的梯度下降都有一些挑战:" [0 W0 A0 z+ c3 q% m
% K0 b z0 @- D: L. V6 p& N3 a9 [选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。: z; V- b$ ^' A$ j1 k) i# z7 r
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。1 I M* D4 F, |( k ` ]! L
可能会陷入局部极小值。 o9 X& m/ M7 w* y. U& n
其它优化算法
4 `4 Z6 s0 k9 [' ?% H7 ]: E+ Q具体我就不再详细介绍,其它优化器如下:/ n5 S) {0 L8 J1 ]0 i: [5 h
& t2 N( W5 a7 f5 d+ G3 BMomentum/ [! J) h( S% b3 o6 ?. q6 _
Nesterov Accelerated Gradient
, V; B4 c, g0 E- L- Q( I: E* zAdagrad
$ A, N3 x& M. p3 c9 t& H' xAdaDelta( k% O% W2 C" |& |6 i
Adam1 O- }' h9 q( M6 t
各个优化算法比较动态图
) b+ P5 z* H9 k. L( ^# k
7 v; t n+ K& ?* c
, |7 H- l% [/ Z6 m8 w s: n/ R. Q0 K
_1 C/ w. Q, e: G. g8 [0 h- ` i5 b |
zan
|