BP神经网络中隐含层的神经元数怎么确定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BP神经网络中隐含层的神经元数怎么确定相关的知识,希望对你有一定的参考价值。

参考技术A 经验公式未必能达到理想效果,这个真的需要一个个尝试。可以先按楼上说的设定,然后再根据结果的误差以及收敛速度来一个个调整。 参考技术B 现在还没有什么成熟的定理能确定各层神经元的神经元个数和含有几层网络,大多数还是靠经验,不过3层网络可以逼近任意一个非线性网络,神经元个数越多逼近的效果越好。 参考技术C 最佳隐含层节点数为输入层节点数、输出层节点数之积开平方,若输入层为22,输出为1,那么隐含层个数大概为5 参考技术D 根据经验。
一般取(输入+输出)/2。
当然有很多很多经验。

matlab建立bp神经网络如何设置两个隐含层呢?

我原来单隐含层的构建网络的代码是

TF1='tansig';TF2='purelin';
net=newff(trainsample.p,trainsample.t,10,TF1 TF2,'traingdm');%网络创建

想改成两个隐含层,提高准确性,应该怎么改呢

题主那个newff里面的10看到没?那个就是设置1个隐含层的神经元个数,要多个隐含层就把10改成[4,10,1]就是第一个隐含层有4个神经元,第二个隐含层10个神经元,最后一层输出层1个神经元。然后你的TF1 TF2不用改。这样应该能用了。

然后给你一个newff的各项参数使用的介绍:

参考技术A 这种东西我一般都参考前人代码进行改进。

以上是关于BP神经网络中隐含层的神经元数怎么确定的主要内容,如果未能解决你的问题,请参考以下文章

BP神经网络

matlab建立bp神经网络如何设置两个隐含层呢?

BP神经网络中怎么确定节点数??急!!!

BP神经网络—java实现

请问BP输出节点数如何确定?

神经网络参数如何确定