人工神经网络的算法完整版

上传人:夏** 文档编号:493261941 上传时间:2023-08-29 格式:DOC 页数:19 大小:8.16MB
返回 下载 相关 举报
人工神经网络的算法完整版_第1页
第1页 / 共19页
人工神经网络的算法完整版_第2页
第2页 / 共19页
人工神经网络的算法完整版_第3页
第3页 / 共19页
人工神经网络的算法完整版_第4页
第4页 / 共19页
人工神经网络的算法完整版_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《人工神经网络的算法完整版》由会员分享,可在线阅读,更多相关《人工神经网络的算法完整版(19页珍藏版)》请在金锄头文库上搜索。

1、BP网络的算法设网络输入为,输入神经元有个;隐含层有个神经元,激发函数为;输出层内有个神经元,对应的激活函数为。输出为,目标矢量为。(1) 信息的正向传递 隐含层中第个神经元的输出为: (4.15) 输出层第k个神经元的输出为: (4.16) 定义误差函数为: (4.17)(2) 求权值的变化及误差的反向传播 输出层的权值变化对从第个输入到第个输出的权值变化为: (4.18)式(4.18)中,。同理可得: (4.19) 隐含层权值的变化对从第个输入到第个输出的权值,其变化量为: (4.20)式(4.20)中,同理可得:。(三)BP网络的设计和训练1)BP网络的设计设计BP网络的结构,包括的内容

2、为:网络的层数;每层的神经元数;初始权值的选取;期望误差的选取。其设计的网络性能直接影响到评判结果的可靠性。(1) 网络的层数理论上已证明:具有输入层、偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。增加网络的层数可以提高网络性能,减少误差,提高精度,同时使网络结构复杂化,增加训练的时间。因此要优先考虑增加隐含层的神经元数而不是增加网络层数来提高网络性能。在采用单层网络时,非线性激发函数的网络不如线性网络的性能。也就是说,可以用一层解决的问题,应当首先采用感知器或自适应线性网络来解决,不采用非线性网络,因为单层网络不能发挥出非线性激发函数的特长。对于某一求解问题,必有一

3、个输入层和一个输出层,隐含层数则需要根据问题的复杂性来分析和确定,隐含层数的合理选取是网络取得良好性能的一个关键。有关研究表明,隐含层数的增加,可以形成更复杂的决策域,使网络解决非线性问题的能力得到加强。由于网络计算过程实质上是一种映射,这种映射将最初的输入空间映射到存在半线性判别函数的适当空间中。因此,认为隐含层最多只需要两层,甚至必须是两层的论述缺乏理论依据。合理的隐含层数应根据实际问题决策的复杂程度和非线性程度相适应,给系统赋予一个自适应算法,根据某一特定的问题进行不同隐含层数的网络训练,合理的隐含层数应该使网络收敛且系统误差较小,图4.8给出了一般意义上的隐含层数对网络性能影响的分析结

4、果。(2) 隐含层的神经元数采用适当的隐含层神经元非常重要,是网络模型功能实现成功与否的关键。神经元太少,网络难以处理较复杂的问题;反之,神经元数太多,导致网络训练时间急剧增加,而且过多的神经元还会导致网络训练过度,将训练数据组中没有意义的信息也记忆在网络中,难以建立正确的模型。但是,神经元数的合理确定主要还是根据需要解决的问题的不同进行反复比较,图4.9给出了在解决同一问题时隐含层神经元数对网络性能的影响的分析结果。根据图4.9和训练误差的变化情况,可得出以下结论:1)隐含层的神经元数太少了,网络不能很好的学习,需要训练的次数多,训练精度不高。2)从理论上讲,隐含层数越多,功能越强。但是,当

5、神经元数太多时,会使循环次数和训练时间增加,同时还会产生其它问题,如图4.9所示,神经元数后,网络解决问题的能力开始出现问题,训练时间和循环次数均开始增加。3)选择的原则是:在解决问题的前提下,再加上12个神经元可以加快误差的下降速度。(3) 初始权值的选取由于煤自燃极限参数预测系统是非线性的,初始权值对于网络学习是否达到局部最小、是否能够收敛以及训练时间的长短有很大的关系。从激发函数的特性分析,初始权值应该取(-1,1)之间的随机数,从而保证神经元的权值都能够在它们的S型激发函数变化最大之处进行调节。最佳初始权值的选择的数量级是:,其中是第一层神经元数。利用这种方法可以在较少的训练次数下得到

6、满意的训练结果。(4) 学习速率学习速率决定着每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定,但小的学习速率将会导致训练时间较长,收敛速度很慢,但能保证网络的误差不跳出误差表面的低谷而最终趋于最小误差。所以一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。在煤自燃极限参数的预测系统中学习速率一般选取在0.010.8之间。(5) 期望误差的选取在设计网络的训练过程中,期望误差也应当通过对比训练寻求一个合适的值。煤自燃极限参数预测系统中的“合适”是相对于隐含层的节点数来确定的,因为较小的期望误差值是要靠增加隐含层的节点以及训练时间来获得的。2)BP网络训练的步骤BP网络

7、的训练按照图4.10所示的步骤进行网络训练。3)BP网络训练的计算机实现方法BP网络的训练过程在计算机上实现,需要根据以下的实现方法进行,以提高训练的精度和效率。1) 小的随机数给每一层的权重和赋初值:式中,rands()为随机数赋值子函数。同时,定义关键参数,即训练过程所期望的误差最小值err_goal和网络训练最大的循环次数max_epoch;确定提高网络训练性能的学习速率lr,理论上确定区间的范围lr=0.010.8,实际网络设计过程中根据计算机的训练而定。2) 计算网络各层输出矢量Y1和Y2以及网络误差E:3) 计算各层反传的误差变化D2和D1并计算各层权值的修正值:4) 计算权值修正

