在学习时遇到epoch和batch总是一脸懵逼,今天查了下,先记录下。
转载自:https://blog.csdn.net/spring_willow/article/details/80159134
一句话回答:
我有1000个数据,batch_size设置为500,那么我需要2次iterations,完成1次epoch。(来源)
batch
1.定义
Batch:批处理,顾名思义就是对某对象进行批量的处理。——百度百科
训练神经网络时,在数据集很大的情况下,不能一次性载入全部的数据进行训练,电脑会支撑不住,其次全样本训练对于非凸损失函数会出现局部最优,所以要将大的数据集分割进行分批处理。
batch_size就是每批处理的样本的个数。
epoch
1.定义
epoch是所有训练数据的训练次数。一个完整的数据集通过神经网络一次并返回了一次的过程(正向传递+反向传递)称为一个epoch。
备注:
在神经网络中传递完整的数据集一次是不够的,即使用一次迭代过程更新权重一次不够,epoch的数目需要>1,epoch数量增加,神经网络中的权重更新次数增加,曲线从欠拟合变为过拟合。
感谢原作者!