机器学习中的batch_size是什么?

今天研究了一下机器学习,发现里面出现了一个参数叫batch_size。那么什么是batch_size呢?

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

那么为什么要设置batch_size呢?

优势:

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

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

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~

你可能感兴趣的:(Machine,Learning)