神经网络:当您给它更多的神经元时,为什么它的效果更差?

时间:2018-08-12 17:35:38

标签: neural-network

我刚刚编码了我的第一个神经网络,并对其进行了一些实验……它的任务非常简单:它应该基本上输出四舍五入的数字。它由一个输入神经元和一个输出神经元组成,其中1个隐藏层由2个隐藏神经元组成。首先,我给了它约2000个随机生成的训练数据集。

当我给它3个由10个隐藏神经元组成的隐藏层时。结果开始变得更糟,即使经过10000个训练集,它仍然会输出许多错误答案。具有2个隐藏神经元的神经网络工作得更好。

为什么会这样?我认为神经网络拥有的神经元越多,它就会越好...

那么您如何找到最佳数量的神经元和隐层?

1 个答案:

答案 0 :(得分:3)

如果用“更差”来表示测试集的准确性较低,则问题很可能是过拟合。

通常,我可以告诉您:更多的层将适合数据上更复杂的功能。也许您的数据很像一条直线,所以简单的线性函数就可以了。但是想象一下,您尝试将6次多项式拟合到数据。如您所知,高阶偶函数非常快地达到无穷(+-),因此这种高阶模型将在极端情况下预测太大的值。

总而言之,您的问题很可能是过度拟合(高方差)。您可以在图形的某处查看关于偏差方差折衷的一些更直观的解释。

快速的Google搜索:https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff