Validation 神经网络-为什么我的训练误差随着我添加隐藏单位(神经元)而增加?

Validation 神经网络-为什么我的训练误差随着我添加隐藏单位(神经元)而增加?,validation,neural-network,training-data,Validation,Neural Network,Training Data,我试图优化我的MLP中隐藏单位的数量 我使用的是k-折叠交叉验证,有10个折叠-16200个训练点,每个折叠中有1800个验证点 当我使用1:10的隐藏单位运行网络时,我发现最小误差总是出现在2(NMSE约为7)。 3稍高(NMSE约为11)和4个或更多隐藏单位,无论我添加了多少,误差保持在14或15左右 这是为什么? 我发现很难相信过度拟合正在发生,因为使用了大量的数据点(总共10次,即162000个训练点,尽管每次重复9次) 非常感谢您的帮助和建议 如果输入是电压和电流,问题是产生的功率,那

我试图优化我的MLP中隐藏单位的数量

我使用的是k-折叠交叉验证,有10个折叠-16200个训练点,每个折叠中有1800个验证点

当我使用1:10的隐藏单位运行网络时,我发现最小误差总是出现在2(NMSE约为7)。 3稍高(NMSE约为11)和4个或更多隐藏单位,无论我添加了多少,误差保持在14或15左右

这是为什么?

我发现很难相信过度拟合正在发生,因为使用了大量的数据点(总共10次,即162000个训练点,尽管每次重复9次)


非常感谢您的帮助和建议

如果输入是电压和电流,问题是产生的功率,那么它就是p=V*I。即使有一些噪声,关系仍然是线性的。在这种情况下,简单的线性模型就可以了——而且解释起来会更好!这就是为什么简单的人工神经网络工作得最好,而更复杂的是过度拟合,因为它寻找非线性关系(不存在非线性关系,但它会尽可能降低成本函数)


总之,我建议检查一个简单的线性模型。此外,由于您有很多数据点,因此对每个数据点进行50-25-25的分割。看看你的成本函数,看看它是如何随错误率变化的。

你能描述一下你的输入和问题本身吗?现在你已经知道了一个简单的答案:过度装修。简单的模型可以更好地推广。当然,我有6个输入,三个是电压数据,每组代表三相电源的一个相位的电压。其他三个是相应的当前数据。输出是发电的,所以问题应该是线性的!好吧,问题是线性的!那么,你为什么期望一些非线性的、复杂的关系呢?难怪只有两个隐藏的神经元才能最好地捕捉到系统的行为。反向传播算法只关心最小化您的成本函数,而不是如果它是有意义的。添加更多的单元,它会“捕获”不存在的关系(例如,系统中的任何噪音)。因此,基本上,过度拟合?非常感谢,我将研究使用单层网络代替!