多层感知器有时不会收敛到正确的答案-异或
Multilayer Perceptron Sometimes Does Not Converge Towards Correct Answer - XOR
我已经实现了一个多层感知器,并首先设计了训练方法,以占用一定数量的历元进行训练。我针对XOR逻辑门对网络进行了训练,大多数时候网络会学习如何解决问题,但每隔一段时间,网络就会只学习两个训练示例,并停留在另外两个上。
起初我认为这不重要,但后来我想改变训练方法,在错误低于我选择的某个可接受的错误值后停止。现在,网络有时会从训练中恢复,有时会像我上面提到的那样陷入困境。这是正常的吗,多层感知器有时不会正确学习,还是这是我实现中的一个错误。
如果重要的话,实现是在C++中,并且多层感知器是标准的前馈反向传播神经网络;2个输入神经元,2个隐层神经元,1个输出神经元。
我应该使用两个输出神经元吗?如果是,值会是多少?
我想这既不是我的实现中的错误,也不是感知器的特性,我能够通过添加两个隐藏层神经元来解决这个问题,尽管我听说经验法则是将隐藏层神经元的数量保持在输入神经元的数量之下。
相关文章:
- 将字节与异或相乘
- 我试图了解在异或操作后指针变量正在更改
- Java 到 c++ 异或加密失败
- 为什么我们不能将使用异或运算找到的整数转换为字符?
- 两个 c++ 字符串上的异或
- 异或字符串加密/解密输出错误
- 用c++对链表进行异或运算
- 这是异或测试中的过度拟合还是欠拟合?
- 位操作和异或
- CRC32 C++使用布尔数组和手动逐位异或实现
- 如何报告异或为零的子数组的索引?
- 使用 AVX 对两个 zmm(512 位)寄存器进行异或运算
- 整数数组中最大异或次级的解决方案
- 整数异或C++的可能结果
- 数组中两个元素的最大异或
- 尝试使用异或和位移运算符切换随机 LED
- 输入/输出异或字符串的 C++ 问题
- 在 C++11 中对字符串进行异或运算
- 使用最高字节"int"优化"char"的异或
- 多层感知器有时不会收敛到正确的答案-异或