APP下载

基于进退法的神经网络隐含层节点数的确定方法

2018-01-05孙弋清

现代商贸工业 2018年35期
关键词:神经网络

孙弋清

摘 要:在BP神经网络的拓扑结构中,输入节点和输出节点个数的确定取决于问题本身,构建神经网络的关键点就在于隐含层层数以及隐含层节点数的确定。如何合理的对网络的结构进行设计以及隐含层节点数的设定至今没有严格的理论指导,只能借助学者给出的经验公式并进行多次试验得以确定。针对该问题,提出了一种“进退法”算法可快速确定隐含层节点数的最优解区间。运用Matlab进行仿真实验,结果表明该算法在合理有效的基础上极大地提高了网络的运行效率。

关键词:神经网络;隐含层节点数;最优解区间;进退法

中图分类号:TB 文献标识码:A doi:10.19311/j.cnki.1672-3198.2018.35.091

0 引言

BP神经网络(Back Propagation Neural Network)是由Rumelhart和McCelland在上世纪80年代中期首次提出的一种被广泛应用的多层前馈神经网络。该神经网络在理论和性能方面已相当成熟,不仅具有较强的非线性映射能力而且具有柔性的网络结构,网络的隐含层层数、各层的节点数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但也正因如此,如何合理的对网络的结构进行设计以及隐含层节点数的设定并没有严格的理论指导。在BP神经网络的拓扑结构中,输入节点和输出节点的数目取决于问题本身,最关键的就是对隐含层层数以及隐含层节点数的确定。

针对具体问题,不同的网络结构直接影响着神经网络的预测结果,若隐含层节点数目太少,所能获取的信息太少,解决问题的依据少,预测精度必然降低;若隐含层节点数目太多,不仅会增加训练所需时间,而且极容易导致过拟合问题,泛化能力差,预测精度也必然降低,因此快速合理选择隐含层节点数对于BP神经网络模型至关重要。

1 预备知识

1.1 BP神经网络介绍

人工神经网络是解决信息处理问题而建立的一种数学模型,之所以被称为神经网络是因为这类数学模型所应用的结构是一种类似大脑神经突触的连接结构。人工神经网络是对学习方法进行优化的算法,主要基于数学和统计学理论建立而成,因此可以把神经网络看作是数学统计学的一个实际应用。神经网络可以在不揭示输入与输出变量的数学关系的基础上,通过不断学习输入结构以及输出结果,便可得到输入模式和输出模式之间的映射关系,因而优势明显强于正式的逻辑学推理演算。随着学者的不断深入研究,现有的人工神经网络已有很多分支,其中最为典型的就是BP神经网络。BP神经网络是一种多层的前馈神经网络,它的学习算法是典型的误差逆向传播算法,这一算法使得网络具有记忆和学习能力。在理论上,BP神经网络能够逼近任意的连续的非线性函数,而且其算法推导清楚,学习精度高,并且经训练后的BP网络,运行速度很快,可操作性强。

1.2 网络结构

传统BP神经网络的网络拓扑结构由三部分组成:第一部分为输入层(Input layer),由若干个输入节点组成,起到传输信号的作用;第二部分为隐含层(Hide layer),由若干个隐含层节点组成,主要负责信息变换,接收输入节点的输入与输出节点的反馈,根据实际需要会被设计成一层或者两层;第三部分为输出层(Output layer),由若干输出节点组成,接收隐含层节点的输入并向外界输出最终结果。各层神经节点分别与下一层神经节点全连接且不跨层连接,层内节点之间无连接。传统BP神经网络结构如图1。

2 算法原理

2.1 隐层节点数确定的常用方法

在隐含层层数和节点数的选取方面,张德贤等人利用模糊等价关系分析的方法,估计隐含层神经元的个数;焦斌等人将现有经验公式进行对比并在此基础上进行改进;严鸿等人借助经验公式确定取值范围,在扩大的范围内寻找最优值确定隐含层神经元个数;夏克文等人提出黄金分割原理的优化算法,确定隐含层节点数频繁出现的区间;王云等人提出粗决策树算法,利用决策规则的个数等于隐含层神经元个数来确定神经网络的隐含层节点数;王嵘冰等人提出“ 三分法”算法结合暴力破解法确定隐含层神经元个数。

其中酒的成分种类13个,酒的类别属性3个,因此设置输入层节点为13,输出层节点为3。为了消除指标间量纲的影响且确保网络学习更稳定,将原始数据进行归一化处理:x1=(x-xmin)/(xmax-x),其中xmax为样本中的最大值,xmin为样本中的最小值,经过处理的数据均映射到[0,1]之间。在隐含层节点寻优过程中,输出层的传输函数为purelin,隐含层的传输函数为S型函数,训练过程采用收敛速度快且有效避免陷入局部最小化的Levenberg-Marquardt算法,学习率设置为0.01,目标误差为0.001。

(1)首先,我们将隐含层节点在整个区间内的所有網络加以训练,图2为隐含层节点数为1-20时对应的网络输出误差,由图可见,随着隐含层节点数的增加网络输出误差大体呈现先减小后增大的趋势,证明了“进退法”的理论基础有效。

(2)下面按照本文提出优化算法确定该模型的隐含层节点数。

在范围[1,20]内首先设定初始点为x1=(b+a)/2=8,步长h0=(b-a)/4=4,则x2=12,因为y1

该结果与上图结果吻合,均证明隐含层节点数为9的网络误差最小,精度最高,这表明本文的优化算法有效且结果令人满意,具有简单高效的优势。

4 结束语

针对隐含层节点数的确定问题,提出了“进退法”方法,逐步逼近最佳的隐含层节点数。经检验,该算法切实可行,而且能起到节省成本、提升建模效率的功效。算法中既快速地锁定了最优解区间又验证了最优解为全局最小值而非局部最小值点。算法简单实用,具有很好的应用价值。

参考文献

[1]RUMELHART D E.Learning representation by back-propagating errors[J].Nature,1986,323(6088):533-536.

[2]BAHADIRE.Prediction of prospective mathematics teachersacademic success in entering graduate education by using back-propagation neural network[J].Journal of Educationand Training Studies,2016,4(5):113-122.

[3]AZGHADI S M R,BONYADI M R,SHAHHOSSEINI H.Gender classification based on feed forward back propagation neural network [C]//International conference on artificial intelligence & innovations:from theory to applications.[s.l.]:[s.n.],2007:299-304.

[4]周啟超.BP算法改进及在软件成本估算中的应用[J].计算机技术与发展,2016,26(2):195-198.

[5]师梨,陈铁军.智能控制理论及应用[M].北京:清华大学出版社,2009:104-105.

[6]沈花玉,王兆霞,高成耀,等.BP神经网络隐含层单元数的确定[J].天津理工大学学报,2008,24(5):13-15.

[7]张德贤.前向神经网络合理隐含层结点个数估计[J].计算机工程与应用,2003,39(5):21-23.

[8]夏克文,李昌彪,沈钧毅.前向神经网络隐含层节点数的一种优化算法[J].计算机科学,2005,32(10):143-145.

[9]田国钰,黄海洋.神经网络中隐含层的确定[J].信息技术,2010,(10):79-81.

[10]温文.基于改进BP神经网络的产品质量合格率预测研究[D].广州:华南理工大学,2014,(4).

猜你喜欢

神经网络
基于递归模糊神经网络的风电平滑控制策略
BP神经网络在路标识别上的应用研究
神经网络抑制无线通信干扰探究
基于Alexnet神经网络的物体识别研究
基于BP神经网络的旋转血泵生理控制
基于神经网络MRAS的速度辨识仿真研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源