【问题标题】:When training a neural network, should you pass all of the training data to the network in one go?训练神经网络时,是否应该一次性将所有训练数据传递给网络?
【发布时间】:2017-02-03 06:54:40
【问题描述】:

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

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

我:

a) 一次将所有 80 个项目传入网络,找到误差,使用反向传播调整梯度方向的权重和偏差,重复直到误差足够小。

b) 将 1 个 item 传入网络,找到错误,使用 backprop 调整梯度方向的权重和偏差,对其他 79 个 item 重复,然后从 item #1 再次开始该过程,直到出现错误足够小。

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

在我的网络搜索中,我发现了一种叫做在线和批量训练的东西,我感觉它与此有关,但我并不完全确定。选择一种方法比另一种方法有优势吗?

【问题讨论】:

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


    【解决方案1】:

    您选择了所有人选项。如果您通过所有样本而不是适应您进行批量学习,如果您在每个人都采样后适应您进行小批量学习。我的老师推荐我使用随机梯度下降法。

    两者的优缺点都在SG vs BL那里得到了很好的解释

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

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 2016-02-25
      相关资源
      最近更新 更多