在机器学习中epoch, iteration, batch_size的区别
在机器学习的模型训练中,经常会接触到epoch,iteration,batch_size这几个术语,这里做个小辨析。
batch_size(批大小),指的是在SGD(随机梯度下降法)中选择的一个批次的大小,关于SGD参见博文《随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现》
iteration(迭代),指的是训练跑完一个batch_size 样本,也就是一个
iteration = batch_size × × (forward+backward), forward为前向传播,backward为反向传播。epoch(迭代次数),1个epoch等于使用训练集中的全部样本训练一次。
比如说: 训练集有6400个样本,batch_size=128,那么:
训练完整个样本集需要:
50次iteration,1次epoch。