老饼讲解-神经网络
BP神经网络
参数设置
隐层节点的个数设置方法
作者 : 老饼 日期 : 2022-06-09 05:26:02 更新 : 2022-06-29 01:31:12
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com



对于神经网络来说,隐节点个数太少,无法拟合到复杂的关系,隐节点过多,又会导致过拟合。

本文解讲隐层节点个数设置的一些常用方法(这里假设只有一个隐层)。


  01. 常用方法  

一般来说,要设几个隐节点,我们并没有什么明确的方法,但有指导方法。


  01. 原理指导  

一般来说,
1.输入输出单元数越多,隐节点越多。
2.要求逼近的规则越跌宕起伏,隐节点越多。


  02. 经验公式  

隐节点个数可参考公式
   (n是隐节点个数,m是输入个数)

(n1是隐节点个数,n是输入个数,m是输出个数,a在1~10之间)


  03. 建模师经验  

可参考建模师以往的一些成功案例,下面是本人的建模经验:
在2个输入1个输出时,用3个隐节点。
在20个输出1个输出时,用7个隐节点。


  04. 试凑法优化  

在设置了隐节点个数后,还可以用试凑法优化:
在原设定的节点个数上,逐步增加(减少),试探多少个节点时拟合效果最佳。
备注:由于网络训练好坏跟随机初始化有关,一般会多训练几次。



二. 实际操作参考

  案例:   20个输入,1个输出,


    隐节点的确定以下: 

1.   先设定初始隐节点为4(建模经验),然后训练10次,去除最大和次大的误差,取剩下8个求平均误差,将平均误差记录下来。
2.   再设隐节点为5,训练10次….一直到取隐节点12,训练10次,求平均误差。
3.   最后可以发现平均误差会随隐节点个数先减后增(像抛物线),在隐节点=7时,平均误差最小,故最后确定隐节点为7




  End  






联系小饼