这三个概念是在深度学习的优化中提到的,也就是BP。
batch的概念就是一次训练所用到的数据,当batchsize=1,就类似于梯度下降中的SGD,称为online learning;当batchsize小于整体训练集的数量时成为mini-batch learning;当batchsize等于整体训练集的数量时,称为batch learning。online learning的优点是下降很快,缺点是很难在最优点处收敛,通常会在接近最优点处来回震荡。batch learning的缺点是下降太慢。mini-batch learning结合了前两种,优化速度较快并且收敛比较稳定,所以一般采用mini batch learning。
这也就引出了batch,iteration,epoch三个概念,batch就是从全体训练数据中取出的一部分,用这个batch对模型做一次训练,那么用一个batch做一次训练叫做一次iteration,多次iteration才能用完训练集的全部数据,用完一次训练集的全部数据叫做一次epoch。
例如:一个训练集大小是10000,batchsize设为100,那么训练完整个训练集,iteration=100,epoch=1。对整个训练集训练10次,那么iteration=1000,epoch=10。