黄希敏(陕西教育学院 陕西 西安 710061)
BP(Back Propagation)
神经网络
是一种多层前馈
神经网络
,该网络的主要特点是信号前向传递,误差反向传播。在理论上,BP
神经网络
可以逼近任意连续的非线性关系,但是,由于BP
神经网络
的误差代价函数是全体连接权值的一个复杂函数,因此,优化权值过程中必然会存在两个问题:(1)寻优的参数过多,造成收敛速度慢;(2)误差代价复杂函数可能存在的多个极值点,可能会造成寻优过程陷入局部极值。针对这些问题,文章采用改进PSO
算法
来优化BP
神经网络
权值,通过Hermit逼近试验,对BP
算法
和改进PSO优化BP
神经网络
权值
算法
进行了对比,结果表明,改进PSO优化BP
神经网络
权值具有更好的收敛性和更快的速度;
1.标准PSO
算法
PSO 算法 从鸟群捕食问题中得到启示并用于解决优化问题。PSO中,每个待优化问题的解被规定为空间中的一只鸟,我们称之为“粒子”。所有的粒子都有一个由待优化问题决定的适应值,每个粒子还有一个速度决定了它们搜索的方向和距离。PSO初始化这样一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代过程中,粒子通过跟踪两个“极值”来更新自己。第一个“极值”就是粒子本身所找到的最优解,另一个“极值”就是整个粒子群体到目前为止找到的最优解。更新的公式如下:
速度更新:
(1)
位置更新:
(2)
其中,表示第 个粒子;表示第个粒子的第 维;和为学习因子,也称为加速常数, 和 为 范围内的均匀随机数。 为时刻粒子的速度,为时刻粒子的位置。
2. PSO 算法 的改进策略
PSO的改进策略是通过一个惯性权重 来协调PSO 算法 的全局搜索(在整个搜索空间中搜索)和局部搜索(在局部近优解附近搜索)能力。具体做法是将基本PSO的速度方程修改为下式,而位置方程不变。
(3)
惯性权重决定了粒子先前飞行速度对当前飞行速度的影响程度,因此通过调整惯性权重的值可以实现全局搜索和局部搜索之间的平衡:当惯性权重值较大时,全局搜索能力强,局部搜索能力弱,这样有利于全局搜索,提高了收敛速度,但是不易得到最优解;当惯性权重值较小时,局部搜索能力强,全局搜索能力弱,这样有利于局部搜索,但收敛速度慢且有时会陷入局部极值。因此,恰当的惯性权重可以提高 算法 性能,提高寻优能力,同时减少迭代次数。
根据惯性权重的选择策略,本文采用非线性动态的惯性权重方法。下式为非线性动态的惯性权重 的计算的公式:
(4)
式中,随着迭代次数的增加而非线性递减,使 算法 在初期具有较强的全局搜索能力,迅速地在整个搜索空间遍历后,局部搜索能力不断增强,在可能的最优解领域内进行搜索,在提高 算法 收敛性能的同时有效地避免陷入局部最优。 为控制因子,控制 和 变化曲线的平滑度。可以通过试验调整 值以满足实际问题对PSO 算法 性能的要求。
3 .改进PSO优化 神经网络 权值
改进PSO 算法 优化BP 神经网络 权值问题描述。采用改进PSO训练 神经网络 时,首先应将BP网络中所有神经元之间的连接权值编码成实数码串来表示一个粒子个体。假设BP网络中包含了M个待优化的权值(包括连接权值和阈值),则每个粒子个体将由M个权值参数组成的一个向量来表示。
初始化粒子群。初始化粒子群的规模、最大迭代次数、粒子个体极值等相关参数,并按照粒子群规模随机产生一定数量的粒子个体。初始化粒子的位置、速度。同时初始化粒子个体极值和粒子群体极值。
粒子群迭代训练 神经网络 权值及适应度函数。由以上描述可以知道,粒子群中每个个体的分量都映射为BP 神经网络 的权值,也就是说每个粒子个体都代表了一个 神经网络 。粒子群的迭代过程就是对BP 神经网络 权值的优化过程。在BP 神经网络 的优化过程中,给定的样本空间往往要分为两部分:一部分作为训练样本,称为训练样本集;一部分作为测试样本,称为测试样本集。
粒子群优化 神经网络 过程中,计算每一个BP 神经网络 在训练集上产生的均方误差,并以此作为适应度函数,用来计算粒子个体的适应度值。
(5)
其中,为第 组输入样本, ;为输入 样本的第 个输出, 为为输入 样本的第 个输出的期望值, 。
MPSO-BP 算法 终止条件。MPSO-BP 算法 终止条件设定为两个,满足任意一个条件 算法 即终止:第一个条件是 算法 到达最大迭代次数;第二个条件是适应度值小于给定的适应度值。
4 .仿真研究
为了说明改进PSO优化BP 神经网络 权值方法优越性,进行仿真实验,并且与BP 算法 进行比较。
Hermit多项式逼近
(6)式(6)为Hermit多项式的数据表达式。为了达到实验的目的,在 区间随机采样100个实数值及其对应的函数值作为训练的输出样本,再以0.06为步长在 区间采样101个实数值及其对应的函数值作为BP网络的测试样本集。BP网络结构取 。因此,待优化的参数为15个,即改进PSO 算法 中的粒子群的维数为15。粒子数取50,学习因子 ,惯性权重函数的 ,最大迭代次数2000,取目标误差 。基于Matlab软件的测试结果如下图。
由实验结果明显可以看出,该文原载于中国社会科学院文献信息中心主办的《环球市场信息导报》杂志总第459期2012年第22期-----转载须注名来源 虽然两种 算法 都没有完全的逼近Hermit曲线,但是从整体的逼近效果来看,改进PSO优化BP 神经网络 的逼近效果明显优于BP 算法 ,且收敛速度也远远快于BP 算法 。改进PSO优化BP 神经网络 算法 的分类准确到达93%以上,且收敛速度很快,说明改进PSO优化BP 神经网络 算法 具有较好的性能。