当前位置:大学毕业论文> 专科论文>材料浏览

神经网络有关毕业论文格式范文 和基于进退法的神经网络隐含层节点数的确定方法方面硕士论文范文

主题:神经网络论文写作 时间:2024-04-12

基于进退法的神经网络隐含层节点数的确定方法,该文是神经网络方面有关在职研究生论文范文跟神经网络和隐含和节点相关在职研究生论文范文.

神经网络论文参考文献:

神经网络论文参考文献 网络营销论文计算机网络毕业设计网络营销相关论文网络论文

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

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

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

0引言

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

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

1预备知识

1.1BP神经网络介绍

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

1.2网络结构

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

2算法原理

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

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

分析学者在给出方案的同时也总结了很多经验公式,总结起来大致为以下四类,以下结论均假设BP神经网络为三层网络拓扑结构,n为输入层节点数,m为输出层节点数,n1为隐含层节点数:

在实际问题中,通常在已知输入层和输出层节点数的前提下,根据前三个公式推导其可能的隐含层单元的个数,将各种方式方法综合比较,最终确定最佳隐含层单元数,或者直接利用公式四确定理想的隐含层节点频繁出现的区间.但这种方式更适用于输入层和输出层节点均较小的情况,此时隐含层节点可能的区间不大,将所有可能值一一列举且工作量在接受范围内.当实际问题锁定的隐含层节点区间范围较大时,列举法将消耗大量人力物力,因此需要寻找一种更简便易行的方式缩小最佳隐含层节点的区间,快速准确地找出最佳隐层节点数.

2.2进退法原理

进退法是一种适用于求一维无约束问题minf(x),x∈R的搜索区间(包含极小值点的区间)的算法.其原理主要是对f(x)任选一个初始点和初始步长,通过比较两点函数值的大小,确定第三点位置,进而比较三点函数值大小是否为"高-低-高"的形态.具体算法步骤如下:

(1)试探搜索:

给定初始点x1,初始步长h0,则x2等于x1+h0,分别计算y1等于f(x1),y2等于f(x2),如果y1>y2,进行第二步前进搜索;如果y1<y2,进行第三步后退搜索.

(2)前进搜索:

加大步长h等于2h,增加新点x3等于x2+2h,如果y2<y3,则f(x)在[x1,x3]内定有极小值点;如果y2>y3,令x1等于x2,y1等于y2,x2等于x3,y2等于y3,h等于2h,再次构造x3等于x2+h,比较y2与y3大小,直到y2<y3.

(3)后退搜索:

令h等于-h0,x3等于x1,y3等于y1,x1等于x2,y1等于y2,x2等于x3,y2等于y3,h等于2h,再次构造x3等于x2+h,如果y2<y3,则f(x)在[x1,x3]内定有极小值点;如果y2>y3,令x1等于x2,y1等于y2,x2等于x3,y2等于y3,h等于2h,再次构造x3等于x2+h,比较y2与y3大小,直到y2<y3.

2.3进退法确定隐含层节点数

其他学者在文献中对于隐含层节点数的研究,得出了隐含层节点数与误差整体呈抛物线变化,基于该理论以及进退法在快速锁定极小值搜索区间的广泛应用,本文提出一种基于进退法原理确定隐含层节点数的寻优算法.算法的中心思想是:首先,利用经验公式找到隐含层节点数的区间范围[a,b],既保证了网络的泛化能力又有效的缩小了目标区间;其次,为了进一步逼近最优隐层节点数,按照进退法排除非优区间,即得到更小的区间范围[a,c],其中c<b,在区间[a,c]中寻找最优,进而得到逼近能力更强的隐含层节点数.使用进退法确定隐含层节点数的具体步骤如下:

Step1:在区间[a,b]上确定第一个试验点的位置x1等于(b+a)/2,并记录隐含节点数为x1时的试验结果,即网络总误差为y1.

Step2:确定第二个试验点位置,设定步长h0等于(b-a)/3,则x2等于x1+h0,并记录试验结果,即为y2.

Step3:比较两次试验结果,若y1>y2,则最佳节点数在[x1,b]内;若y1<y2,则最佳节点数在[a,x2]内,则x3等于x1-h0,记录总误差y3.

Step4:为了进一步逼近最佳点,在[x1,b]内,可继续选定x3等于x2+h0,若y2<y3则最佳区间为[x1,x3];若y2<y3则最佳区间为[x2,b].同理可得,在区间[a,x2]内,选定x3等于x1-h0,记录总误差y3,若且y1<y3,则得到区间[a,x1];若y1>y3则区间为[x2,x3].

Step5:在最终得到的区间内依次测试其他可能节点数,最后得到xi为区间内误差最小点.

3仿真实验与应用

为进一步检验本文提出的算法是否有效,利用Matlab软件对样本数据进行仿真验证.验证共分为两部分,首先是隐含层节点数与BP神经网络输出误差之间的关系验证,其次为算法有效性验证.样本数据来自于UCI上的Wine数据集,该数据集为三种不同品种的酒对应成分的明细数据,目标在于根据成分含量区分酒的类别,表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<y2,目标值在区间[1,12]内.令x3等于x1-h0等于4,比较三点误差得y1<y2<y3,目标区间为[8,12].比较该区间内每点误差值发现隐含层节点数为9时误差最低,E9等于min(E8,E9,E10,E11,E12).

该结果与上图结果吻合,均证明隐含层节点数为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 teachers´academic 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神经网络的中长期负荷联合预测
摘 要 传统的BP 神经网络负荷预测存在学习速度慢、局部极小……缺陷,已无法满足现代电力负荷预测的精度要求 基于此,本文首先在分析了BP 神经网络的预测原理和不足的基础上,阐述了遗传算法的原理及优化步.

基于3s的人工神经网络模型在地质灾害危险性评价中的应用
宋雨濛(成都理工大学地球物理学院 四川 成都 610059)摘 要文章通过3s 技术手段和人工神经网络模型对卧龙大熊猫自然保护区进行了地质灾害危险性评价 包括通过遥感技术获取研究区域的遥感图像,并对图.

基于SPSS和BP神经网络的林产品物流运输需求预测对比
摘要采用SPSS及Matlab软件分别建立多元线性回归模型和BP神经网络预测模型,通过HN省林产品物流运输需求量的算例,对比多元线性回归和BP神经网络预测模型的预测能力得出相应结论 关键词多元线性回归.

《电子商务法》促进网络食品行业
中华人民共和国电子商务法(以下简称电子商务法)将于2019年1月1日实施 在这段准备、过渡的日子里,其“山雨欲来风满楼”之势可以从“电商将面临新的洗牌”.

论文大全