确定隐层的节点数
隐层节点数的确定是神经网络设计中非常重要的一个环节,一个具有无限隐
层节点的两层 BP 网络可以实现任意从输入到输出的非线性映射。但对于有限个
输入到输出的映射,并不需要无限个隐层节点,这就涉及到如何选择隐层节点数
的问题,而这一问题的复杂性,使得至今为止尚未找到一个很好的解析式,隐层
节点数往往根据前人设计所得的经验和自己进行试验来确定。一般认为,隐层节
点数与求解问题的要求、输入输出单元数多少都有直接的关系。而且,隐层节点
数过少,则无法产生足够的连接权组合数来满足若干样本的学习;隐层节点数过
多,则学习以后网络的泛化能力变差。确定隐层的节点数有如下几种方法:
1)如果要求逼近的样函数变化剧烈、波动很大,则要求可调整地连接权数
多,从而隐层的节点数也应该多一些;
2)如果规定的逼近精度高,则隐含层单元数也应该多一些;
3)可考虑开始时放入较少的隐含层单元,根据以后的学习情况逐渐增加;
或一开始就加入足够多的隐层节点,通过学习把不太起作用的连接权和隐层节点
删去。
此外,下面还有一些关于关于隐层节点数计算的经验公式:
� �
�
�
n
i
n
i
Ck
1
1.1
式中,k 为样本数,
1
n
为隐节点数,n 为输入层单元数,当 i〉
1
n
时,取
� �
0
1
�
n
i
C
。
amnn ���
1
1.2
式中,m 为输出节点数,常数
10~1�a
。
nn
21
log�
1.3
kolmogorov 定理:给定任一连续函数 f : Un->Rm,f(X)=Y,这里 U 是闭单位区
间[0,1],f 可以精确的用一个三层前向网络实现,该网络的第一层(即输入层)
有 n 个处理单元,中间层有 2n+1 个处理单元,第三层(即输出层)有 m 个处理
单元。
也可以通过神经网络训练来确定隐含层的个数,首先根据经验公式确定隐含
评论0