深度学习笔记(十九)Mini-batch梯度下降法和指数加权平均

一、Mini-batch

如果训练集的样本数量非常大,比如有5000000个,把数据集划分为每1000个一组,那么就有5000组。用 x { t } x^{\{t\}} x{t}表示第t组,例如:
x { 1 } = [ x ( 1 ) , x ( 2 ) , . . . , x ( 1000 ) ] x^{\{1\}}=[x^{(1)},x^{(2)},...,x^{(1000)}] x{1}=[x(1),x(2),...,x(1000)]

在这里插入图片描述

二、理解Mini-batch梯度下降法

Batch梯度下降和Mini-batch梯度下降法cost函数对比
在这里插入图片描述
Mini-batch size的选取

  • size=m, ( x { 1 } , y { 1 } ) = ( X , Y ) (x^{\{1\}},y^{\{1\}})=(X,Y) (x{1},y{1})=(X,Y),梯度下降过程如蓝色所示,耗时太长
  • size=1, ( x { t } , y { t } ) = ( x ( 1 ) , y ( 1 ) ) (x^{\{t\}},y^{\{t\}})=(x^{(1)},y^{(1)}) (x{t},y{t})=(x(1),y(1)),梯度下降过程如紫色所示,失去向量化的优势
  • size between 1 and m,具有更高的效率,既可以向量化处理,也可以不等待全过程结束就进一步处理,如绿色所示

在这里插入图片描述

  • 如果样本数量小,直接使用Batch梯度下降法,小样本通常指小于2000个样本
  • 样本大用Mini-batch梯度下降,通常size选取64,128,256,512
  • 设置Mini-batch时要符合你电脑的CPU和GPU,不然算法结果会惨不忍睹

三、指数加权平均

要计算下图中的局部平均值/移动平均值
在这里插入图片描述
v 0 = 0 v_0=0 v0=0

v 1 = 0.9 v 0 + 0.1 θ 1 v_1=0.9v_0+0.1\theta_1 v1=0.9v0+0.1θ1

v 2 = 0.9 v 1 + 0.1 θ 2 v_2=0.9v_1+0.1\theta_2 v2=0.9v1+0.1θ2

v t = 0.9 v t − 1 + 0.1 θ t v_t=0.9v_{t-1}+0.1\theta_t vt=0.9vt1+0.1θt

计算上式后可以得到温度的指数加权平均值
在这里插入图片描述
v t = β v t − 1 + ( 1 − β ) θ t v_t=\beta v_{t-1}+(1-\beta)\theta_t vt=βvt1+(1β)θt

v t ≈ a v g ( 1 1 − β d a y s t e m p e r a t u r e ) v_t\approx avg(\frac{1}{1-\beta}days_{temperature}) vtavg(1β1daystemperature)

β = 0.9 → 10 \beta=0.9\to 10 β=0.910天的平均温度(红)
β = 0.98 → \beta=0.98\to β=0.98 50天的平均温度(绿)
在这里插入图片描述
β \beta β增大时,给当日的权重变少,所以指数加权平均值适应更慢,表现出一定程度的延迟。
进一步研究, β = 0.5 → 2 \beta=0.5\to 2 β=0.52天的平均温度,由于仅仅平均了2天的值,图像得到更多噪声,异常值也更多,但它更快适应了温度变化。

四、理解指数加权平均

v 100 v_{100} v100展开得到
在这里插入图片描述
( 1 − ε ) 1 / ε = 1 e (1-\varepsilon)^{1/\varepsilon}=\frac{1}{e} (1ε)1/ε=e1
0. 9 10 = 1 e 0.9^{10}=\frac{1}e 0.910=e1
0.9 8 50 = 1 e 0.98^{50}=\frac{1}e 0.9850=e1
v t v_t vt平均的是 1 1 − β \frac{1}{1-\beta} 1β1天的值

指数加权平均的实现
在这里插入图片描述

v = 0
Repeat {
	Get next x
	v = bv + (1-b)x
}

五、指数加权平均的偏差修正

不用 v t v_t vt表示,而是用 v t 1 − β t \frac{v_t}{1-\beta^t} 1βtvt
在这里插入图片描述
红线是 β = 0.9 \beta=0.9 β=0.9时对应的图像,紫线是 β = 0.98 \beta=0.98 β=0.98对应的图像,绿线是在 β = 0.98 \beta=0.98 β=0.98情况下用 v t 1 − β t \frac{v_t}{1-\beta^t} 1βtvt替换 v t v_t vt所对应的图像,可以看到前期的拟合更合理,后期t增大,分母趋近于1,绿线和紫线几乎重合。
如上就是指数加权平均的偏差修正方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值