基于遗传算法的bp神经网络的应用

上传人:mg****85 文档编号:34024838 上传时间:2018-02-20 格式:DOC 页数:19 大小:263.52KB
返回 下载 相关 举报
基于遗传算法的bp神经网络的应用_第1页
第1页 / 共19页
基于遗传算法的bp神经网络的应用_第2页
第2页 / 共19页
基于遗传算法的bp神经网络的应用_第3页
第3页 / 共19页
基于遗传算法的bp神经网络的应用_第4页
第4页 / 共19页
基于遗传算法的bp神经网络的应用_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于遗传算法的bp神经网络的应用》由会员分享,可在线阅读,更多相关《基于遗传算法的bp神经网络的应用(19页珍藏版)》请在金锄头文库上搜索。

1、1基于遗传算法的 BP 神经网络的应用-非线性函数拟合 摘要 人工神经网络在诸多领域得到应用如信息工程、自动控制、电子技术、目标识别、数学建模、图像处理等领域,并且随着神经网络算啊发的不断改进以及其他新算法的结合,使其应用的领域越来越广。BP神经网络是目前神经网络领域研究最多应用最广的网络,但BP神经网络学习算法易陷入局部极小的缺陷,本文采用遗传算法来优化BP神经网络的性能。首先采用遗传算法来优化BP神经网络的权值和阈值,然后将这些优化值赋给网络得到优化的BP神经网络,最后用MATLAB仿真平台,对非线性函数的逼近拟合和极值寻优问题进行实验。数值仿真结果表明:经遗传算法优化的BP神经网络能有效

2、地避免原始BP神经网络容易出现的局部极小的缺陷,且具有收敛速度快和精度高等优点。关键词:BP神经网络 遗传算法 MATLAB 结构优化Abstract In recent years, artificial neural network gradually attention has been paid into the hot area of research in many fields have been involved in electronic applications such as other fields have a wide range of applications,

3、and also continued to expand its applications. To alleviate the shortcoming of easily sinking into the local minimum existing in the BP neural network, the paper exploits the genetic algorithm to optimize the BP neural network. First of all, the genetic algorithm is utilized to optimize the weight v

4、alues as well as the threshold values of the BP neural network. Subsequently, by using the optimized weight values and threshold values, we are able to get the improved BP neural network. Furthermore, we employ the simulation data to measure the performance of the improved BP neural network. The num

5、erical results indicate that the optimized BP neural network can effectively overcome the local minimum of the original BP neural network and outperform the original BP neural network in the aspects of 2convergence speed and computation accuracy.KeywordsBP neural network, genetic algorithm, optimiza

6、tion1.引言前馈神经网络(BP 模型)其非线性逼近能力是它博得青睐的主要原因,而BP 算法作为前馈网络的主要学习算法,则无可争议的对其推广应用起了举足轻重的促进作用。BP算法因其简单、易行、计算量小、并行性强等优点,是目前神经网络训练采用最多也是最为成熟的训练算法之一。然而,由于BP 算法是一种梯度下降搜索方法,因而不可避免地存在固有的不足,如易陷入误差函数的局部极值点,而且对于较大搜索空间、多峰值和不可微函数也不能有效搜索到全局极小点,而遗传算法则是克服这一不足的有效解决方法,主要是因为遗传算法是一种全局优化搜索算法 3,因而能够避开局部极小点,而且在进化过程中也无需提供所要解决问题的梯

7、度信息。2.BP神经网络2.1 BP神经网络的特点在20世纪80年代,Rumelhart等人首次提出了BP神经网络算法,BP神经网络的本值就是反向传播神经网络(Back Propagation Neural Network)。BP神经网络与其他网络相比具有其独特的特点:分布式存储方式,大规模并行处理,自学习和自适应能力,容错性及鲁棒性好 2。2.2 BP神经网络模型BP神经网络具有一个输入层、一个输出层以及若干隐含层,其本质是一种多层前馈神经网 1。在BP神经网络中每一层的神经元都不与相同层的神经元相连接,这是由于在神经网络中各层之间是以全连接方式连接到一起构成网络的,因此各层的神经元只能接受

8、下层神经元送来的激活信号,并向多层映射网传递修正误差及反馈,BP网络的这种结果使得他能在参数选择合理时收敛点较小的均方误差。对许多实际问题的解决都是利用BP网络的这种结构特点,如模式识别、预测、控制等方面,这3就使得BP网络成为目前应用最为广泛的一种神经网络。下面以一个四层的BP神经网络来介绍BP网络的基本结构,结构如图1所示,该网络有一个输入层、两个隐含层、一个输出层,其中x i(p)(i=1,2,.n)表示输入变量,其个数为n即输入层节点个数为n,两个隐含层的节点个数分别为l和s ,m表示输出层的节点数,y k(p)(k=1,2,.m)表示输出层节点输出。在神经网络中每一个神经元都可以用一

9、个节点来表示,而神经网络的隐含层是可变的可以是单层、双层和多层。通常情况下采用Sigmoidal型函数表示隐含层节点,采用Sigmoidal型函数或者线性函数表示输入和输出节点。图1 BP神经网络结构图表3. 遗传算法3.1 遗传算法的原理遗传算法(Genetic Algorithms)是1962年由美国Michigan大学Holland教授提出的模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法 4。由于遗传算法的寻优能力的并行性高并且具有自适应性,使其在诸多领域都得到了迅速的发展如函数优化、机器学习等,同时取得了较好的效果。遗传算法中的操作步骤与生物遗传和进化的步骤极为相似。它

