冰冰点灯,照亮我家门前~
欢迎进入nnetinfo
用户名:
密码:
深圳学习数据分析,数据挖掘,请联系yahushuxue@163.com~
nnetinfo : 本网发布神经网络相关的学习与研讨内容。
当前位置:教学区
隐层节点的个数设置方法
作者:xiaoH   日期:2015-07-20 15:42:44.0

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

1.输入输出单元数越多,隐节点越多。

2.要求逼近的样函数越跌宕起伏,隐节点越多。

 

一般设置隐节点的方法是试凑法:先设定一个初始节点,再逐步增加(减少),试探多少个节点时拟合效果最佳。

初始隐节点个数可参考公式

                                              (n是隐节点个数,m是输入个数)

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

 

事实上大多参照个人建模经验,笔者曾经的建模经验:

在2个输入1个输出时,用3个隐节点。

在20个输出1个输出时,用7个隐节点。

大家可以参考着确定隐节点个数。

 

另外,由于网络训练好坏跟随机初始化有关,一般会多训练几次。

例如20个输入,1个输出,可以

1.先设定初始隐节点为4,然后训练10次,去除最大和次大的误差,取剩下8个求平均误差,将平均误差记录下来。

 2. 再设隐节点为5,训练10次….一直到取隐节点12,训练10次,求平均误差。

3.最后可以发现平均误差会随隐节点个数先减后增(像抛物线),在隐节点=7时,平均误差最小,故最后确定隐节点为7