BP神经网络的基本应用
建模调优
【讲解】隐层节点的个数设置方法
作者 : 老饼 日期 : 2022-06-09 05:26:02 更新 : 2022-11-01 04:28:06
本站原创文章,转载请说明来自《老饼讲解-BP神经网络》bp.bbbdata.com



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

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


  01. 隐节点设置常用方法  


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


在设置隐节点时可以参考以下四个指导性方法


  01. 原理指导  


从隐节点的理论意义来说,隐节点越多,拟合能力越强,
但同时出现模型不稳定的概率也增大
在设置隐节点时可以参考以下原理指导

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


  02. 经验公式  


隐节点个数可参考以下两条公式
  
 n是隐节点个数,m是输入个数



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


  03. 建模师经验  


可参考建模师以往的一些成功案例,下面是本人的建模经验:
在2个输入1个输出时,用3个隐节点   
在20个输出1个输出时,用7个隐节点 
往往这是最直接的方法,说白了,就是根据经验和直觉拍脑袋设置一个隐节点参数
当然,这种直觉并非不无道理,它是基于对BP神经网络的深刻理解下的产物


  04. 试凑法优化  


在设置了BP神经网络隐节点个数后,还可以用试凑法优化隐节点个数
试凑法指的是,在原设定的节点个数上,
逐步增加(减少),试探多少个节点时拟合效果最佳。
 由于网络训练好坏跟随机初始化有关,
每次试探隐节点参数的效果时,
一般会多训练几次,取平均误差作为的该参数的误差评估



  02. 实际操作参考   



    案例背景    


   20个输入,1个输出,



   隐节点个数确定流程   


    隐节点的确定分为两个阶段:初步确定和优化 
建模初步阶段寻找有效可用的隐节点个数
 
1. 先用建模经验,大概估计需要6个隐节点,进行初步建模 
2. 建模后发现训练数据和测试数据的预测效果都不错        
则可认为6个隐节点已经是较为合理的设置                
如果效果不佳,则需要尝试不同的参数                     
直到找到一个效果可以接受的设置                            

建模收尾阶段优化隐节点个数
在建模开始进行收尾时,
利用试凑法对隐节点个数进一步优化,
例如当前使用的是6个隐节点,
不妨从3到12都试一遍,         
找出效果最好的隐节点个数,   
最终发现隐节点设为7个时效果最佳
试凑法具体见《隐节点试卷法例子与代码》
结果
以7作为最终隐节点的个数





  End  







联系老饼