在训练神经网络时,您应该一次性将所有训练数据传递到网络吗?

时间:2017-02-03 06:54:40

标签: machine-learning neural-network training-data

我觉得好像这是NN 101中涵盖的内容,但我无法记住答案(如果有的话)并且似乎无法在网上找到答案。

假设我有80个项目的训练集和20个项目的测试集。我已经在我的神经网络上初始化了权重和偏差,现在我已经准备好训练网络以了解数据的总体趋势。

我:

a)一次将所有80个项目传递到网络中,找到错误,使用backprop调整权重并在渐变方向上偏置,重复直到错误足够小。

b)将1个项目传入网络,找到错误,使用backprop调整权重并在渐变方向上偏置,重复其他79个项目,然后从项目#1再次启动过程直到出错足够小。

甚至可以选择1-80之间的数字。

在我的网络搜索中,我发现了一些名为在线和批量培训的内容,我感觉它与此相关,但我并不完全确定。选择一种方法比另一种方法有优势吗?

1 个答案:

答案 0 :(得分:0)

您选择了所有人选项。如果您通过所有样本而不是让您进行批量学习,那么如果您在每个人都对您进行小批量学习之后进行调整。我的老师建议我使用随机梯度下降法。

SG vs BL

很好地解释了两者的优点和缺点

另外,如果您在数据集的某些部分之后使用adjust,那么您将进行小批量学习。在这种方法中确定数据集部分的大小是有问题的。