【问题标题】:Multi-Layer Neural Network - Training Process多层神经网络 - 训练过程
【发布时间】:2017-02-25 16:32:34
【问题描述】:

我正在构建一个多层神经网络。我对培训过程有疑问,我有一组具有所需输出的培训数据。我正在使用反向传播算法来更新连接权重。

网络是否应该单独训练训练数据? 例如:网络接受 1 个输入,只要它找到适当的连接权重,使实际输出等于所需输出;网络接受另一个训练输入。

这对吗?

【问题讨论】:

  • 我不明白这个问题。 “应该”与培​​训有什么关系?网络调整权重以最小化所有训练数据的预测值和观察值之间的差异。
  • 你是对的,但我不确定网络应该如何调整权重。网络是否及时只接受一个输入(来自训练数据)?在它找到合适的权重之后......它会需要另一个输入吗?
  • 。 .从概念上讲,这就是它的工作原理。有一些方法可以积累信息,然后不那么频繁地调整权重。

标签: java neural-network artificial-intelligence computer-science backpropagation


【解决方案1】:

不,无论实际输出是否等于目标输出,反向传播算法都应该移动到训练集的下一个元素。 然后它将在经过一定数量的训练案例后更新权重/参数,这由指定的批量大小决定。 并且对于每次通过的训练迭代,平均总误差通常应该低于前一次迭代。

【讨论】:

  • 谢谢!这就是我要找的东西!!!所以错误率可以计算如下? 0.5*[SUM(target-atcual)^2] ?
  • @Makaveli 是的,对于反向传播,像往常一样,我们需要为纠错定义一个错误成本函数。您提到的“0.5*[SUM(target-atcual)^2]”是一个可用类型的成本函数,称为均方误差成本函数。还有更多,但是对于大多数一般情况,特定的成本函数就足够了。
  • 非常感谢!这有很大帮助!在测试过程中数据没有输出,我们如何使用错误率来预测输出?
  • @Makaveli 由于反向​​传播是一种有监督的学习算法,因此您始终需要为纠错提供样本训练输出。我建议您阅读更多有关该算法的信息,只有这样您才能完全理解。
猜你喜欢
  • 2019-06-18
  • 2014-06-23
  • 1970-01-01
  • 2011-04-07
  • 1970-01-01
  • 2010-11-20
  • 2019-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多