PSOBP算法.docx

上传人:lao****ou 文档编号:982191 上传时间:2024-08-20 格式:DOCX 页数:15 大小:80.64KB
下载 相关 举报
PSOBP算法.docx_第1页
第1页 / 共15页
PSOBP算法.docx_第2页
第2页 / 共15页
PSOBP算法.docx_第3页
第3页 / 共15页
PSOBP算法.docx_第4页
第4页 / 共15页
PSOBP算法.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《PSOBP算法.docx》由会员分享,可在线阅读,更多相关《PSOBP算法.docx(15页珍藏版)》请在第一文库网上搜索。

1、基于PSO-BP算法的模糊神经网络成矿探测评价模型一、基本的BP神经网络原理基本BP算法包括两个方面:信号的前向传播和误差的反向传播,即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行。图1-1中变量含义如下所示:Xj表示输入层第j个节点的输入j=1,小匕7表示隐含层第i个节点到输入层第j个节点之间的权值;口表示隐含层第i个节点的阈值;。(九)表示隐含层的激励函数;表示输出层第k个节点到隐含层第i个节点之间的权值,i=1,q;ak表示输出层第k个节点的阈值,k=1,1;“(X)表示输出层的激励函数;Ok表示输出层第k个节点的输出;7;表示输出层第k个节点的期望输

