一种基于遗传算法改进BP神经网络的方法技术

技术编号:10286400 阅读:113 留言:0更新日期:2014-08-06 11:31
本发明专利技术公开了一种基于遗传算法改进BP神经网络的方法,首先对BP网络进行编码:确定神经网络的结构,包括隐层个数、每一层的单元数;采用实数编码,将各层权值和阈值作为基因进行编码,编码后每个神经网络对应一条染色体;然后用遗传算法对网络进行选择优化,包含选择、交叉、变异步骤;最后对BP网络时行训练,得到最终结果;对遗传算法选择的最优个体进行解码生成新的神经网络,运用BP训练算法对新的网络进行训练,得到最终结果。本发明专利技术的方法,将遗传算法与BP网络相结合,可以充分利用两者的优点,既可以解决BP网络初始权值和阈值不易确定的问题,又能将搜索范围缩小,提高BP网络的训练速度,还可以改善局部极小问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于遗传算法改进BP神经网络的方法,首先对BP网络进行编码:确定神经网络的结构,包括隐层个数、每一层的单元数;采用实数编码,将各层权值和阈值作为基因进行编码,编码后每个神经网络对应一条染色体;然后用遗传算法对网络进行选择优化,包含选择、交叉、变异步骤;最后对BP网络时行训练,得到最终结果;对遗传算法选择的最优个体进行解码生成新的神经网络,运用BP训练算法对新的网络进行训练,得到最终结果。本专利技术的方法,将遗传算法与BP网络相结合,可以充分利用两者的优点,既可以解决BP网络初始权值和阈值不易确定的问题,又能将搜索范围缩小,提高BP网络的训练速度,还可以改善局部极小问题。【专利说明】一种基于遗传算法改进BP神经网络的方法
本专利技术涉及人工神经网络,特别涉及一种基于遗传算法改进BP神经网络的方法。
技术介绍
人工神经网络是由生物生神经网络发展而来的,是对人脑或若干基本特性的简化、抽象和模拟。其目的在于模拟大脑的某些机理与机制,实现一些特定的功能。其中BP神经网络作为一种使用最广泛的神经网络模型,在手写字体的识别、语音识别、人脸识别以及生物医学信号处理等方面已有许多实际的应用。BP神经网络又称误差反向转播网络,是一种多层前向网络,一般包含一个输入层、一个输出层以及一个或多个隐层,如图1所示。BP神经网络是一种有导师学习网络,采用基于梯度下降的误差反向传播算法进行训练,误差的计算采用最小均方误差(LMS)。按照BP算法的要求,BP神经网络中的神经元所用的激活函数必须是可导的,一般采有S型函数或线性函数。其网络的学习过程如下:首先初始化网络权值和阈值,然后通过正向传播得到输出结果,再通过误差反身传播对各层的权值和阈值进行修正。如此反复进行正向传播和反向传播的过程,直到输出误差满足给定要求或达到预先设定的最大训练次数为止。BP神经网络是人工神经网络中应用最广泛的算法,经提出了很多有效的学习算法,但是仍然存在一些缺陷:①学习收敛速度太慢;@BP神经网络采用的梯度下降法修正权值和阈值,存在局部极小问题,不能保证收敛到全局最小点;③隐层的数目和隐层单元数不易确定。各种改进的学习算法虽然能够改善BP神经网络的收敛速度,但是在实际应用中仍然不够完善,不能完全克服BP算法固有的缺陷。④网络结构、初始连接权值和阈值的选择对网络训练的影响很大,但是又无法准确获得。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供一种基于遗传算法改进BP神经网络的方法。本专利技术的目的通过以下的技术方案实现:一种基于遗传算法改进BP神经网络的方法,包含以下顺序的步骤:S1.对BP网络进行编码:确定神经网络的结构,包括隐层个数、每一层的单元数;采用实数编码,将各层权值和阈值作为基因进行编码,编码后每个神经网络对应一条染色体;S2.用遗传算法对网络进行选择优化,具体包括以下步骤:(I)初始化种群:确定种群规模N,随机生成N条染色体;(2)确定适应性函数:适应性函数用来评判个体对环境的适应性;(3)确定控制参数:控件参数包括交叉概率、变异概率和终止条件;(4)根据适应性函数计算各个体的适应度;(5)执行遗传算子:a、选择:运用选择算子从上一代种群中选择适应度高的个体;b、交叉:将选择的两个适应度高的个体作为母体,依据步骤(3)中设置的交叉概率,运用交叉算子进行交叉操作;C、变异:依据变异概率执行变异操作;(6)检验是否满足终止条件:若满足,选择适应度最大的个体,进入神经网络训练阶段;否则转步骤(4);S3.对BP网络时行训练,得到最终结果;对遗传算法选择的最优个体进行解码生成新的神经网络,运用BP训练算法对新的网络进行训练,得到最终结果。步骤S2的步骤(2)中,所述的适应性函数为神经网络误差的单调递减函数。步骤S2的步骤(5)中,所述的选择算子为轮盘赌选择法、锦标赛选择法和竞争选择法的其中一种。步骤S2的步骤(5)中,所述的交叉操作为单点交叉或是多点交叉,交叉概率选取较大值,为0.25~0.75。步骤S2的步骤(5)中,所述的变异概率取较小值,为0.001~0.1。步骤S2的步骤(6)中,所述的终止条件为以下条件之一:A、种群中个体的最大适应度是否超过预先设定值;B、进化代数是否超过预先设定值;C、种群中个体的平均适应度是否超过预先设定值。本专利技术与现有技术相比,具有如下优点和有益效果:遗传算法利用了生物进化和遗传的思想,比起其他传统优化方法有明显的优势:①遗传算法处理的对象是参数编码集。这种编码操作,使得遗传算法可以直接对结构对象进行操作。②遗传算法具有自组织、自适应性,不需要事先描述问题的全部特点,可以解决一些复杂的非结构化问题,具有很强的鲁棒性。③搜索过程基于目标函数值的评价信息,没有优化函数必须可导的要求。④采用概率的变迁规则来指导搜索方向,不采用确定性搜索规则。⑤思想简单,实现步骤规范,便于实现。遗传算法具有快速寻优的能力和良好的全局搜索能力,能够很快逼近最优结果,但是局部搜索能力不足;而8?网络具有良好的自组织和自学习能力,局部寻优能力强。因此将遗传算法与BP网络相结合,训练时先用遗传算法对神经网络的权值和阈值进行寻优,再利用BP网络来进行精确求解,可以充分利用两者的优点。既可以解决BP网络初始权值和阈值不易确定的问题,又能将搜索范围缩小,提高BP网络的训练速度,还可以改善局部极小问题。此外,针对BP网络初始结构不易确定的问题,也可以用遗传算法进行优化。初始时随机生成不同结构(即隐层单元数不同)的BP网络,然后通过遗传算法进行选择优化,最终选择最优的个体解码生成新的BP网络,再利用BP算法进行网络的训练。【专利附图】【附图说明】图1为BP神经网络的结构示意图; 图2为本专利技术所述的一种基于遗传算法改进BP神经网络的方法的流程图。【具体实施方式】下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。如图2,一种基于遗传算法改进BP神经网络的方法,包含以下顺序的步骤:S1.对BP网络进行编码:确定神经网络的结构,包括隐层个数、每一层的单元数;采用实数编码,将各层权值和阈值作为基因进行编码,编码后每个神经网络对应一条染色体;S2.用遗传算法对网络进行选择优化,具体包括以下步骤:( I)初始化种群:确定种群规模N,随机生成N条染色体;(2)确定适应性函数:适应性函数用来评判个体对环境的适应性,适应性函数为神经网络误差的单调递减函数;(3)确定控制参数:控件参数包括交叉概率、变异概率和终止条件;(4)根据适应性函数计算各个体的适应度;(5)执行遗传算子:a、选择:运用选择算子从上一代种群中选择适应度高的个体,选择算子为轮盘赌选择法、锦标赛选择法和竞争选择法的其中一种;b、交叉:将选择的两个适应度高的个体作为母体,依据步骤(3)中设置的交叉概率,运用交叉算子进行交叉操作,交叉操作为单点交叉或是多点交叉,交叉概率选取较大值,为 0.25 ?0.75 ;C、变异:依据变异概率执行变异操作,变异概率取较小值,为0.001?0.1 ;(6)检验是否满足终止条件:若满足,选择适应度最大的个体,进入神经网络训练阶段;否则转步骤(4);终止条件为以下条件之一:A、种群中个体的最大适应度是否超过预先本文档来自技高网
...

【技术保护点】
一种基于遗传算法改进BP神经网络的方法,其特征在于,包含以下顺序的步骤:S1.对BP网络进行编码:确定神经网络的结构,包括隐层个数、每一层的单元数;采用实数编码,将各层权值和阈值作为基因进行编码,编码后每个神经网络对应一条染色体;S2.用遗传算法对网络进行选择优化,具体包括以下步骤:(1)初始化种群:确定种群规模N,随机生成N条染色体;(2)确定适应性函数:适应性函数用来评判个体对环境的适应性;(3)确定控制参数:控件参数包括交叉概率、变异概率和终止条件;(4)根据适应性函数计算各个体的适应度;(5)执行遗传算子:a、选择:运用选择算子从上一代种群中选择适应度高的个体;b、交叉:将选择的两个适应度高的个体作为母体,依据步骤(3)中设置的交叉概率,运用交叉算子进行交叉操作;c、变异:依据变异概率执行变异操作;(6)检验是否满足终止条件:若满足,选择适应度最大的个体,进入神经网络训练阶段;否则转步骤(4);S3.对BP网络时行训练,得到最终结果;对遗传算法选择的最优个体进行解码生成新的神经网络,运用BP训练算法对新的网络进行训练,得到最终结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:肖南峰
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1