8、后误差平方和SSE(Sum Square Error):5) 检查SSE是否小于err_goal,若是则结束训练,否则继续训练;6) 定义函数trainbp()为BP网络训练的程序功能模块定义相关参数,如显示间隔次数、最大循环次数、目标误差和学习速率后进行函数调用,函数调用后返回训练后的权值、循环次数和最终误差,即:式中,为网络的激发函数名称。写成一般表达式为:4)BP神经网络模型功能的改善办法在BP网络训练过程中,最关键的问题是要实现全局最小误差,而不是局部,因此在预测过程中必须完善模型的功能。5)附加动量法附加动量方法在修正权值时,不仅要考虑在梯度上的作用,而且要分析在误差曲面上变化趋势的

9、影响,并使得网络模型能忽略网络上的微小变化特征。在没有附加动量的作用下,模型分析结果可能陷入局部极小值。在反向传播法的基础上在每一个权值的变化上加上一项正比于前一次权值变化量的值。并根据反向传播法产生新的权值变化。根据式(4.21)进行方法的完善:(4.21)式中,k为训练次数,mc为动量因子。当动量因子mc=0时,权值的变化只根据梯度下降法产生;当mc=1时,新的权值变化则是设置为最后一次权值的变化,而根据梯度法产生的变化部分则被忽略。根据此运行方式,增加动量项后,促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时,将变小,从而防止了的出现,使得网络模型训练过

10、程中从误差曲面的局部极小值中跳出。其判断条件根据下式进行: (4.22)6)误差函数的改进在前述已定义误差函数为二次函数: (4.23)根据上式,当时,即处于E的平坦区,从而造成训练“麻痹“现象,必需寻求合适的函数来代替的形式,使训练结果达到全局误差最小值。在上述分析的基础上,提出改进后的误差函数,如式(4.24)所示。 (4.24)式(4.24)同样满足当时,E=0。但是,当时,方程发散,故能够克服“麻痹“现象。若采用双曲正切函数来作为激发函数,则:对求一阶导数得:误差函数对求一阶偏导数,且有关系式得:综合考虑常规方法和改进方法的特性后,综合得到误差函数的修正式为: (4.25)式(4.25

11、)一方面恢复了的影响,另一方面当变大时,仍然能够保持有一定数值,避免了训练“麻痹”现象的发生。7)自适应学习速率的调整对于特定问题的求解,选择合适的学习速率是非常困难的。自动调整学习速率的准则是:检查权值的修正值是否真正降低了误差函数,如果是,则说明所选取的学习速率偏小,需要增大;否则,说明学习速率偏大,应该减少学习速率的值,具体根据式(4.26)进行: (4.26).3 巷道松散煤体自燃极限参数的B P神经网络预测模型从煤自燃极限参数的近似求解公式可以看出,极限参数受多种因素的影响,且影响因素与各极限参数间存在非线性关系,因此采用能实现从输入到输出的任意非线性映射的B P神经网络来预测极限参

12、数。由前述可知标准BP算法存在收敛速度慢、局部极值和难以确定隐层及隐结点的个数等缺点,因而在实际应用中受到一定的限制,本文采用了动量法和自适应调整学习率的改进BP算法对煤自燃极限参数进行预测。本文所采用的应用领域最广的BP网络,其结构层数对网络的性能具有重要的影响。严格意义上讲,确定网络层数的方法是通过大量实际问题的求解来寻求最合适的网络层数,在本文中也进行了多次试算。在网络结构的层数确定以后,各层数的神经元数同样是关键参数,其神经元数对网络训练及其收敛速度有显著的影响。在本文中所需解决的自燃极限参数预测问题,对应于各被预测极限参数,其网络的输入和输出层的神经元数是确定的,可以调整的参数是隐含

13、层的神经元数量。在前述分析的基础上,综合考虑自燃极限参数的预测问题,选定了如图4.11所示的网络结构,采用三层网络模型结构,其结构参数描述为(X-S1-Y),其中输入矢量X、隐含层的神经元数S1以及输出层Y。输出层的单元数在本章的问题求解中,由于只有一个输出,故输出层只有1个神经元;输入层的神经元个数是依据各输出被预测的极限参数的主要影响因素而定;隐含层的神经元数将根据各预测单元的训练收敛情况进行调整。4.4 应用实例4.4.1 巷道顶煤自燃极限参数的样本学习与实际预测1)最小浮煤厚度选取影响巷道顶煤自燃的最小浮煤厚度的主要因素:煤的放热强度、煤体温度、实测氧气浓度、巷道表面对流换热系数、巷道

14、供风量作为网络的输入,最小浮煤厚度作为网络输出,选取姚桥矿72个训练样本对网络进行训练,初始学习速率为0.001,动量因子为0.95,目标误差为0.0001,最大循环次数为20000次。在进行样本训练之前对样本数据做了一定地处理,以满足神经网络预测模型的输入/输出要求。训练样本如下:表4.1巷道顶煤自燃最小浮煤厚度神经网络预测模型训练样本编号煤温放热强度氧气浓度换热系数期望浮煤厚训练样本训练样本12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717227.436.947.057.667.576.290.815627.436.947.057.667.576.290.8156

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号