机器学习笔记(15)— 基本概念batch、batchsize、epoch、iteration

本文主要介绍机器学习中的四个基本概念,batch、batchsize、epoch、iteration,这几个概念对于初学者来说容易混淆。因此在次记录一下。
深度学习中的优化算法就是梯度下降算法,通过该算法来进行参数的优化,参数的优化过程是通过计算损失函数来实现的。但是计算损失函数时如果每次都遍历整个数据集,会影响运行效率。为了解决这个问题,目前使用较多的是mini-batch梯度下降法。(关于梯度下降的内容,大家可以看我的这两篇文章。梯度下降法、梯度下降法的改进)。其中“梯度下降法的改进”一文中,指出了两种梯度下降的改进算法。该文中的第二种就是mini-batch梯度下降法。我在该文中指出的参数“b”即使本文所要介绍的batchsize。

1.参数介绍

Batch:使用训练集中的一部分样本对模型参数权重进行一次反向传播的更新,这一小部分样本被称为“一批数据”。“一批数据”的大小就是batchsize。
Epoch:使用训练集的全部数据对模型进行一次完整的训练。
Iteration:使用一个batchsize的数据对模型进行一次参数更新的过程。

2.例子

假设有2000张图片,你设置batchsize=512,iteration=50000,则其epoch为50000/4=12500个。(在不同的网络中,相同数量的照片,相同的batchsize可能会有不同的epoch,这是由于网络本身在预处理图片时认为设置的,例如在RNN中如果剩余的图片不够一个batchsize大小,则直接被丢弃)

3.Batchsize参数选取

Batchsize数量设置会影响训练的结果。关于batchsize大小的设置,大家可以看一下这篇文章。

你可能感兴趣的:(机器学习)