预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第21卷第1期长沙交通学院学报Vol.21No.1 2005年3月JOURNALOFCHANGSHACOMMUNICATIONSUNIVERSITYMar.2005 文章编号:1000-9779(2005)01-0053-04 基于遗传BP算法的神经网络及其 在模式识别中的应用 王英健,戎丽霞 (长沙理工大学,湖南长沙410076) 摘要:介绍了传统的遗传算法与BP算法,并分析了它们的不足。提出了一种将遗传算法 和BP算法相结合的遗传BP算法,在遗传算法的群体设计中采用小生境技术,防止优秀个体 早期退化。实验证明了此方法的正确性和有效性。 关键词:BP算法;遗传算法;小生境技术;神经网络;模式识别 中图分类号:TP13文献标识码:A 神经网络是近年来人工智能的一个前沿研究领域,应用日趋广泛,在语音识别、模式识别、图像处理 和工业控制等领域颇有成效。其中应用最广泛的是BP网络[1]。但有效地确定神经网络的参数和结 构,一直是神经网络研究的一个重点也是一个难点。由于传统的神经网络训练算法———BP算法本质上 是一种局部寻优的方法,存在学习速度慢、容易陷入局部最优解等弊端,故需要找到一种更有效的训练 方法。遗传算法是一种随机的优化与搜索方法,算法搜索轨道有多条,具有良好的并行性、全局优化性 和稳健性[2,3],但其局部寻优能力差,不易获得全局最优解。基于此,本文将两种算法有机地结合起来, 提出了遗传BP算法,并在遗传算法的群体设计中采用小生境技术。将该算法应用于对格雷码的模式 识别实例中,实验结果证明它比单纯的BP算法和遗传算法收敛速度快,而且有更好的识别结果。 1BP算法和遗传算法及其不足 1.1BP算法 BP算法由信息的正向传递与误差的反向传播两部分组成。在正向传播过程中,输入信息从输入层 经隐含层逐层计算传向输出层,每一层神经元的输出作用于下一层神经元的输入。如果在输出层没有 得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接 通路反传回来修改神经元的权值直到达到期望目标。 随着应用的广泛,BP网络存在的问题也日益显现出来,主要有以下几点。 1)收敛速度慢。即使一个比较简单的问题,也需成百上千次的学习训练才能收敛。 2)容易陷入局部最优解。BP算法在数学上属非线性优化问题,网络输入输出间的非线性关系致 使网络的误差或能量函数是一个具有多极点的非线性空间,而BP算法一味追求的是网络误差或能量 函数的单调下降,也就是说,算法赋予网络的是只会“下坡”而不会“爬坡”的能力。正因如此,常导致网 络落入局部最小点不能自拔,而达不到全局最小点。所以,有人说它是一种急于求成的“贪心”算法。 3)网络的学习、记忆具有不稳定性。一个训练结束的BP网络,当给它提供新的记忆模式时,将使 已有的连接权值打乱,导致已记忆的学习模式的信息消失,要避免这种现象,就必须将原来的学习模式 连同新加入的学习模式一起重新进行训练。 4)网络结构的确定无理论指导。网络隐层的层数及隐层单元数的选取完全凭经验确定,这往往使 收稿日期:2004-03-26 作者简介:王英健(1958—),男,长沙理工大学副教授. 54长沙交通学院学报第21卷 网络具有很大的冗余性,无形中也增加了网络的学习时间。 1.2遗传算法 遗传算法以生物进化过程为背景,模拟生物进化的步骤,将繁殖、交差、变异、竞争和选择等概念引 入到算法中,通过维持一组可行解,并通过可行解的重新组合,改进可行解在多维空间的移动轨迹和去 向,最终走向最优解。它克服了传统优化方法容易陷入局部极值的缺点,是一种全局优化算法。 标准GA求解过程本质上是随机寻优过程,一般不收敛于全局最优解,在多数情况下只能得到全局 范围的次优解。 综上所述,可以将GA与BP算法相结合,形成一种兼有两者之长的算法———遗传BP算法。此算 法将遗传算法的全局寻优能力与BP算法的指导性搜索思想相结合,既克服了寻优中的盲目性,又避免 了局部收敛情况的发生。 2基于遗传BP算法的神经网络 2.1神经网络结构模型 神经网络在模式识别、图像处理等方面的广泛应用越来越显示 了它解决问题的优越性,而其中应用最广泛的是BP网络。BP网络 就是前馈多层神经网络,它是由若干个神经元以一定的连接方式组 成的非线性系统,可以模拟复杂的、但不能用确定的数学公式表达的 非线性函数关系(这个函数关系是通过节点间连接权和节点阈值的 综合运算来实现的)。本文所讨论的网络只有一个隐层,其网络结构 图1多层前馈神经网络 如图1所示。 2.2神经网络编码表示 因为要对神经网络的结构和权值同时进行训练,在训练过程中不仅要调整神经网络的权值,还要调 整神经网络的拓扑结构[4]。对神经网络拓扑结构的调整,也即对隐层节点个数的调整