2、出;激励函数一般使用S型函数,即O(X)=/(=一;1+e-Aj=0,1,2,,M;i=0,1,2,,q;k=0,1,2,-,1o(1)信号的前向传播过程隐含层第7.个节点的输入防:M网=EVijXj(1-1)片I隐含层第,个节点的输出为:(My=fti)=fZUijXj,(1-2)输出层笫k个节点的输入Jt:Mk=叫M=wkif%/i=/=1;=1输出层第k个节点的输出%:Ok=/(/)=/(JVfEWQfYvijXj*=(1-3)(1-4)(2)误差的反向传播过程误差的反向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最

3、终输出能接近期望值。对于每一个样本P的二次型误差准则函数为Ep:112EP=,(ok)(1-5)Zhi系统对P个训练样本的总误差准则函数为:P12E=hd)GP=IJt=I根据误差梯度下降法依次修正输出层权值的修正量叼”和隐含层权值的修正量%。权值的调整量与误差的梯度下降成正比,即:aEA泥%,=F;v.=-8%(1-7)式中负号表示梯度下降。输出层权值调整公式:E(1-8)Enetk_Ekwkioknetk隐含层权值调整公式:.EEnetiEyioneti(1-9)Ayij=-7;=-1=-1vjjnetivjjyinetivij又因为:netkneti=Xj(1-10)E票=-(-4)(辰

4、i0Mjt=r(M)j(i)(1-12)(1-13)所以最后得到以下公式:输出层权值调整量:A恤=(或一心人JM隐含层权值调整量:(1-15)%=E(n-gh(-q)%y(Ifk/第N+1次输入样本时的权值为:(1-17)哈川=琮+岭批量输入学习样本并且对输参数初始化:最大训练次数,学习精度,隐节点数,初始权值、阈值,初始学习速率等输入样本,计算各层输出值Yes计算输出层误差Es)修正权值和阈值图2BP算法程序流程图BP算法因其简单、易行、计算量小、并行性强等优点,目前是神经网络训练采用最多也是最成熟的训练算法之一。其算法的实质是求解误差函数的最小值问题.由于它采用非线性规划中的最速下降方法,

5、按误差函数的负梯度方向修改权值,因而通常存在以下问题:(1)学习效率低,收敛速度慢。(2)易陷入局部极小状态。基于上述缺点,具体的改进方法包含如下几种。1.针对网络收敛速度的改进方法(1)对学习率(或步长)的改进。BP算法是基于误差-修正学习的,修正量的大小受学习率的控制,学习率的大小对收敛速度和训练结构影响较大。具体来说,较小的学习率可以保证训练能稳定的收敛,但学习速度慢,训练时间长;较大的学习率可以在某种程度上提高收敛速度,但可能导致震荡或发散,因此很多文献提出了各种自适应调节学习率的方法。2.针对易陷入局部极小点的改进方法(1) 选取合适的初始权值以及修正权值。BP算法采用的是梯度下降法

6、,训练是从某一起始点沿误差函数的斜面逐渐达到误差的最小值,一旦初始值确定,就注定了网络收敛的方向。因此选择合适的初始权值就显得相当重要。很多文献中都是设置了多个初始值,然后从中选择训练效果最好的一个。另外,借用模拟退火思想调整E(W),允许E(W)按照一定概率有所上升以提高跳离局部极小的可能;或者将权值逐个调整,考虑过去权值调节的影响,权值平衡调节,权值光滑,弹性调节权值变化方向和大小,改进误差函数。(2) 增加动量项。标准BP算法在调整权值的时候,只按I时刻误差的梯度降方向调整,而没有考虑t时刻前的梯度方向,从而常使训练过程发生震荡,收敛缓慢。为提高网络的训练速度,可以在权值调整公式中增加一

7、动量项。增加动量项可以降低网络对误差曲面局部调节的敏感性,从而有效地抑制了网络陷入局部极小值。(3) 改变网络结构。按照一定的规则增加隐含层节点数、隐含层层数以及连接方式也是改善局部极小值问题的一个不错的方法。网络输入与输出层节点数一般根据实际求解问题的性质和要求确定,网络结构优化的关键在于隐含层数与隐节点数目。隐节点过少,学习过程不可能收敛,也不能对所要解决的问题形成一个好的模型,隐节点过多,虽然容易提高映射精度,但会造成网络结构庞大节点冗余,网络性能下降,推广能力低的问题,因此网络应有一个最佳隐含层节点数,具体确定隐含层及其节点数的方法包括经验公式法、实验比较法以及动态增删法。(4) 改进

8、激励函数或改进寻优算法。改进激励函数的方法有调整激励函数的形状,调整激励函数的位置,寻找新的激励函数取代传统的S形函数等。误差曲面上存在着平坦区域,权值调整进入平坦区的原因是神经元输出进入了激励函数的饱和区。如果在调整进入平坦区域后,设法压缩神经元的净输入,使其输出推出激励函数的饱和区,就可以改变误差函数的形状,从而使调整脱离平坦区。实现这一思路的具体做法是在原激励函数中引入一个陡度因子,通过改进寻优算法来提高跳出局部极小点也是一种方法。上述方法中,选择合适的初始权值取得的效果相对不错。此外,调整网络权值修改量和动量项以及改进寻优算法也在一定程度上改善了收敛性。改变网络结构,固然可以取得一定效

9、果,但有可能使计算复杂化,隐节点数的增多也会使得误差曲面变得更加凹凸不平,但也不失为改善局部极小问题的有益尝试。本模型将在定义一系列初始权值的基础上,使用PSO算法进行优化,同时也对隐含层的网络结构进行优化,具体思路参考文献18。二.PSO算法优化BP网络的新方法近年来基于粒子群算法(Partic1eswarmoptimization,PSO)优化BP网络的学习算法已有很多研究,这些改进算法对加速收敛和避免陷入局部极小有一定的效果。1 .粒子群算法简介粒子群算法是模拟鸟类觅食行为的一种新的进化计算方法.设在D维搜索空间中,共有M个粒子组成一个粒子群体,其中第i个粒子的空间位置为Xi=(Xi1,

10、xi2,,xiD),(i=1,2,M)是优化问题的一个潜在解.将它代入优化目标函数计算出相应的适应值可作为衡量Xi的优劣.第i个粒子所经历过的历史最佳位置记为Pi=(pi1,pi2,PiD);同时第i个粒子还具有各自的飞行速度Vi=(vi1,vi2,,viD).群体所经历过的历史最佳位置记为Pg=(pg1,pg2,pgD).对每一代粒子,其第d维(IWdWD)的速度和位置根据方程组(1)、(2)迭代次)=M+cJi(Pw-掰)+。22(-叫)(2-1)(2-2)式中,U为惯性权值,惯性权值的引入使PSO可以调节算法的全局与局部寻优能力,通常采用线性惯性权;C1和c2为正常数,称为加速系数;r1

11、和r2为两个在0,1内变化的随机数。2 .基于PSO算法的BP网络结构优化和权值调整方法(PSOBP)2.1 BP网络结构的优化由于BP网络的隐节点数通常都是采用凑试法来确定的,即用修剪法或逐步构造法进行试验,不断更改隐节点个数,从而相应的初始权值和阈值也需相应改变,因而对网络收敛性和学习效率都有一定的影响。为了减小这种影响,通过构造不同的网络结构,对每个网络结构皆生成m个不同初始权值和阈值的BP网络,并采用粒子群和BP的混合算法进行优化,得到训练后的BP网络误差最小时的网络结构。3 .2基于PSO算法的BP网络权值调整对各不同初始权值和阈值的网络1(1=1,2,3,m),都采用式(I-D至(

12、1-17)进行训练。当全部样本每训练完一遍后,分别按公式(2-3)和(2-4)计算n1个训练样本的训练误差和n2个检验样本的检验误差:E=giKF)(2-3)nA=IGS(2-4)n2P2=I式中,和分别为训练样本个数和检验样本个数;和分别为训练样本的网络实际输出和期望输出;和分别为检验样本的网络实际输出和期望输出。PSO算法的速度迭代公式(2-1)还可以写为:犷-M=C力(P汨-*)+C2z(P*/-噌)(2-5)此式表明:粒子相继两次速度的改变取决于粒子当前位置相对于其历史最佳位置和群体历史最佳位置的变化。因此,若把网络的权值视作PSO算法中粒子的速度,则在网络训练过程中,相继两次权值的改

13、变可视作粒子的速度的改变。因而类比式(2-5),网络的权值改变量还可以按式(2-6)和(2-7)计算。%=CjI(W)+C22(%(g)-必J(2-6)%=c(%S)-H)+cH(%(g)-%)(2-7)式中,和为第1个网络所经历过的历史上具有最小检验误差时的网络权值(最佳适应值);出和3为In个群体网络中历史上具有最小检验误差时的网络权值(最佳适应值),,和,的意义与公式(2-D中的,意义相同;、和、的意义与公式(2-1)中的和和意义相同。从每没训练完一遍后,应综合考虑BP算法和PSO算法的共同效果,即在基本BP网络权值调整公式(1-16)和(1-17)右边,还应分别增加式(2-6)和(2-

14、7)表示的权值改变量,故综合式(1-16).(1-17)和(2-6)、(2-7)得网络权值调整公式:喈=碎+-0kh(1-ok)yi+c1r1(wki(b)-wki)+c2r2(wki(g)-wki)(2-8)VF=V:+zZ(Z-O*h(1-。加%(1-欣+木;(哦)-M)+C%(M(g)-M)(2-9)U=/训练停止条件仍为:当max(,)时停止训练,此时得到的网络权值和阈值为最终权值。4 .PSOBP算法的优点(1)传统的PSO-BP优化算法直接用PSO迭代算法生成BP网络的权值,再以网络的正向传播的最小训练误差E1作目标函数指导PSO的优化。木文提出的PSO-BP算法在网络权值调整过程

15、中,既考虑了由基本BP算法各个训练样本的误差反传进行的权值修正,又考虑了每训练完1遍后,通过跟踪个体网络历史最佳权值和群体网络历史最佳权值来更新权值,因而不同于传统的PSO-BP前向传播算法。(2)本文在采用凑试法优选网络结构的过程中,对不同的网络结构,都通过构造群体规模为In的不同初始权值和阈值的网络,并采用PSO-BP算法优化,从中优选得到误差最小的BP网络为最佳结构网络。因而该方法也就同时兼顾了初始权值和阈值的优选.(3)PSO-BP算法收敛速度快,精度高,不受模型结构的影响。它与基本BP算法、GA-BP算法和传统PS0-BP算法的训练结果相比,具有更小的训练误差和检验误差,在一定程度上提高了学习能力与泛化能力。三、基于PSO-BP算法的模糊神经网络成矿预测模型1.成矿预测步骤基

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服