10、把自然界“优胜劣态,适者生存”的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过4变异遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度值差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。这样反复循环,直至满足条件。3.2 遗传算法的基本操作3.2.1 选择操作 选择操作是指从旧群体中以一定概率选择个体到新群体中,个体被选中的概率跟适应度值有关,个体使用度质越好,被选中的概率越大。3.2.2交叉操作交叉操作是指从个体中选择两个个体,通过两个染色的交换组合,来产生新的优秀个体 5。交叉过程为从群体中任选两个染色体,随机选择一点或多点染色体

11、位置进行交换。交叉操作图如图2所示。A:1100 0101 1111 交叉 A:1100 0101 0000B:1111 0101 0000 B:1111 0101 1111图2 交叉操作3.3.3变异操作变异操作是指从群体中任选一个个体,选择染色体中的一点进行变异以产生更优秀的个体。变异操作如图3所示。A:1100 0101 1111 A:1100 0101 1101图3 变异操作遗传算法具有高效启发式搜索、并行计算等特点,目前已经应用在函数优化、组合优化以及生产调度等方面。3.3 遗传算法的基本要素遗传算法的基本要素包括染色体编码方适应度函数、遗传操作和运行参数。其中染色体编码方法是指个体

12、的编码方法,目前包括二进制法、实数法等。二进制法是指把个体编码成为一个二进制串,实数法是指把个体编码成为一个实数串。5适应度函数是指根据目标编写的计算个体适应度值的函数,通过适应度值函数计算每个个体的适应度值,提供给选择算子进行选择。遗传操作是指选择操作、交叉操作和变异操作。运行参数是遗传算法在初始化时确定的参数,主要包括群体大小M、遗传代数G、交叉概率Pc和变异概率Pm。4. 遗传算法优化BP神经网络4.1 算法流程遗传算法优化BP神经网络算法流程 6如图4所示。N GA 对初始值编码BP 神经网络训练得到误差作为适应度值选择操作计算适应度值变异操作 交叉操作 权值阈值更新计算误差获取最优权

13、值阈值初始 BP 神经网络权值阈值确定网络拓扑结构满足结束条件满足结束条件输入数据数据预处理遗传算法部分 BP 神经网络部分6N Y Y图 4 算法流程遗传优化算法优化 BP 神经网络分为 BP 神经网络结构确定、遗传算法优化和BP 神经网络预测 3 个部分。其中,BP 神经网络结构确定部分根据拟合函数输入输出参数个数确定 BP 神经网络结构,进而确定遗传算法个体的长度。遗传算法优化使用遗传算法优化 BP 神经网络的权值和阈值,种群中的每个个体都包含了一个网络所有权值和阈值 7,个体通过适应度函数计算个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应个体。BP 神经网络预测用遗

14、传算法得到最优个体对网络初始权值和阈值赋值,网络经训练后预测函数输出。拟合的非线性函数为 ,有 2 个输入参数、 1 个输出参数,所以21xy设置的 BP 神经网络结构为 2-5-1,即输入层有 2 个节点,隐含层有 5 各节点,输出层有 1 个节点,共有 2*5+5*1=15 个权值,5+1=6 个阈值,所以遗传算法个体编码长度为 15+6=21.从非线性函数中随机得到 2000 组输入输出数据,从中随机选择1900 组作为训练数据,用于网络训练,100 组作为测试数据。把训练数据预测误差绝对值和作为适应度值,个体适应度值越小,该个体越优。4.2 遗传算法实现遗传算法优化神经网络是用遗传算法

15、来优化 BP 神经网络的初始权值和阈值,使优化后的 BP 神经网络能够更好的预测输出 8。遗传算法优化 BP 神经网络的实现步骤如下:1 种群初始化个体编码为实数编码,每个个体均为一个实数串,由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值 4 部分组成。个体包含了仿真预测,得到结果7神经网络全部权值和阈值,在网络结构已知的情况下,就可以构成一个结构、权值、阈值确定的神经网络。2 适应度函数根据个体得到BP 神经网络的初始权值和阈值,用训练数据训练BP 神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和 E 作为个体适应度值F,计算公式为 (1-1) )(

16、1ni iioyabskF式中 n 为网络输出节点数; yi 为BP 神经网络第 i 个节点的期望输出;o i 为第 i 个节点的预测输出; k 为系数。3 选择操作遗传算法遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本文选择轮盘赌法,即基于适应度比例的选择策略,每个个体 i 的选择概率 pi 为(1-2)iiFkf/(1-3)Njjiifp1式中, Fi 为个体 i 的适应度值,由于适应度值越小越好,所以在个体选择前对适应度值求倒数; k 为系数; N 为种群个体数目。4 交叉操作由于个体采用实数编码,所以交叉操作方法采用实数交叉法 9,第 k 个染色体ak 和第 l 个染色体 ai 在 j 位的交叉操作方法如下:(1-4)baakjljlj ljkjj )1(式中,b是0,1间的随机数。5 变异操作8选取第 i 个个体的第 j 个基因 ai

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号