<=Pi/2;上面的各条不同的曲线可以看出,对于使用BP网络模拟不同的函数来说,最佳的隐含层数目(根据在满足一定误差要求情况下所需要进行的循环步数最少的标准)是不同的。比如:对于f(x)=1/x来说,隐含层数目在8~20之间相差不大,而且都是不错的选择,其收敛速度都相对较快;而对于f(x)=log10(x)来说,最佳隐含层数目是8个,其他都不如它,而且差距也相当得大;对于f(x)=exp(-x)来说,只有6或者是8个节点才能够满足收敛较快的要求,其他的相对较差。最后,对于f(x)=sin(x)来说,最佳隐含层数是2个,其他的隐含层数所需要的步数都要比它多得多。综上所述:隐含层的节点数的不同能够造成一个BP神经网络的收敛速度的不同,同时不同的BP神经网络又有着不同的最佳隐含层节点数使得其训练的收敛速度最快。主要讨论不同的对于收敛速度的影响:我们设计了一个程序来测试对于BP神经网络训练的收敛速度的影响,通过设置不同的,我们分别对于不同的BP神经网络进行计算,计算在不同的的情况下,训练收敛到一定的误差所需要的步骤:我们测试了所有不同的BP神经网络发现,对于收敛速度的影响主要在于:大收敛速度就快,但是在训练的过程中,会产生误差的跳跃,从而影响到不稳定。所以在选择参数的过程中,应该综合讨论误差和稳定性以期得到最佳的训练结果。下面我们没有列出所有的情况,只是贴上了的情况。对于f(x)=1/x,1<=x<=10;模拟误差的大小在模拟不同的函数的时候,给各个BP网络取最佳的隐含层节点数时,得到的曲线逼近可见下图所示,图示蓝色线为函数曲线,红色线为逼近得到的曲线,可以看出,逼近所得曲线已经相当接近需要逼近的函数。同时,可以在图上看到训练的过程中模拟误差的情况。对于f(x)=1/x,1<=x<=10,逼近得到的曲线以及误差曲线;对于f(x)=log10(x),1<=x<=10,逼近得到的曲线;