我正试图确定MATLAB神经网络中隐藏神经元的最佳数量。我正在考虑采取以下战略:
我指的MSE是验证MSE:我的样本在培训、测试和验证中分裂以避免过度拟合,分别为70%、15%和15% )
其他与我的问题有关的资料包括:
拟合问题
9个输入神经元
2个输出神经元
1630个样本
这个策略能奏效吗?是否有更好的准则可采用?谢谢
编辑:测试完成了,所以结果建议我采用12个神经元?(低验证MSE和低于2*个数的神经元数目?)但18岁也可能是好事..。

发布于 2014-12-25 15:40:43
经验法则是:
一般来说,每一个特征数相等的神经元数会使每个隐神经元试图学习每个特征所添加的特殊事物,因此可以说它是“学习每一个特征”。虽然这听起来不错,但可能会显得过于合适。
由于输入的数量和数据集的大小都很小,所以可以从双(18)的隐藏层大小开始,然后开始降低。当训练误差和测试误差稳定在低于阈值的差值时,就可以找到一个更好的泛化模型。
神经网络在寻找局部最优解方面有很强的优势,它是从一个起点深入探索一个解的方法。但是,起点也是非常重要的。如果你没有得到一个很好的推广,你可以尝试寻找良好的初始起点的混合神经网络方法。例如,一种常见的方法是使用遗传算法找到初始的权重组合,然后从这一点开始进行神经处理。考虑到您的搜索空间将被更好地覆盖(如果您的问题确实需要的话)。
对于机器学习中的每一个问题,在将数据引入神经网络之前,对数据进行清理是非常重要的。尽量做到非常详细,以避免神经网络学习你已经知道的东西。例如,如果您知道两个特性是如何关联的,那么通过显式地显示这个相关性来改进输入数据,从而减少给NN的工作量(这实际上可能会给您带来麻烦)。
发布于 2014-12-25 18:10:13
https://datascience.stackexchange.com/questions/3760
复制相似问题