PSO-BP算法.docX
基于PSO — BP算法的模糊神经网络成矿探测评价模型
、基本的BP神经网络原理
,即计算实际输出时按从
基本BP算法包括两个方面:信号的前向传播和误差的反向传播
输入到输出的方向进行,而权值和阈值的修正从输出到输入的方进方法
(1 )对学习率(或步长)-修正学习的,修正量的大小受学习
率的控制,学习率的大小对收敛速度和训练结构影响较大。 具体来说,较小的学习率可以保
证训练能稳定的收敛,但学习速度慢,训练时间长 ;较大的学习率可以在某种程度上提高收
敛速度,但可能导致震荡或发散,因此很多文献提出了各种自适应调节学习率的方法。
针对易陷入局部极小点的改进方法
( 1) 选取合适的初始权值以及修正权值 .BP 算法采用的是梯度下降法 ,训练是从某 一起始点沿误差函数的斜面逐渐达到误差的最小值 ,一旦初始值确定 ,就注定了网络收敛的方
向。因此选择合适的初始权值就显得相当重要。 很多文献中都是设置了多个初始值, 然后从 中选择训练效果最好的一个。另外,借用模拟退火思想调整 E(W),允许E (W)按照一定概
率有所上升以提高跳离局部极小的可能;或者将权值逐个调整 ,考虑过去权值调节的影响 ,权
值平衡调节 ,权值光滑,弹性调节权值变化方向和大小,改进误差函数 .
增加动量项。标准 BP 算法在调整权值的时候,只按 t 时刻误差的梯度降方向 调整,而没有考虑 t 时刻前的梯度方向,从而常使训练过程发生震荡 ,收敛缓慢 .为提高网络
的训练速度, 可以在权值调整公式中增加一动量项。 增加动量项可以降低网络对误差曲面局 部调节的敏感性,从而有效地抑制了网络陷入局部极小值。
( 3) 改变网络结构。 按照一定的规则增加隐含层节点数、 隐含层层数以及连接方式 也是改善局部极小值问题的一个不错的方法。 网络输入与输出层节点数一般根据实际求解问 题的性质和要求确定, 网络结构优化的关键在于隐含层数与隐节点数目 .隐节点过少,学习
过程不可能收敛, 也不能对所要解决的问题形成一个好的模型, 隐节点过多, 虽然容易提高 映射精度,但会造成网络结构庞大节点冗余,网络性能下降,推广能力低的问题 ,因此网络
应有一个最佳隐含层节点数 ,具体确定隐含层及其节点数的方法包括经验公式法、实验比较 法以及动态增删法。
( 4) 改进激励函数或改进寻优算法 .改进激励函数的方法有调整激励函数的形状 ,调
整激励函数的位置 ,寻找新的激励函数取代传统的 S 形函数等。 误差曲面上存在着平坦区域,
权值调整进入平坦区的原因是神经元输出进入了激励函数的饱和区。 如果在调整进入平坦区
域后, 设法压缩神经元的净输入, 使其输出推出激励函数的饱和区, 就可以改变误差函数的 形状 ,从而使调整脱离平坦区。实现这一思路的具体做法是在原激励函数中引入一个陡度因 子,通过改进寻优算法来提高跳出局部极小点也是一种方法。
上述方法中 ,选择合适的初始权值取得的效果相对不错。 此外,调整网络权值修改量 和 动量项 以及改进寻优算法也在一定程度上改善了收敛性。 改变网络结构, 固然可以取得一 定效果, 但有可能使计算复杂化,
隐节点数的增多也会使得误差曲面变得更加凹凸不平, 但
也不失为改善局部极小问题的有益尝试 。本模型将在定义一系列初始权值的基础上,使用
[18]。
PSO算法进行优化,同时也对隐含层的网络结构进行优化,具体思路参考文献
PSC算法优化BP网络的新方法
近年来基于粒子群算法 ( Particle swarm optimization ,PSO) 优化 BP 网络的学习算
法已有很多研究 , 这些改进算法对加速收敛和避免陷入局部极小有一定的效果。
1. 粒子群算法简介
设在 D 维搜索空间中 , 共
粒子群算法是模拟鸟类觅食行为的一种新的进化计算方法。
有 M 个粒子组成一个粒子群体 , 其中第 i 个粒子的空间位置为 Xi =( xi1 ,xi2 , ?,xiD ) ,
( i = 1 ,2 , ?, M) 是优化问题的一个潜在解。将它代入优化目标函数计算出相应的
适应值可作为衡量 Xi 的优劣。 第 i 个粒子所经历过的历史最佳位置记为 Pi = ( pi1 , pi2 , ?, piD) ;同时第 i 个粒子还具有各自的飞行速度 Vi = ( vi1 , vi2 , ?,viD ) . 群体所经历过的历史最佳位置记为 Pg = ( pg1 , pg2 , ?, pgD ) 。 对每一代粒子,其
第d维(1 < d < D)的速度和位置根据方程组(1)、( 2)迭代
2-1 )
t 1 t t t vid uvid c1r1 pid xid
PSO-BP算法 来自淘豆网m.daumloan.com转载请标明出处.