2.2 优化算法

 

1. mini-batch梯度下降法

  size=m:退化为batch,当训练样本过多时,单次迭代需要处理过多的训练样本

  size=1:随机梯度下降法,产生大量噪声(但通过减小学习率,噪声可以减少),缺点是失去了向量化带来的加速。

  使用mini-size,每次遍历所有样本时,可以进行m/size次梯度下降

  选取原则:

训练集较小时(<2000),直接使用batch梯度下降

一般的mini-batch大小为64-512

 (另:选取大小要与CPU/GPU内存相符

2.momentum

2.1 指数加权平均

  $v_{t}=eta v_{t-1}+(1-eta) heta_{t}$

  修正偏差:为了解决最开始迭代时,$v_{t}$低于真实值,额外引入一个偏差修正

  $v_{t}=frac{eta v_{t-1}+(1-eta) heta_{t}}{1-eta^{t}}$

2.2 momentun 梯度下降    

  如图,为了使得每次梯度下降时的走向不像蓝线那样有很多的纵向分量,而希望走向像红线一样更多的是横向分量,我们引入了momentun梯度下降

  

  作者建议一般将参数$eta$设为0.9

3. RMSprop

 

β的典型值是0.999。公式中还有一个ϵ,这是一个很小的数,典型值是10^-8

4.Adam


  β1=0.9,β2=0.999,ϵ=10^8
。Adam算法相当于先把原始梯度做一个指数加权平均,再做一次归一化处理,然后再更新梯度值。

  只需调整不用的$alpha$

 5.作业

  1.mini-batch

  Shuffling and Partitioning.建立mini-batch通常需要洗牌和划分两个步骤

  2. momentum

  初始化:$v_{dW}^{[l]},v_{db}^{[l]}$

  迭代:

  3.Adam

  初始化:$v_{dW}^{[l]},v_{db}^{[l]},s_{dW}^{[l]},s_{db}^{[l]}$

  迭代:


   

原文地址:https://www.cnblogs.com/cs-zzc/p/11385813.html