我实施了一个多层感知器,并且最初设计了训练方法,以便采取一定数量的时期进行训练。我训练网络对抗XOR逻辑门,并且大多数时候网络将学习如何解决问题,但是每隔一段时间网络只会学习两个训练样例而被困在另外两个。
起初我认为这不重要,但后来我想在错误低于我选择的某个可接受的错误值之后将训练方法更改为停止。现在,网络有时会从培训中返回,有时会像我上面提到的那样陷入困境。这是正常的,是多层感知器有时候无法正确学习,或者这是我实施中的错误。
如果重要的是实现是在C ++中,多层感知器是标准的前馈反向传播神经网络; 2个输入神经元,2个隐藏层神经元,1个输出神经元。
我应该使用两个输出神经元,如果是,那么值是什么。
答案 0 :(得分:0)
我认为这既不是我的实现中的错误,也不是感知器的属性,我能够通过添加两个更隐藏的层神经元来解决问题,虽然我听说经验法则是保留隐藏层的数量输入神经元数量下的神经元。