梯度下降法 首先让我们来回顾一下这个常见的不能再常见的算法。梯度下降法是机器学习中经典的优化算法之一,用于寻求一个曲线的最小值。所谓"梯度",即一条曲线的坡度或倾斜率,"下降"指代下降递减的过程。 梯度下降法是迭代的,也就是说我们需要多次计算结果,最终求得最优解。梯度下降的迭代质量有助于使输出结果尽可能拟合训练数据。 梯度下降法中有一个称为学习率的参数,如上图左所示,在算法开始时,步长更大,即学习率更高。随着点的下降,步长变短,即学习率变短。此外,误差函数也在不断减小。
在训练模型时,如果训练数据过多,无法一次性将所有数据送入计算,那么我们就会遇到epoch,batchsize,iterations这些概念。为了克服数据量多的问题,我们会选择将数据分成几个部分,即batch,进行训练,从而使得每个批次的数据量是可以负载的。将这些batch的数据逐一送入计算训练,更新神经网络的权值,使得网络收敛。
Epoch 一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程。由于一个epoch常常太大,计算机无法负荷,我们会将它分成几个较小的batches。那么,为什么我们需要多