- batch_size, iteration, epoch
1. 训练数据集的喂入:batch_size, iteration, epoch
1.1. 首先需要先了解下梯度下降
梯度下降是一种迭代优化算法,用于寻找最佳结果,loss的最小值。
迭代意味着我们需要多次得到结果才能得到最优的结果。 梯度下降的迭代质量有助于拟合图形使图形最适合数据。
左图中我们可以看到步长(又称学习率)越来越小,也就是学习率衰减啦.并且参数p沿着梯度减小的方向变化,loss或者cost越来越小~
右图中我们可以看到曲线对数据的拟合效果越来越好~~在神经网络中可以看作参数构成的前向传播的函数~
在梯度下降中,需要将数据与参数结合,计算得到loss.然后我们要让loss沿着梯度下降的方向逐渐减小. 从而这样反向推导参数dW,db应该如何变化~
但是当数据量很大时,数据不能一次性传递给计算机进行计算,这样就需要epoch, batch_size, iteration这样的术语了~
epoch:
One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE.
epoch是整个数据集完成一次前向和反向传播.
因为数据集太大,一次性传递给计算机需要太大计算量,所以将数据集divide成很多batch.
那么我们需要多少次epoch呢?这个没有准确的答案,这个跟数据有关系~
batch_size
整个数据集被分成很多batch,一个batch的样本数量就是batch_s