我试图优化MLP中隐藏单位的数量。
我使用k-fold交叉验证,10折 - 每次折叠16200个训练点和1800个验证点。
当我使用隐藏单位从1:10开始运行网络时,我发现最小错误始终发生在2(NMSE约为7)。 3略高(NMSE约为11)和4个或更多隐藏单位,误差保持不变,大约为14或15,无论我添加多少。
为什么会这样?
我发现很难相信过度拟合正在发生,因为使用了大量的数据点(全部10倍,即162000个训练点,尽管每次重复9次)。
非常感谢您的任何帮助或建议!
答案 0 :(得分:1)
如果输入是电压和电流,问题是关于产生的功率,那么它只是P = V * I.即使你有一些噪音,这种关系仍然是线性的。在这种情况下,简单的线性模型可以做得很好 - 并且可以更好地解释!这就是为什么简单的ANN工作得最好而且更复杂的是过度拟合,因为它寻找非线性关系(不存在,但它会做任何会使成本函数最小化的事情)。
总结一下,我建议检查一个简单的线性模型。此外,由于您有很多数据点,因此对training, test and validation sets进行50-25-25分割。查看您的成本函数,看看它如何随错误率而变化。