改善深层神经网络之优化算法
一、mini-batch梯度下降法
- 机器学习的应用是一个高度依赖经验的过程,需要大量的迭代,需要训练大量的模型,所以需要优化算法才能快速训练模型。
- 使用mini-batch的意义:当训练样本集非常巨大时,比如500W个,使用向量化处理数据时每次处理如此巨大的数据会使训练过程非常缓慢。因此,我们可以分批的处理数据,以达到加快训练的目的。划分mini-batch后的X(i),Y(i)转化成X{t},Y{t}.
二、理解mini-batch梯度下降法
- 使用mini-batch时,其cost function曲线是一条波动下降的曲线。
- 三种梯度下降法的比较:(1)如果size=m,则是batch梯度下降;(2)如果size=1,则是随即梯度下降法;(3)如果1 < size <m,则是mini-batch梯度下降法。
3.mini-batch大小的选择(超参数)。(1)小训练集(<2000):适合使用batch梯度下降;(2)典型mini-batch的大小为:64, 128, 526, 512,1024(不常用),应与CPU/GPU的内存相匹配。
三、指数加权平均(