智能优化算法优化BP神经网络的函数逼近能力研究

2015-04-30 13:22陈骏傅成华郭辉
软件导刊 2015年4期
关键词:粒子群优化算法BP神经网络遗传算法

陈骏 傅成华 郭辉

摘要摘要:在工程应用中经常遇到一些复杂的非线性系统,这些系统状态方程复杂,难以用数学方法精确建模。BP神经网络可以描述这些非线性系统的输入输出映射关系,但其自身也存在较明显的缺陷。应用遗传算法和粒子群算法对BP神经网络进行优化,可弥补BP神经网络寻优时的缺陷。通过实例比较分析,两种优化算法有效提高了拟合精度。

关键词关键词:BP神经网络;遗传算法;粒子群优化算法;函数逼近

DOIDOI:10.11907/rjdk.1431078

中图分类号:TP312

文献标识码:A文章编号文章编号:16727800(2015)004007003

0引言

很多过程很难直观地给出数学模型,影响了对其进一步的认识和操作。人工神经网络具有很强的映射能力,可以自适应地对输入数据产生聚类,通过训练和学习可以对输入空间产生非线性映射[12]。应用神经网络实现对未知函数的逼近,可以建立系统模型。函数的拟合方法很多,应用神经网络进行函数逼近的意义不仅仅在纯数学领域,在工程和物理学领域也非常有用,如实验数据拟合、图像处理、信号预测等。

1遗传算法优化BP神经网络模型

1.1遗传算法原理

1975年,Holland教授[3]首次提出了一种借鉴生物界自然遗传和自然选择的随机化搜索算法——遗传算法。该算法是一种利用自然选择和进化思想在高维空间中寻优的方法,它不一定能寻得最优点,但是可以找到更优点。选择、交叉、变异是其具有强大信息处理能力的3个基本算子。

(1)选择算子。选择算子又称为繁殖算子,它从种群中选择出适应度高的个体,适应度越高被选择的可能性就越大。选择是遗传算法中最主要的算子,也是影响遗传算法性能最主要的因素。

(2)交叉算子。交叉算子用于模拟生物进化过程中的繁殖交配现象。交叉算子通过模拟生物进化过程,交叉组合两个染色体来产生新的染色体。交叉的主要目的在于使后代具有双亲染色体的优点。

(3)变异算子。生物在自然环境中会因为各种偶然因素而引起基因突变,遗传算法中的变异算子就是对这种现象的模拟,它的主要目的在于增强遗传算法搜索最优解的能力。

1.2遗传算法优化BP神经网络

遗传算法优化BP神经网络由3部分组成,分别是:①确定BP网络结构;②遗传算法优化;③BP网络对数据预测。通过拟合函数的输入输出参数来确定BP网络结构,遗传算法通过选择、交叉和变异对个体进行筛选,从而找到最优适应度对应的个体。个体中包含了BP网络的初始权值和阈值。遗传算法优化BP神经网络实际上是对BP神经网络权值的优化。

1.3案例分析

拟合函数:

1.4建立模型

拟合函数有两个输入参数,一个输出参数,所以BP神经网络的结构为2—5—1。即输入层有2个节点,隐含层有5个节点,输出层有1个节点。从非线性函数随机得到1 000组输入输出数据,从中随机选择用于网络训练的数据900组,用于测试网络拟合性能的数据100组。遗传算法参数设置为:种群规模为10,进化次数为50次,交叉概率为0.4,变异概率为0.2。

2粒子群优化BP神经网络模型

2.1粒子群算法原理

粒子群算法又称为粒子群优化算法或微粒群算法, 1995年由美国心理学家Eberhart和电气工程师Kennedy[45]提出。粒子群优化算法是基于群体智能理论的优化算法[6]。粒子群算法源于对鸟类捕食行为的模仿,从人工生命和演化计算理论中受到启发,用于求解最优化问题。 粒子群算法在可解空间初始化一群粒子,可以用适应度、位置、速度这3项指标来确定该粒子的特征,每个粒子都是问题的潜在最优解。粒子如鸟类觅食一样在解空间运动,粒子更新一次便计算一次适应度值,通过对新粒子的个体极值与群体极值适应度值的不断比较,不断更新个体极值和群体极值的位置。

2.2粒子群算法优化BP神经网络

粒子群算法优化BP神经网络由3部分组成[7]:①确定BP网络结构;②粒子群算法优化;③BP网络预测。BP网络结构由给定拟合函数的输入输出参数确定。粒子群算法中的每个粒子代表了BP神经网络的权值和阈值,粒子不断寻优就能找到BP网络的最佳权值和阈值。

4结语

遗传算法和粒子群优化算法有很多共同之处:①都属

于仿生算法,遗传算法主要借用生物进化过程中的“适者生存”规律;粒子群优化算法主要模拟鸟类觅食行为;②都属于全局优化方法,两种算法在解空间都随机产生初始种群,并且在全局的解空间进行搜索;③都属于随机搜索方法,遗传算法的遗传操作均属随机操作,而粒子群优化算法中的认知项和社会项都加有随机数。

由图6可以看出实验结果:粒子群算法优化BP神经网络的预测误差更小, PSOBP网络的函数拟合效果要优于GABP网络的函数拟合效果。这是因为:①遗传算法中种群的改变会破坏算法以前的知识,但对于粒子群算法,好的解知识会保留,因为该算法有记忆;②粒子群优化算法相对于遗传算法没有交叉和变异操作,粒子只通过内部速度进行更新,参数更少,实现容易。

粒子算法作为一种新兴、智能且更为高效的搜索方法,它具有调教参数少、容易实现的特点,得到越来越广泛的关注和应用。但是,它也存在一些不足,例如对于一些复杂离散的优化问题容易陷入局部最优点。作为一种新的智能优化算法,粒子群优化算法相比遗传算法在收敛性方面的研究还比较薄弱。因此,未来需要在收敛性方面对粒子群算法进行更深入的理论研究。

参考文献参考文献:

[1]付涛,王大镇,弓清忠,等. 改进神经网络自适应滑模控制的机器人轨迹跟踪控制[J]. 大连理工大学学报,2014(5):523530.

[2]钟颖,汪秉文. 基于遗传算法的BP神经网络时间序列预测模型[J]. 系统工程与电子技术,2002(4):911.

[3]徐富强,钱云,刘相国.GABP神经网络的非线性拟合[J].微计算机信息,2012,28(7):148148.

[4]乔冰琴,常晓明. 改进粒子群算法在BP神经网络拟合非线性函数方面的应用[J].太原理工大学学报,2012(5):558563.

[5]张郭军,韩琳,徐坤. 混沌免疫粒子群优化算法在BP网络训练中的应用[J]. 西安工程科技学院学报,2007(4):484488.

[6]林晓梅,吕珊珊,朱丹,等. 基于神经网络──粒子群优化算法的医学图像分割新方法[J]. 长春工业大学学报:自然科学版,2008(2):158161.

[7]李松,刘力军,翟曼. 改进粒子群算法优化BP神经网络的短时交通流预测[J]. 系统工程理论与实践,2012(9):20452049.

责任编辑(责任编辑:杜能钢)

猜你喜欢
粒子群优化算法BP神经网络遗传算法
基于自适应遗传算法的CSAMT一维反演
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
基于改进SVM的通信干扰识别
基于自适应线程束的GPU并行粒子群优化算法
基于混合粒子群算法的供热管网优化设计
基于改进支持向量机的船舶纵摇预报模型
基于改进的遗传算法的模糊聚类算法