【问题标题】:Neural network backpropagation (1 output) gets no where?神经网络反向传播(1 个输出)无处可寻?
【发布时间】:2016-10-10 05:31:59
【问题描述】:

我有一个包含大量输入的神经网络,我想训练它以实现只有 1 个输入很重要。首先我用 input[1]=1 训练它并给出结果 10 然后我用完全相同的输入进行训练,除了 input[1] = 0 并且给定结果为 0。

在我切换到另一个之前,我训练它们直到错误为 0,但它们只是不断上下改变不同的权重,直到输出等于给定的结果,他们永远不会弄清楚只有与输入相关的权重[1] 需要关注。 可以说这是一个常见的错误,可以通过某种方式绕过吗?

附言。我正在使用 Sigmoid 和衍生物

【问题讨论】:

  • 首先这太宽泛了,其次我认为你需要同时用所有不同的样本训练网络,每次通过不同的样本。然后最后保存权重,这基本上是满足所有样本的最佳权重的最佳结果

标签: c# neural-network backpropagation


【解决方案1】:

您正在做的是渐进式或选择性学习。每次您在新数据上重新训练网络几个时期时,您都会过度拟合新数据。如果在您的情况下,您不关心增量学习,而只关心数据集的结果,那么最好在多次迭代中使用数据集中的批次,直到您的网络收敛并且不适合训练数据。

【讨论】:

  • 在这种情况下,增量学习是唯一真正重要的事情,你知道我该如何实现吗?我每天只收到一组输入,它应该通过单独运行它们来学习。这是我的考试项目,我现在有点恐慌,任何建议将不胜感激
  • 很多论文都在讨论这个问题。我相信通过阅读一些你会对你的问题有最好的直觉
猜你喜欢
  • 2015-03-03
  • 2012-02-21
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-11-27
  • 2013-04-26
  • 2016-09-19
相关资源
最近更新 更多