神经网络 - 为什么我的训练误差随着我添加隐藏单元(神经元)而增加?
Neural Networks - why is my training error increasing as I add hidden units (neurons)?
我正在尝试优化我的 MLP 中隐藏单元的数量。
我正在使用 k 折交叉验证,有 10 折 - 每折有 16200 个训练点和 1800 个验证点。
当我 运行 隐藏单元不同于 1:10 的网络时,我发现最小误差总是出现在 2(NMSE 约为 7)。
3 略高(NMSE 约为 11)和 4 个或更多隐藏单元,无论我添加多少,误差都保持在大约 14 或 15。
这是为什么?
我很难相信过度拟合正在发生,因为使用了非常大量的数据点(所有 10 次折叠,即 162000 个训练点,尽管每个重复 9 次)。
非常感谢您的帮助或建议!
如果输入是电压和电流,问题是产生的功率,那么就是P=V*I。即使你有一些噪音,这种关系仍然是线性的。在这种情况下,简单的线性模型就可以了——而且解释起来会好得多!这就是为什么简单的 ANN 效果最好,而更复杂的是过度拟合,因为它寻找非线性关系(不存在,但它会做任何可以最小化成本函数的事情)。
总而言之,我建议检查一个简单的线性模型。此外,由于您有很多数据点,因此对 training, test and validation sets 进行 50-25-25 拆分。查看您的成本函数,看看它如何随错误率变化。
我正在尝试优化我的 MLP 中隐藏单元的数量。
我正在使用 k 折交叉验证,有 10 折 - 每折有 16200 个训练点和 1800 个验证点。
当我 运行 隐藏单元不同于 1:10 的网络时,我发现最小误差总是出现在 2(NMSE 约为 7)。 3 略高(NMSE 约为 11)和 4 个或更多隐藏单元,无论我添加多少,误差都保持在大约 14 或 15。
这是为什么?
我很难相信过度拟合正在发生,因为使用了非常大量的数据点(所有 10 次折叠,即 162000 个训练点,尽管每个重复 9 次)。
非常感谢您的帮助或建议!
如果输入是电压和电流,问题是产生的功率,那么就是P=V*I。即使你有一些噪音,这种关系仍然是线性的。在这种情况下,简单的线性模型就可以了——而且解释起来会好得多!这就是为什么简单的 ANN 效果最好,而更复杂的是过度拟合,因为它寻找非线性关系(不存在,但它会做任何可以最小化成本函数的事情)。
总而言之,我建议检查一个简单的线性模型。此外,由于您有很多数据点,因此对 training, test and validation sets 进行 50-25-25 拆分。查看您的成本函数,看看它如何随错误率变化。