- 在线时间
- 478 小时
- 最后登录
- 2026-4-9
- 注册时间
- 2023-7-11
- 听众数
- 4
- 收听数
- 0
- 能力
- 0 分
- 体力
- 7788 点
- 威望
- 0 点
- 阅读权限
- 255
- 积分
- 2922
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1171
- 主题
- 1186
- 精华
- 0
- 分享
- 0
- 好友
- 1
该用户从未签到
 |
梯度下降是最基本但使用最多的优化算法。它在线性回归和分类算法中大量使用。神经网络中的反向传播也使用梯度下降算法。! U2 p! }& {0 r1 o7 u( Y
( s; f. v& Q* K# r5 z! [梯度下降是一种一阶优化算法,它依赖于损失函数的一阶导数。它计算应该改变权重的方式,以便函数可以达到最小值。通过反向传播,损失从一层转移到另一层,模型的参数(也称为权重)根据损失进行修改,从而使损失最小化。, @; e$ I* X9 y. L
6 e0 }1 @( M; }& e优点:
3 S; P/ c- ^3 [& g4 @, A' ]# Y) m# A) v( }
容易计算。
5 P4 ^" X6 ]0 o5 H7 F1 A易于实施。
5 i* S4 M' b7 m$ _容易理解。+ i* [1 k2 B s! [5 Z9 b
缺点:
% i$ y" T2 c" I. Y7 g7 k
! ]4 b# C- d) X; k4 ^$ j可能陷入局部最小值。' x" N0 S9 z- B- W0 l1 p% E8 l8 F2 I" J
在计算整个数据集的梯度后,权重会发生变化。因此,如果数据集太大,可能需要数年时间才能收敛到最小值。3 l, ]% M7 X* w1 ^
需要大内存来计算整个数据集的梯度
8 `) W2 g2 H* d随机梯度下降
' m1 g/ l' ?6 X8 E$ Z, W它是梯度下降的变体。它尝试更频繁地更新模型的参数。在这种情况下,模型参数在计算每个训练示例的损失后会发生变化。因此,如果数据集包含 1000 行,SGD 将在数据集的一个循环中更新模型参数 1000 次,而不是像梯度下降中那样更新一次。7 G3 a y `( z, K; o9 H# c
1 m( j" b( T6 _) j
θ=θ−α⋅∇J(θ;x(i);y(i)) ,其中 {x(i) ,y(i)} 是训练样本
) y8 u; C" ^; \) P M- N5 x2 r1 s
. f2 {3 `! A1 B$ G3 t, i由于模型参数更新频繁,参数在不同强度下具有较大的方差和损失函数波动。
% J( q d0 l& ?. q# b, @+ `; V
优点:
6 F% V9 [6 e% P- l1 O) f" ~& o2 l, K/ J! l
因此,频繁更新模型参数可以在更短的时间内收敛。& |! b% Q3 ]& {" K
需要更少的内存,因为不需要存储损失函数的值。
9 C# [& g" g! w" R可能会得到新的最小值。9 e+ X, @1 i# S
缺点:
. m( ^ u& A# D: `. G' Y
/ ~' n9 T* a2 K I% P' e# S: w模型参数的高方差。
, {; g) s4 @7 w- Q$ s: p5 o即使在达到全局最小值后也可能射击。
, ^8 o2 X: n3 {" C7 A* T. W( r+ U要获得与梯度下降相同的收敛性,需要慢慢降低学习率的值。$ N: f4 X. {' I* K8 O8 q
小批量梯度下降
" |) Z) {: d' O1 `% h6 C它是梯度下降算法所有变体中最好的。它是对 SGD 和标准梯度下降的改进。它在每批次后更新模型参数。因此,数据集被分成不同的批次,每批次之后,参数都会更新。
: J4 [3 {, U- h" h5 l5 X# R/ L
0 H1 T+ `3 A0 k; ~5 q5 fθ=θ−α⋅∇J(θ; B(i)),其中 {B(i)} 是训练样本的批次。
s" W6 v0 q" p* K7 ^8 b, M) @
) ? z+ R* g0 K7 P优点:' M4 `3 b9 }, j& \* E" _" v: m
: Z5 G" P: S* O# m V. ^# a经常更新模型参数并且方差也较小。0 T- ]) s5 f4 E- g4 v0 C
需要中等的内存1 c+ m6 ?. y/ ^ P6 J
所有类型的梯度下降都有一些挑战:; g! E+ m& h$ s7 m
e1 e+ V, |+ _3 J8 }7 B
选择学习率的最佳值。如果学习率太小,梯度下降可能需要很长时间才能收敛。0 T+ J1 y; V' G
对所有参数都有一个恒定的学习率。可能有一些参数我们不想以相同的速率改变。8 W* y4 h, A' f
可能会陷入局部极小值。: I% b$ G3 T9 v0 y- k
其它优化算法, Q: S& A' v* x: T1 H
具体我就不再详细介绍,其它优化器如下:3 v% E0 m" l/ E) q% C5 m
2 e& E& Z% X' dMomentum
) Z+ ]7 K3 Y1 {5 wNesterov Accelerated Gradient% E5 h ~- a: p6 X
Adagrad0 a5 q, _+ m# @+ |5 [: u7 i% `
AdaDelta
: U+ v0 E* k1 x5 j: M& OAdam& t$ g- ?5 L; i3 t6 @- t- q
各个优化算法比较动态图+ R2 q: W5 C) v/ A
# e D# r! t# p1 T; Q! J. s+ O2 u
6 V/ J$ K( ^4 N# q C( ?$ d
* {3 t" z& Q) V- K( h* A; `
|
zan
|