我正在尝试确定我的 MATLAB 神经网络的最佳隐藏神经元数量。我正在考虑采用以下策略:
- 循环获取隐藏神经元的一些值,例如 1 到 40;
- 对于每个具有固定数量隐藏神经元的NN,执行一定数量的训练(例如40,由于时间原因限制了epoch的数量:我正在考虑这样做,因为网络似乎很难训练,经过一段时间的MSE epochs 非常高)
- 存储所有具有不同隐藏神经元数量的网络获得的 MSE
- 执行前面的过程超过 1 次,例如 4 次,以考虑初始随机权重,并取 MSE 的平均值
- 选择并在具有多个隐藏神经元的 NN 上执行“真实”训练,以使先前计算的 MSE 最小化
我所指的 MSE 是验证 MSE:我的样本在训练、测试和验证中的拆分以避免过度拟合分别为 70%、15% 和 15%)
与我的问题相关的其他信息是:
拟合问题
9 个输入神经元
2 个输出神经元
1630 个样本
这个策略可行吗?有没有更好的标准可以采用?谢谢
编辑:测试完成,所以结果建议我采用 12 个神经元?(低验证 MSE 和低于 2*numberOfInputNeurons 的神经元数量?但 18 也可能很好......
