1

我已经实现了一个多层感知器,并首先设计了训练方法来进行一定数量的训练。我针对 XOR 逻辑门对网络进行了训练,大部分时间网络会学习如何解决问题,但每隔一段时间,网络只会学习两个训练示例并卡在另外两个训练示例上。

起初我认为这不重要,但后来我想改变训练方法,在错误低于我选择的某个可接受的错误值后停止。现在网络有时会从训练中返回,有时会像我上面提到的那样卡住。这是正常的,是多层感知器有时无法正确学习还是我的实现中的错误。

如果重要的话,实现是在 C++ 中,多层感知器是标准的前馈反向传播神经网络;2 个输入神经元,2 个隐藏层神经元,1 个输出神经元。

我是否应该使用两个输出神经元,如果是的话,值是多少。

4

1 回答 1

0

我想这既不是我的实现中的错误,也不是感知器的属性,我能够通过添加两个隐藏层神经元来解决这个问题,尽管我听说经验法则是将隐藏层神经元的数量保持在输入神经元的数量。

于 2013-07-21T22:19:50.790 回答