机器学习中的batch_size

发布时间 2023-05-04 20:48:08作者: 辛宣

batch_size:表示单次传递给程序用以训练的数据(样本)个数。比如我们的训练集1000个数据。这是如果我们设置batch_size=100,那么程序首先会用数据集中的前100个参数,即第1-100个数据来训练模型。当训练完成后更新权重,再使用第101-200的个数据训练,直至第十次使用完训练集中的1000个数据后停止。

那么为什么要设置batch_size呢?

优势:

  1. 可以减少内存的使用,因为我们每次只取100个数据,因此训练时所使用的内存量会比较小。这对于我们的电脑内存不能满足一次性训练所有数据时十分有效。可以理解为训练数据集的分块训练。
  2. 提高训练的速度,因为每次完成训练后我们都会更新我们的权重值使其更趋向于精确值。所以完成训练的速度较快。

劣势:
使用少量数据训练时可能因为数据量较少而造成训练中的梯度值较大的波动。