当前位置:首页 > 基于改进遗传算法的BP神经网络自适应优化设计概要
第30卷第4期重庆大学学报(自然科学版Vol.30 No.4 2007年4月Journal of Chongqing University(N tur l Science Editi onAp r.2007
文章编号:10002582X(20070420091206
基于改进遗传算法的BP神经网络自适应优化设计3 柴 毅,尹宏鹏,李大杰,张 可 (重庆大学自动化学院,重庆 400030
摘 要:BP(Back Pr opagati on神经网络在网络训练中存在着局部最优问题,其算法收敛过慢、局部收敛不理想,影响其工作性能.针对以上不足以及传统神经网络设计规模庞大等问题,提出了一种由EG A(改进的遗传算法确定网络拓扑结构和训练网络的方法,该方法通过实数编码、自适应多点变异等操作有效地优化了网络拓扑结构和网络参数,从而有效缩小了网络规模和提高了BP网络训练的速度以及收敛的有效性.最后结合了番茄常见病害诊断的实例说明了此方法的可行性.
关键词:改进遗传算法;BP神经网络结构;多点自适应变异;病害诊断 中图分类号:TP391文献标志码:A
BP型神经网络是一种多层前馈型网络,它是目前应用最广泛且使用最成熟的神经网络模型之一.通过深入研究发现BP算法中存在两个主要问题:一是从数学上看多层感知器算法是一个非线性优化问题,由于采用了传统的无约束最小化方法来实现误差函数的极小化,因此不可避免地存在有局部极小问题;二是神经网络的设计主要依据设计者的经验在大样本空间反复实验来进行选取,尚无理论上的指导.因此在神经网络的初始连接权以及网络结构的选择上具有很大的随机性,很难选取具有全局性的初始点,因而网络求得全局最优的可能性小.
遗传算法G A(Genetic A lgorith m是基于生物进化原理的一种具有鲁棒性的自适应优化方法[1].遗传算法遵循通过基于问题样本适应度函数对初始群体选择、交叉和变异操作,来指导学习和确定搜索的方向.由于采用种群的方式组织搜索,所以它
可以在全局解空间内的多个区域内寻求最优解,而且特别适合大规模并行处理.所以遗传算法和BP网络的结合正好优劣互补.文献[224]表明,遗传算法和神经网络的结合对于寻求全局最优解其效果要优于单个的使用遗传算法或神经网络.但传统的遗传算法存在着收敛过慢,采用二进制编码导致的编码过长、计算量过大等问题.本文在传统的遗传算法的基础上通过引入实数编码、有竞争的选择继承、多点交叉、多点自适变异等操作,充分结合遗传算法和BP神经网络的长处提出了一种使用遗传算法在全局解空间内对BP神经网络拓扑结构和网络参数进行自适应的动态调整,从而获得网络的最优设计的新方法.文章最后以番茄病害诊断系统为仿真实例,验证了该方法的有效性.
1 问题的提出
由于遗传算法的搜索不依赖梯度信息,也不需要求解函数可微,只需要求解适应度函数在约束条件下可解.并且遗传算法具有全局搜索的特性,用遗传算法优化优化神经网络的连接权和网络结构,可以较好地克服BP神经网络的初始权值的随机性和网络结构确定过程中所带来的网络振荡,以及网络极易陷入局部解问题,并且有效提高神经网络的泛化能力.因此,利用遗传算法全局性搜索的特点,寻找最为合适的网络连接权和网络结构的方法来改变BP算法依赖梯度信息的指导,从而达到对网络结构和网络初始连接权值、阀值的最优配置.
在本文中引入了开关系数K,表示神经网络节点间的连接关系.其取值为1或0,分别表示两节点间有否连接.遗传-神经网络的优化问题数学描述如下:
3收稿日期:2006212222
基金项目:国家863计划资助项目(2001AA113520;2002AA243031
作者简介:柴毅(19622,重庆大学教授,博士,研究方向为人工智能与专家系统,数字信号处理与模式识别.
(Tel.:023265106464;E2mail:Chaiyi@cqu.edu.cn.
m in E1(w,v,θ,r=1 2 6N1 k=1 6n t=1
[y k(t-^y k(t]2
s.t w∈R m×p, v∈R p×n,θ∈R p,r∈R n (1 其中E
1为网络总的误差,y k
(t为教师信号,^y k (t为网络实际输出
^y k(t=f{6p j=1v j t?f[6m i=1w i j?x i(t+θj]}+r t (2 设E 2= 1
N-N16 N k=N1 6n t=1
[y k(t-^y k(t]2为检测样
本平均均方误差.表示对网络输出数据可靠性的估计. E2小,网络输出的可靠性大一些,反之,网络输出就不大可靠.
在神经网络的应用过程中,由于被逼近样本的性质不能精确知道,因此即使在网络误差E
1
为零的条件 下,也未必能保证E 2达到要求.往往会出现E 1 非常 小,而E 2
却无法满足要求.这就是所谓的“过拟合”现
共分享92篇相关文档