一、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.9vt−1+0.1θt
计算上式后可以得到温度的指数加权平均值
v
t
=
β
v
t
−
1
+
(
1
−
β
)
θ
t
v_t=\beta v_{t-1}+(1-\beta)\theta_t
vt=βvt−1+(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}) vt≈avg(1−β1daystemperature)
β
=
0.9
→
10
\beta=0.9\to 10
β=0.9→10天的平均温度(红)
β
=
0.98
→
\beta=0.98\to
β=0.98→ 50天的平均温度(绿)
当
β
\beta
β增大时,给当日的权重变少,所以指数加权平均值适应更慢,表现出一定程度的延迟。
进一步研究,
β
=
0.5
→
2
\beta=0.5\to 2
β=0.5→2天的平均温度,由于仅仅平均了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,绿线和紫线几乎重合。
如上就是指数加权平均的偏差修正方法。