我在前馈神经网络上有 20 个输出神经元,为此我已经尝试过改变隐藏层的数量和每个隐藏层的神经元数量。在测试时,我注意到虽然输出并不总是完全相同,但它们因测试用例而异,尤其是在彼此之间。它似乎在每个测试用例上输出几乎(在 0.0005 内,取决于初始权重)相同的输出;最高的永远是最高的。是否有一个原因?
注意:我使用的是前馈神经网络,具有弹性和常见的反向传播,分离训练/验证/测试和训练集之间的改组。
更新:我正在使用网络将 4 个输入的模式分类为 20 个输出可能性之一。我有 5000 个训练集、800 个验证集和 1500 个测试集。轮数可能因我正在做的事情而异,在我当前的训练案例中,训练错误似乎收敛得太快(低于 20 个 epoch)。但是,我注意到在其他时间误差会在 1000 个时期内减少时这种非方差。我还调整了常规传播的学习率和动量。弹性传播不使用学习率或动量进行更新。这是使用 Encog 实现的。