PSO-BP算法..docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PSO-BP算法.

基于PSO-BP算法的模糊神经网络成矿探测评价模型一、基本的BP神经网络原理基本BP算法包括两个方面:信号的前向传播和误差的反向传播,即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行。………………输出变量输入变量输入层隐含层输出层图1-1 BP网络结构图1-1中变量含义如下所示 :表示输入层第j个节点的输入j=1,…,M;表示隐含层第i个节点到输入层第j个节点之间的权值;表示隐含层第i个节点的阈值;表示隐含层的激励函数;表示输出层第k个节点到隐含层第i个节点之间的权值,i=1,…,q;表示输出层第k个节点的阈值,k=1,…,L;表示输出层的激励函数;表示输出层第k个节点的输出;表示输出层第k个节点的期望输出;激励函数一般使用S型函数,即 ;j=0,1,2,…,M; i=0,1,2,…,q; k=0,1,2,…,L。(1)信号的前向传播过程隐含层第i个节点的输入: (1-1)隐含层第i个节点的输出: (1-2)输出层第k个节点的输入: (1-3)输出层第k个节点的输出: (1-4) (2)误差的反向传播过程误差的反向传播,即首先由输出层开始逐层计算各层神经元的输出误差,然后根据误差梯度下降法来调节各层的权值和阈值,使修改后的网络的最终输出能接近期望值。 对于每一个样本p的二次型误差准则函数为: (1-5)系统对P个训练样本的总误差准则函数为: (1-6)根据误差梯度下降法依次修正输出层权值的修正量和隐含层权值的修正量。权值的调整量与误差的梯度下降成正比,即: ; (1-7)式中负号表示梯度下降。输出层权值调整公式: (1-8)隐含层权值调整公式: (1-9)又因为: , (1-10) (1-11) = = (1-12) (1-13)所以最后得到以下公式:输出层权值调整量: (1-14)隐含层权值调整量: (1-15) 第N+1次输入样本时的权值为: (1-16) (1-17) 结 束参数初始化:最大训练次数,学习精度,隐节点数,初始权值、阈值,初始学习速率等批量输入学习样本并且对输入和输出量进行归一化处理输入样本,计算各层输出值计算输出层误差E(q)E(q)ε修正权值和阈值YesNYes开 始图2 BP算法程序流程图BP算法因其简单、易行、计算量小、并行性强等优点,目前是神经网络训练采用最多也是最成熟的训练算法之一。其算法的实质是求解误差函数的最小值问题,由于它采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权值,因而通常存在以下问题:(1)学习效率低,收敛速度慢。(2)易陷入局部极小状态。基于上述缺点,具体的改进方法包含如下几种。针对网络收敛速度的改进方法(1)对学习率(或步长)的改进。BP算法是基于误差-修正学习的,修正量的大小受学习率的控制,学习率的大小对收敛速度和训练结构影响较大。具体来说,较小的学习率可以保证训练能稳定的收敛,但学习速度慢,训练时间长;较大的学习率可以在某种程度上提高收敛速度,但可能导致震荡或发散,因此很多文献提出了各种自适应调节学习率的方法。针对易陷入局部极小点的改进方法选取合适的初始权值以及修正权值。BP算法采用的是梯度下降法,训练是从某一起始点沿误差函数的斜面逐渐达到误差的最小值,一旦初始值确定,就注定了网络收敛的方向。因此选择合适的初始权值就显得相当重要。很多文献中都是设置了多个初始值,然后从中选择训练效果最好的一个。另外,借用模拟退火思想调整E(W),允许E(W)按照一定概率有所上升以提高跳离局部极小的可能;或者将权值逐个调整,考虑过去权值调节的影响,权值平衡调节,权值光滑,弹性调节权值变化方向和大小,改进误差函数。增加动量项。标准BP算法在调整权值的时候,只按t时刻误差的梯度降方向调整,而没有考虑t时刻前的梯度方向,从而常使训练过程发生震荡,收敛缓慢。为提高网络的训练速度,可以在权值调整公式中增加一动量项。增加动量项可以降低网络对误差曲面局部调节的敏感性,从而有效地抑制了网络陷入局部极小值。改变网络结构。按照一定的规则增加隐含层节点数、隐含层层数以及连接方式也是改善局部极小值问题的一个不错的方法。网络输入与输出层节点数一般根据实际求解问题的性质和要求确定,网络结构优化的关键在于隐含层数与隐节点数目。隐节点过少,学习过程不可能收敛,也不能对所要解决的问题形成一个好的模型,隐节点过多,虽然容易提高映射精度,但会造成网络结构庞大节点冗余,网络性能下降,推广能力低的问题,因此网络应有一个最佳隐含层节点数,具体确定隐含层及其节点数的方法包括经验公式法、实验比较法以及动态增删法。改进激励函数或改进寻优算法。改进激励函数的方法有调整激励函数的形状,调整激励函数的

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档