一种基于pso的bp神经网络训练方法论文

一种基于pso的bp神经网络训练方法论文

ID:26073806

大小:50.00 KB

页数:5页

时间:2018-11-24

一种基于pso的bp神经网络训练方法论文_第1页
一种基于pso的bp神经网络训练方法论文_第2页
一种基于pso的bp神经网络训练方法论文_第3页
一种基于pso的bp神经网络训练方法论文_第4页
一种基于pso的bp神经网络训练方法论文_第5页
资源描述:

《一种基于pso的bp神经网络训练方法论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一种基于PSO的BP神经网络训练方法论文摘要基于粒子群优化的算法具有全局随机搜索最优解的特点。本文尝试把PSO算法和神经网络权值训练的常用算法BP算法结合起来进行数据的训练,实现对一组数据的训练,并对结果与BP算法的训练结果进行了对比,得到了较好的效果。关键词神经网络;反向传播算法;PSO算法;适应度函数人工神经网络是由人工神经元互连而成的网络,它从微观结构和功能上实现对人脑的抽象和简化,具有许多优点。对神经网络的权值系数的确定,传统上采用反向传播算法(BP算法)。BP网络是一种多层前向反馈神经网络,BP算法是由两部分组成:信息的正

2、向传递与误差的反向传播。在反向传播算法中.freelOptimizer,PSO)是一种进化计算技术(evolutionaryputation)。源于对鸟群捕食的行为研究,PSO中,每个优化问题的解都是搜索空间中的一只鸟,我们称之为粒子。所有的粒子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。如果用粒子群算法对神经网络的权值进行训练,会得到较快的收敛速度,而且可以避免局部最值得出现。研究表明PSO是一种很有潜力的神经网络算法。

3、本文提出了一种基于PSO算法的BP网络学习算法,并通过MATLAB7.0实现对一组简单的向量进行训练对PSO—BP算法和BP算法进行了对比,试验结果说明PSO—BP算法适合训练BP网络,并且也有希望应用于其他种类的前向网络的训练。1PSO算法PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的例子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。D维搜索空间中,有m个粒子,其中第i个粒子的位置是,m,其速

4、度为。将带入目标函数可计算出适应值。记第i个粒子搜索到的最优位置为,整个粒子群搜索到的最优位置为。离子状态更新操作为:其中,i=1,2…,m,d=1,2…,D;是非负常数,称为惯性因子。也可以随着迭代线性减小;学习因子,是非负常数;r1,r2是介于0,1之间的随机数;是常数。迭代中止条件一般选为最大迭代次数和粒子群迄今为止搜索到的最有位置满足适应阈值。2基于PSO的BP网络学习算法BP网络是一种多层结构的前向网络,其隐层神经元的激活函数为S型函数,而输出神经元的激活函数可以是S型函数,也可以实线性函数,典型的S型函数为:(3)其中:

5、s为神经元的加权输入函数。用PSO算法训练BP网络时,定义粒子群的位置向量的元素是BP网络的全体连接权和阈值。首先初始化位置向量,然后用PSO算法搜索最优位置,使如下均方误差指标(适应值)达到最小(4)其中,N是训练集的样本数;是第i个样本的第j个网络输出节点的理想输出值;是第i个样本的第j个网络输出节点的实际输出值;C是网络输出神经远的个数。基于PSO算法的BP网络学习算法流程如下:1)选定粒子数m;适应值阈值ε;最大允许迭代步数;、和;初始化X和V为(0,1)间的随机数。8)endfor9)fori=1:1:m10)按式(1)计

6、算;按式(2)计算;11)endfor12)end个粒子迄今搜索到的最优适应值,其对应的粒子位置矩阵是p=;是粒子群迄今搜索到的最优适应值,对应的最优粒子位置是,粒子数m选定为30个。3结果分析本实例中随机选取机输入和输出矩阵,如:p=00000;10001;01001;00100;00010;t=0000;1000;0100;0010;0001。由于P是五行的矩阵,所以网络输入层的神经元个数为:5个,T为五行矩阵,故输出层神经元个数为:5个,隐含层神经元个数为:6个。首先观察一下PSO算法中的适应值(fitness)的变化过程,图

7、1中,实线表示适应值的平均值,虚线表示是最优适应值。从图中可以看出适应值迅速的选择过程。图1fitness的变化过程曲线图2为用PSO—BP算法和BP算法在训练误差精度为0.002的情况下的误差演化曲线:(a)为PSO—BP算法训练误差演化曲线,所用时间是20.422000s。(b)为常用BP算法训练误差演化曲线,对权值的训练采用的是梯度下降法,所用时间是27.172000s。从图中可以看到:PSO—BP算法的迭代次数远远小于BP算法,并且训练时间也缩短了。(a)(b)图2为了充分说明实验结果,笔者做了多次反复实验,实验结果如下表:

8、在训练误差精度为0.002的情况下,十次试验中PSO—BP算法的平均迭代次数远小于BP算法,收敛时间较接近。算法次数BP算法PSO—BP算法迭代次数收敛时间迭代次数收敛时间1158735.79700071719.54700021051

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。