【问题标题】:How do I feed data into my neural network?如何将数据输入我的神经网络?
【发布时间】:2019-09-19 11:49:50
【问题描述】:

我在 python 中为 XOR 编写了一个简单的神经网络。虽然网上有大量关于如何编程的信息,但关于如何通过它提供数据的信息并不多。我已经测试了输入 [1,1] 的一个周期后权重的变化,以将我的结果与我的演讲幻灯片进行比较,并且它 100% 相同,所以我相信代码有效。我可以针对相同的输入训练网络,但是当我在每个周期更改输入(和相应的目标)时,错误不会下降。

我应该允许在每个周期之后更改权重和输入,还是应该先遍历所有可能的输入,得到一个平均误差,然后再更改权重? (但改变权重取决于输出,所以我会使用什么输出)

如果需要,我可以分享我的代码,但我很确定它是正确的。

请给我一些建议?提前谢谢你。

【问题讨论】:

  • 您是否在使用任何已知的库,例如 PyTorch 或 Keras?如果是,比哪个?
  • 不,只有好的旧 math.py 和 random.py。

标签: python neural-network backpropagation


【解决方案1】:

那么,你是说你自己实现了一个神经网络? 好吧,在这种情况下,基本上输入层上的每个神经元都必须分配给某一行的特征,而不是遍历每一层和该层中的每个神经元并按照指示进行计算。 我相信你对反向传播算法很熟悉,所以你会知道什么时候停止。

完成该行后,对下一行再次执行,将每个特征分配给每个输入神经元并再次开始迭代。

一旦你完成了所有记录,那就是一个纪元。

我希望这能回答你的问题。

另外,我建议你试试Keras,它易于使用,是一个很好的体验工具。

【讨论】:

  • 谢谢伙计,所以基本上我理解错误的是一个时代的定义。我认为一次迭代是一个时代,但实际上是一个 CYCLE,尽管我所有的测试数据都等于一个时代。我刚刚将迭代次数提高了大约 10 次,现在它可以工作了。我无法理解人们是如何在 200 个 epoch 之后得到结果的。再次感谢。
猜你喜欢
  • 2017-12-25
  • 2017-09-16
  • 1970-01-01
  • 2013-06-06
  • 2012-10-05
  • 2016-10-20
  • 2019-05-21
  • 1970-01-01
相关资源
最近更新 更多