- 在线时间
- 480 小时
- 最后登录
- 2026-6-1
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7823 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2934
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1174
- 主题
- 1189
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。5 Z$ ^( b- m9 p V& _, V2 ^
+ a& i; \; R2 N& Y5 I4 t
梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。
5 B$ M8 b A, E, J+ V) _ o" O: s6 [8 U& q& I
优点:
* A& ^5 X, c# K U% ?" ^0 b7 s7 M
容易计算。
3 U2 n9 b4 ^ I; ?+ u易于实施。7 o( f" t% S% r1 K
容易理解。
( G0 y7 a( x8 }% L缺点:: x6 A& @4 I) S
$ Q# ^; N8 N" |% u3 |可能陷入局部最小值。
7 ?4 G. o! i5 T# g在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。
6 k- T! g( I! t需要大内存来计算整个数据集的梯度& H; e* ?! r) @% r$ x7 z9 i
随机梯度下降' n G/ ~3 I# t' ]
它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。" h% G7 t8 k. @% P
+ Z3 }& \% {/ T1 D8 X' {! l
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
9 |7 v7 a. A, e# x. i1 M
2 B0 d6 ?" _5 w由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。7 Y- m# b/ G, }5 Z3 ^! o4 l
( U- P C- J" p* f0 C优点:
; B+ j2 E* Z" p0 a* c4 w" j6 U: Y# y* R5 c+ j; q( u
因此,频繁更新模型参数可以在更短的时间内收敛。
6 Z1 Y1 H4 }" y/ D0 N, d需要更少的内存,因为不需要存储损失函数的值。
. x' a7 J6 A8 G$ z% P( m5 t可能会得到新的最小值。2 D( E+ s# s8 [8 u, X
缺点:
9 s2 V, t9 R* `+ d$ G9 y; b( Z; p) c' G
模型参数的高方差。0 x1 `& q9 ?8 v/ R( \
即使在达到全局最小值后也可能射击。- E3 |6 S$ j8 B- D- U4 i% ?
要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。# `6 G" c' C% ~. y& }, {
小批量梯度下降
; k& q% z$ v! ^. A( y0 E8 }6 U8 J它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
' s0 b/ P5 I2 h; l6 L9 M
$ O$ O# o& P2 \: p tθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
% x& j: R& |; [; T/ S7 \7 I7 s9 d8 k* \- V: g( i3 i) j% u w* n
优点:
. u; r! ?- v! X2 Z r
9 I: o( X" F" {经常更新模型参数并且方差也较小。
- n. ]: X* e) }, G9 [6 B. b需要中等的内存
& H( }0 r+ P: V- ], u所有类型的梯度下降都有一些挑战:9 k0 c( G1 ^, q1 ?$ L
: ~* Z4 M; [4 y$ x0 ~- F7 k选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。2 P2 y2 N& f- {. ^
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。
+ c! t9 @4 N! v+ b* b2 H% ~* g3 q ^可能会陷入局部极小值。& e; o' c# E7 b4 S2 t
其它优化算法
7 p9 c6 Z& N4 m7 o y具体我就不再详细介绍,其它优化器如下:& v4 \/ l' J0 [" @; R$ ]' e, }
" J, p U1 f6 Q' D4 K: c6 XMomentum
. D- F( J1 u/ R# B- `# nNesterov Accelerated Gradient! ?' h2 _5 t9 `/ q" r
Adagrad
9 i+ x; d2 M$ N5 FAdaDelta5 @9 y0 J* ]( S. n4 C( g- Q
Adam3 K0 a& o$ t% ]9 b
各个优化算法比较动态图
L H( Q5 o' p; }2 z. j7 l c( j
. ]+ v: s/ e3 c ?6 W; A6 `+ [% Y0 y( m/ j _, h: w
. d% [/ m }& v, Y3 c4 l
|
zan
|