基于遗传BP算法的神经网络及其在模式识别中的应用.pdf_第1页
基于遗传BP算法的神经网络及其在模式识别中的应用.pdf_第2页
基于遗传BP算法的神经网络及其在模式识别中的应用.pdf_第3页
基于遗传BP算法的神经网络及其在模式识别中的应用.pdf_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第21卷 第1期 2005年 3月 长 沙 交 通 学 院 学 报 JOURNAL OF CHANGSHA COMMUNICATIONS UNIVERSITY Vol 21 No 1 Mar 2005 文章编号 1000 9779 2005 01 0053 04 基于遗传BP算法的神经网络及其 在模式识别中的应用 王英健 戎丽霞 长沙理工大学 湖南 长沙 410076 摘 要 介绍了传统的遗传算法与BP算法 并分析了它们的不足 提出了一种将遗传算法 和BP算法相结合的遗传BP算法 在遗传算法的群体设计中采用小生境技术 防止优秀个体 早期退化 实验证明了此方法的正确性和有效性 关键词 BP算法 遗传算法 小生境技术 神经网络 模式识别 中图分类号 TP13 文献标识码 A 收稿日期 2004 03 26 作者简介 王英健 1958 男 长沙理工大学副教授 神经网络是近年来人工智能的一个前沿研究领域 应用日趋广泛 在语音识别 模式识别 图像处理 和工业控制等领域颇有成效 其中应用最广泛的是BP网络 1 但有效地确定神经网络的参数和结 构 一直是神经网络研究的一个重点也是一个难点 由于传统的神经网络训练算法 BP算法本质上 是一种局部寻优的方法 存在学习速度慢 容易陷入局部最优解等弊端 故需要找到一种更有效的训练 方法 遗传算法是一种随机的优化与搜索方法 算法搜索轨道有多条 具有良好的并行性 全局优化性 和稳健性 2 3 但其局部寻优能力差 不易获得全局最优解 基于此 本文将两种算法有机地结合起来 提出了遗传BP算法 并在遗传算法的群体设计中采用小生境技术 将该算法应用于对格雷码的模式 识别实例中 实验结果证明它比单纯的BP算法和遗传算法收敛速度快 而且有更好的识别结果 1 BP算法和遗传算法及其不足 1 1 BP算法 BP算法由信息的正向传递与误差的反向传播两部分组成 在正向传播过程中 输入信息从输入层 经隐含层逐层计算传向输出层 每一层神经元的输出作用于下一层神经元的输入 如果在输出层没有 得到期望的输出 则计算输出层的误差变化值 然后转向反向传播 通过网络将误差信号沿原来的连接 通路反传回来修改神经元的权值直到达到期望目标 随着应用的广泛 BP网络存在的问题也日益显现出来 主要有以下几点 1 收敛速度慢 即使一个比较简单的问题 也需成百上千次的学习训练才能收敛 2 容易陷入局部最优解 BP算法在数学上属非线性优化问题 网络输入输出间的非线性关系致 使网络的误差或能量函数是一个具有多极点的非线性空间 而BP算法一味追求的是网络误差或能量 函数的单调下降 也就是说 算法赋予网络的是只会 下坡 而不会 爬坡 的能力 正因如此 常导致网 络落入局部最小点不能自拔 而达不到全局最小点 所以 有人说它是一种急于求成的 贪心 算法 3 网络的学习 记忆具有不稳定性 一个训练结束的BP网络 当给它提供新的记忆模式时 将使 已有的连接权值打乱 导致已记忆的学习模式的信息消失 要避免这种现象 就必须将原来的学习模式 连同新加入的学习模式一起重新进行训练 4 网络结构的确定无理论指导 网络隐层的层数及隐层单元数的选取完全凭经验确定 这往往使 网络具有很大的冗余性 无形中也增加了网络的学习时间 1 2 遗传算法 遗传算法以生物进化过程为背景 模拟生物进化的步骤 将繁殖 交差 变异 竞争和选择等概念引 入到算法中 通过维持一组可行解 并通过可行解的重新组合 改进可行解在多维空间的移动轨迹和去 向 最终走向最优解 它克服了传统优化方法容易陷入局部极值的缺点 是一种全局优化算法 标准GA求解过程本质上是随机寻优过程 一般不收敛于全局最优解 在多数情况下只能得到全局 范围的次优解 综上所述 可以将GA与BP算法相结合 形成一种兼有两者之长的算法 遗传BP算法 此算 法将遗传算法的全局寻优能力与BP算法的指导性搜索思想相结合 既克服了寻优中的盲目性 又避免 了局部收敛情况的发生 图1 多层前馈神经网络 2 基于遗传BP算法的神经网络 2 1 神经网络结构模型 神经网络在模式识别 图像处理等方面的广泛应用越来越显示 了它解决问题的优越性 而其中应用最广泛的是BP网络 BP网络 就是前馈多层神经网络 它是由若干个神经元以一定的连接方式组 成的非线性系统 可以模拟复杂的 但不能用确定的数学公式表达的 非线性函数关系 这个函数关系是通过节点间连接权和节点阈值的 综合运算来实现的 本文所讨论的网络只有一个隐层 其网络结构 如图1所示 2 2 神经网络编码表示 因为要对神经网络的结构和权值同时进行训练 在训练过程中不仅要调整神经网络的权值 还要调 整神经网络的拓扑结构 4 对神经网络拓扑结构的调整 也即对隐层节点个数的调整 涉及到两方面 的问题 一个是增加 删除 一个隐层节点 将意味着增加 删除 n m n为输入节点个数 m为输出节 点个数 个与该隐层节点的连接权 另一个是增加 删除 一个隐层节点 应该相应的增加 删除 该隐层 节点的阈值 因此在神经网络的编码中 将一个隐层节点所涉及到的这两方面数据编码在一起形成一 个域 使增加 删除 一个隐层节点的操作映射为在染色体上增加 删除 一个相应的域 从而使交叉 变 异等有关的遗传操作可以很容易地实现 编码串分为三部分 第一部分表示隐层节点的个数 只有一个 编码 第二部分表示输出层的阈值 共有m个编码 第三部分是隐层节点的阈值及与输入输出节点的连 接权 由于隐层节点个数 节点阈值 连接权值都为数值 所以这里采用实数编码 编码如表1所示 表1 神经网络结构及权值编码表示 隐层节 点个数 输出点 阈值 第一个隐层节点的阈值及 与其它层节点的连接权 最后一个隐层节点的阈值及与 其它层节点的连接权 t 21 2m 11 w1 1 1 w1 n 1 w1 1 1 w2 1 m 1t w1 1 t w1 n t w2 t 1 w2 t m 3 遗传BP算法 3 1 选择策略 采用赌轮法选择策略 个体是否被选择的依据是其适应度的大小 体现了 适者生存 的自然选择原 则 使用基于适应值比例的选择策略时 首先要确定适应值的度量方法 设e是某代进化群体中某个个 45 长 沙 交 通 学 院 学 报 第21卷 体所具有的目标函数值 则其适应度定义为f 1 1 e 其中e 1 K6 K i 1 6 m j 1 1 2 y j yj 2 K 为网络 训练样本的总个数 m为输出节点的个数 3 2 遗传操作 交叉算子 采用单点交叉 在群体中按照一定的概率选择两个个体 将两个个体的部分编码互相交 换 若交叉位在第一位 则要相应的增加 删除 隐节点的阈值及其与其相连接的权值 也就是在编码的 第三部分增加 删除 相应的域 变异算子 按变异概率随机选择变异个体 变异位置的确定采用随机的方法产生 变异时 将一个 随机数加到原编码上 如果变异位在第一位 即隐节点的个数发生变异 处理方法同上面的交叉操作 BP算子 本文将BP算法应用到遗传算法中 增加了一种遗传操作 这种操作对遗传算法中每代 适应值满足一定条件的个体进行BP训练 得到新的个体 称之为BP算子 5 本文中只对最优个体进 行一定步数的BP训练 3 3 群体设计 由于是对网络的结构和权值同时进行训练 网络的隐层节点数是可变的 因此群体中个体的编码串 是不等长的 不同结构的神经网络进化的情况不同 如隐层节点数多的网络前期进化较快 使种群的多 样性退化 所以可以采用小生境技术以使选择更有长期的意义 主群体中的每个个体都来自一个小群 体 在一个小群体中 所有的个体都有相同的网络结构 不同的连接权值 不同小群体的个体在自己的小 群体内部进化 而小群体中优秀的个体则有机会作为主群体中的一个个体被交差 变异等 然后再回到 原先的小群体进行下一次的小群体内部进化 因而在整个算法中群体种类有两种 一是主群体 主群体 中有多种网络结构的个体 二是小群体 每个小群体中的所有个体有相同的网络结构 文中的算法是以主群体的进化为主线的 小群体的作用主要有 1 使不同结构的网络都能更充分 地进化 2 使各种结构的个体更公平的竞争 主群体中的个体都是某一小群体的优秀个体 是经过一定 代数演化的结果 防止真正需要的个体早期退化 3 4 遗传BP算法的步骤 1 随机产生初始种群 其中每个个体中隐节点个数用十进制整数表示 阈值和权值的初始值范围 为 10 10 用十进制浮点数来表示 2 计算初始群体中每个个体的适应度 3 初始群体中选择隐节点数相同的个体组成不同的小群体 4 对每个小群体进行m次进化 进化过程遵循一般的遗传算法 进行相应的选择 交叉和变异操 作 繁殖过程采用最优个体保留策略 然后在每个小群体中选择优秀个体来组成主群体 5 对主群体中的个体按照上面所介绍的遗传算子分别进行交叉和变异操作 然后选出其中优秀的 个体进行BP训练 6 计算主群体中每个个体的适应度 7 如果达到了预先设定的进化代数或网络的均方误差达到了给定的值 则算法结束 否则将主群 表2 模式识别任务 输入输出输入输出 0 0 0 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 体中的个体返回到相应的小群体 然后转步骤 4 4 应用举例 以表2中的模式识别学习任务为例 用本文算 法进行仿真 给出的模式识别学习任务中 在输入 位中 开头两位是噪声位 与输出模式没有关系 最 右边两位与输出之间的关系是二进制整数到它们对 应的Gray码 这个任务的复杂性在于增加了不相 关输入的单元和要求再编码有意义的输入 55第1期 王英健 戎丽霞 基于遗传BP算法的神经网络及其在模式识别中的应用 在学习过程中 为了对每个遗传算法产生的个体进行评价 首先从16个样本模式中随机地选取4 个放在一边 利用剩下的12个样本 训练集 对染色体个体所对应的网络结构进行训练 当误差达到预 定的目标值或预先确定的学习代数时 就停止训练 一旦一个网络已经学习到了判别准则 就用先前挑 选出的判别实例对它进行评价 在此例中 用学习样本的均方误差来衡量个体的优劣 在训练中制定误 差水平为0 000 1 分别用BP算法 遗传算法和本文的遗传BP算法对神经网络进行训练 当它们都达到预先设定的 误差水平时的训练步数如表3所示 可以看出 遗传BP算法比单纯的遗传算法和BP算法都有着更快 的训练速度 当遗传BP算法训练次数为500次时 对于4个测试样本 它们对应的输出如表4所示 从表中的结果看出 此方法的识别结果是准确的 表3 实验结果 误差与训练次数 算法种类误差精度迭代步数 BP算法0 010 01 057 遗传算法0 000 1135 遗传BP算法0 000 176 表4 模式识别结果 输入实际输出 1 0 0 00 000 009 0 000 002 0 1 0 10 000 008 0 999 982 1 1 1 00 999 988 0 999 938 1 1 1 10 999 984 0 000 067 5 结 语 本文针对人工神经网络的参数和结构确定困难这一问题 综合BP算法和遗传算法的优点 提出了 一种带有BP算子的遗传算法 并采用小生境技术 以调节网络的进化过程 实验证明此方法比传统的 BP算法和遗传算法训练速度快 可以达到很高的误差精度 用此方法训练后的神经网络对模式识别任 务进行识别 收到了很好的识别结果 而且本文引用了文献 4 中的神经网络的编码方案 使得遗传操 作中的交叉和变异操作变得简单易行 参考文献 1 Vittorio Maniezzo Genetic Evolution of the Neural Networks J Trans on Neural Networks 1994 5 1 39 53 2 胡师彦 混合遗传BP算法在图像识别中的应用 J 石家庄铁道学院学报 2002 15 3 5 8 3 郭晓婷 朱 岩 基于遗传算法的进化神经网络 J 清华大学学报 自然科学版 2000 40 10 116 119 4 张 敏 赵金城 全局优化神经网络拓扑结构及权值的遗传算法 J 大连大学学报 1999 20 6 9 13 5 罗 键 刘军祥 一种基于遗传算法的新型神经网络设计 J 系统工程理论与实践 2001 10 42 47 Neural Network Based on GA2BP Algorithm and Its Application in the Pattern Recognition WAN G Ying2jian RON G Li2xia Changsha University of Science and Technology Changsha 410076 China Abstract In this paper the principle and characteristics of genetic algorithm and BP algorithm are introduced Their disadvantages are analyzed A new algorithm combining the genetic algorithm and back propagation algorithm is pro

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论