在机器学习中epoch, iteration, batch_size的区别

在机器学习中epoch, iteration, batch_size的区别

在机器学习的模型训练中,经常会接触到epoch,iteration,batch_size这几个术语,这里做个小辨析。

  1. batch_size(批大小),指的是在SGD(随机梯度下降法)中选择的一个批次的大小,关于SGD参见博文《随机梯度下降法,批量梯度下降法和小批量梯度下降法以及代码实现》

  2. iteration(迭代),指的是训练跑完一个batch_size 样本,也就是一个
    iteration = batch_size × (forward+backward), forward为前向传播,backward为反向传播。

  3. epoch(迭代次数),1个epoch等于使用训练集中的全部样本训练一次。

比如说: 训练集有6400个样本,batch_size=128,那么:
训练完整个样本集需要:
50次iteration,1次epoch。

猜你喜欢

转载自blog.csdn.net/loseinvain/article/details/79348965