毕业设计论文基于遗传算法的BP神经网络的优化问题研究.doc
利用遗传算法优化BP神经网络初步研究
1.BP 算法的学习速度很慢,其原因主要有:①由于 BP 算法本质上为梯度下降法,而它 所要优化的目标函数又非常复杂,因此,必然会出现“锯齿形现象” ,这使得 BP 算法低效; ②存在麻痹现象, 由于优化的目标函数很复杂, 它必然会在神经元输出接近 0 或 1 的情况下, 出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;③为了使网络 执行 BP 算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先 赋予网络,这种方法将引起算法低效。 2.网络训练失败的可能性较大,其原因有:①从数学角度看,BP 算法为一种局部搜索 的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷 入局部极值,使训练失败;②网络的逼近、推广能力同学习样本的典型性密切相关,而从问 题中选取典型样本实例组成训练集是一个很困难的问题。 3.网络结构的选择: 尚无一种统一而完整的理论指导,一般只能由经验选定。为此, 有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性 质。因此,应用中如何选择合适的网络结构是一个重要的问题。 4.新加入的样本要影响已学习成功的网络, 而且刻画每个输入样本的特征的数目也必须 相同。 5.采用 s 型激活函数,由于输出层各神经元的理想输出值只能接近于 1 或 0,而不能打 到 1 或 0,因此设置各训练样本的期望输出分量时,不能设置为 1 或 0,设置 0.9 或 0.1 较为 适宜。 3 遗传算法 遗传算法是 20 世纪 60 年代中期,美国密执根大学的 John Holland 在他人工作的基础 上提出并建立起来的。 它以自然选择和遗传理论为基础, 将生物进化过程中适者生存原则与 群体内部染色体的随机信息交换机制相结合产生的一种全局寻优搜索算法。 它将问题空间中 的可能解看作是群体里的类似于染色体的个体, 并将每一个个体编码成符号串的形式。 按照 适应度函数计算出函数值,然后依据函数值,模拟生物进化过程,进行选择、交叉、变异等 操作,一代一代地不断进化,最终得到最优解。 3.1 遗传算法的特点: ①遗传算法从问题解的中集开始嫂索,而不是从单个解开始。 这是遗传算法与传统优 化算法的极大区别。传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。 遗传算法从串集开始搜索,复盖面大,利于全局择优。 ②遗传算法求解时使用特定问题的信息极少,容易形成通用算法程序。 由于遗传算法 使用适应值这一信息进行搜索, 并不需要问题导数等与问题直接相关的信息。 遗传算法只需 适应值和串编码等通用信息,故几乎可处理任何问题。 ③遗传算法有极强的容错能力 遗传算法的初始串集本身就带有大量与最优解甚远的信 息;通过选择、交叉、变异操作能迅速排除与最优解相差极大的串;这是一个强烈的滤波过 程;并且是一个并行滤波机制。故而,遗传算法有很高的容错能力。 ④遗传算法中的选择、交叉和变异都是随机操作,而不是确定的精确规则。 这说明遗 传算法是采用随机方法进行最优解搜索, 选择体现了向最优解迫近, 交叉体现了最优解的产 生,变异体现了全局最优解的复盖。 ⑤遗传算法具有隐含的并行性。 4 遗传算法优化神经网络 遗传算法优化神经网络主要包括三方面:网络结构优化、权值优化、学习规则优化,这 里主要讨论的是权值优化。 首先,用遗传算法对初始权值分布进行优化,在解空间中找出一个较好的搜索空间;然 后,再用 BP 算法在这个较小的解空间中搜索出最优解。用改进的遗传算法优化神经网络权
BP神经网络分类器优化技术研究
BP神经网络分类器优化技术研究BP神经网络是一种常用的深度学习模型,具有强大的非线性映射能力和自适应学习能力。
然而,其性能受到多种因素影响,如网络结构、学习率、迭代次数等。
因此,研究如何优化BP神经网络分类器的性能,提高其准确率和泛化能力,具有重要意义。
BP神经网络分类器是一种有监督学习算法,通过反向传播算法调整网络权重,使输出结果更接近目标值。
然而,传统的BP神经网络分类器存在一些问题,如易陷入局部最小值、过拟合等。
因此,研究如何优化BP神经网络分类器的性能,提高其鲁棒性和泛化能力,具有重要意义。
为了提高BP神经网络分类器的性能,许多研究者提出了各种优化算法和技巧。
例如,有些人通过改变网络结构,增加隐藏层或神经元数量,以提高模型的表达能力。
有些人通过采用不同的激活函数,如ReLU、sigmoid等,以提高模型的非线性映射能力。
还有些人通过引入正则化项,如LL2正则化,以减少过拟合现象。
本文提出了一种基于遗传算法的BP神经网络分类器优化方法。
该方法采用遗传算法自动调整网络结构、学习率、迭代次数等超参数,以获得最佳的网络性能。
具体实现步骤如下:初始化BP神经网络分类器的超参数,如学习率、迭代次数等。
利用遗传算法自动调整超参数,以获得最佳的网络性能。
具体来说,通过交叉、变异等操作,生成新的超参数组合,并计算其适应度值(即网络性能的评价指标,如准确率、召回率等)。
选择适应度值较高的超参数组合进行进一步优化,直到达到预设的停止条件(如迭代次数或准确率阈值)。
通过对比实验,我们发现采用遗传算法优化的BP神经网络分类器在处理多种数据集时,均取得了比传统BP神经网络分类器更好的性能。
具体来说,实验结果显示,优化后的BP神经网络分类器在准确率、召回率等指标上均有显著提高,同时过拟合现象也得到了有效控制。
尽管我们采用遗传算法优化了BP神经网络分类器的性能,但是仍存在一些问题需要进一步探讨。
例如,如何更有效地评价网络性能,以及如何处理不同类型的数据集等问题。
遗传算法优化确定BP神经网络的遥感图像分类
遗传算法优化确定BP神经网络的遥感图像分类遥感图像分类是遥感技术应用的重要方向之一,其主要目的是根据遥感图像上包含的信息对不同类别的地物进行自动划分和分类。
由于遥感图像存在着复杂的光谱、空间和时间相关性,因此其分类任务具有一定的难度。
为了提高遥感图像分类的准确度和可靠性,近年来,研究者们开始尝试采用神经网络等方法进行分类优化。
其中BP神经网络是一种常用的方法,它具有学习能力强、处理能力高等优点,但是其性能往往会受到参数设置的影响,因此如何优化BP神经网络成为了一个热门的研究方向。
遗传算法是一种基于自然选择和遗传变异机制的优化算法,其优点是具有全局搜索能力、可以处理非线性优化问题、不易陷入局部最优等。
因此,采用遗传算法来优化BP神经网络在遥感图像分类中应用的可行性被越来越多地研究和验证。
1. 特征提取:对遥感图像进行初步处理,提取出有用的特征信息,包括光谱、空间和纹理等多个维度的特征。
2. 数据预处理:将提取出来的特征进行归一化处理,消除量纲差异和数据离散化等影响因素。
3. BP神经网络建模:根据预处理后的数据,采用BP神经网络作为分类模型,确定神经网络的结构和参数,包括隐含层神经元个数、学习速率、动量系数等。
4. 遗传算法优化:采用遗传算法来搜索最佳的BP神经网络参数组合,优化网络模型的性能。
具体来说,将BP神经网络的结构和参数进行编码,构建适应度函数,通过选择、交叉和变异等基本遗传算子进行群体演化,搜索适应度函数最大的BP神经网络参数组合,从而得到最终的优化结果。
5. 训练模型:根据优化后的BP神经网络参数组合,对遥感图像进行训练,不断调整网络权值和阈值,直至达到收敛条件。
6. 测试预测:将训练好的模型应用到新的未知遥感图像上,对其进行分类预测,在验证集和测试集上进行性能评估,并与其他分类方法进行比较。
总体来说,遗传算法优化BP神经网络的遥感图像分类方法具有较高的效率和准确率。
但是,由于其需要进行大量的参数调节和计算,因此需要充分考虑计算时间和资源的限制,从而使其成为一个更为普及和实用的优化方法。
一种基于改进遗传算法的神经网络优化算法研究
一种基于改进遗传算法的神经网络优化算法研究一、本文概述随着技术的快速发展,神经网络作为其中的一种重要工具,已广泛应用于各种领域,如语音识别、图像识别、自然语言处理等。
然而,神经网络的性能往往受到其参数优化的影响,因此如何有效地优化神经网络参数成为了当前研究的热点。
遗传算法作为一种优化搜索算法,因其全局搜索能力强、易于与其他算法结合等优点,被广泛应用于参数优化问题。
本文旨在研究一种基于改进遗传算法的神经网络优化算法,旨在提高神经网络的性能,为神经网络的应用提供更好的参数优化方法。
本文首先介绍了神经网络和遗传算法的基本原理和应用现状,然后详细阐述了改进遗传算法的设计和实现过程,包括算法的编码方式、初始种群生成、适应度函数设计、遗传操作等关键步骤。
在此基础上,我们将改进遗传算法应用于神经网络的参数优化,通过对比实验验证了改进遗传算法在神经网络优化中的有效性和优越性。
我们对全文进行了总结,指出了研究中存在的不足和未来的研究方向。
本文的研究成果不仅有助于提升神经网络的性能,还可以为其他优化问题提供新的解决方案。
本文的研究方法和思路也可以为其他研究者提供有益的参考和借鉴。
二、神经网络与遗传算法概述神经网络是一种模拟人脑神经元连接方式的计算模型,通过调整网络中的权重和偏置来逼近复杂的非线性函数。
神经网络具有很强的自适应性,能够学习和识别各种模式,因此在图像识别、语音识别、自然语言处理等领域取得了显著的成果。
然而,神经网络的训练过程往往涉及到大量的参数优化问题,如何高效地找到最优解成为了一个重要的研究问题。
遗传算法是一种基于自然选择和遗传学原理的优化搜索算法。
它通过模拟生物进化过程中的选择、交叉、变异等操作,在解空间中寻找最优解。
遗传算法具有全局搜索能力强、易于并行处理等特点,因此在很多优化问题中得到了广泛的应用。
然而,遗传算法也存在着搜索速度慢、容易陷入局部最优解等问题。
为了克服神经网络和遗传算法各自的缺点,研究人员开始探索将两者结合起来的方法。
遗传算法优化确定BP神经网络的遥感图像分类
遗传算法优化确定BP神经网络的遥感图像分类【摘要】本文介绍了遗传算法优化确定BP神经网络在遥感图像分类中的应用。
首先介绍了遗传算法在优化BP神经网络中的作用,然后分析了遥感图像分类的挑战。
接着详细解释了遗传算法优化确定BP神经网络的原理,并设计了实验来验证该方法的有效性。
通过实验结果分析,论证了该方法的优势。
总结了遗传算法优化确定BP神经网络在遥感图像分类中的优势,并展望了未来的研究方向。
通过本文的研究,可以更好地理解和应用遗传算法优化确定BP神经网络在遥感图像分类中的价值和潜力。
【关键词】遗传算法、BP神经网络、遥感图像分类、优化、实验设计、实验结果分析、优势、未来展望1. 引言1.1 背景介绍遥感图像分类是利用遥感技术获取的大量图像数据,通过对这些数据进行分析和分类,以实现对地面物体和地物的识别和分类。
随着遥感技术的不断发展和普及,遥感图像分类在农业、城市规划、环境监测等领域都起着重要作用。
1.2 研究意义遥感图像分类是遥感技术应用的重要领域之一,对于地质勘探、环境监测、农业发展等领域具有重要意义。
传统的遥感图像分类方法存在着复杂的特征提取和分类器设计问题,导致分类结果不够准确和稳定。
而遗传算法优化确定BP神经网络的方法,可以有效克服传统方法的问题,提高分类准确性和稳定性。
1.3 相关研究近年来,遗传算法优化确定BP神经网络在遥感图像分类领域的研究日益受到关注。
许多学者已经进行了大量工作,探讨了遗传算法优化确定BP神经网络在遥感图像分类中的应用和效果。
有研究者提出了一种基于遗传算法优化BP神经网络的遥感图像分类方法,该方法能够有效提高分类结果的准确性和稳定性。
还有研究者通过对遥感图像分类数据集进行实验验证,证明了遗传算法优化确定BP神经网络在处理大规模遥感图像分类任务时具有很好的性能。
还有一些研究者对遗传算法优化确定BP神经网络的原理和优化方法进行了深入探讨,为进一步提高遥感图像分类的精度和效率提供了重要参考。
基于改进的自适应遗传算法优化BP神经网络
基于改进的自适应遗传算法优化BP神经网络吴陈;王和杰【摘要】In the early stage of adaptive genetic algorithm (AGA) proposed by Srinivas, the speed of evolution is slow, which leads to reduction of the performance of algorithm. To solve this problem, based on improving the computing method of the probabilities of crossover and mutation and taking current stage of evolution into consideration, an improved adaptive genetic algorithm (IAGA) is presented. The new algorithm is applied to optimizing the calculation model of BP neural network, used to count the oiling quantity of vehicle. IAGA-BP is proved better than AGA-BP and standard BP by comparing the calculation error of these models.%针对Srinivas提出的自适应遗传算法种群前期进化较慢的问题,改进了自适应交叉率和变异率的计算方法,考虑交叉率和变异率与种群进化所处阶段的匹配,提出一种改进的自适应遗传算法;并将其应用于BP神经网络计算模型的优化,运用到汽车加油量计算中,通过比较标准BP网络、Srinivas提出的自适应遗传算法优化的BP 神经网络和改进的自适应遗传算法优化的BP神经网络3种模型的计算误差,验证得出改进的自适应遗传算法优化BP神经网络的算法优于另外两种。
基于遗传算法的网络优化研究
基于遗传算法的网络优化研究第一章:引言随着计算机网络技术的快速发展,互联网成为现代社会中最重要的信息传输平台之一。
网络优化是指利用各种技术手段对计算机网络进行优化设计,达到提高网络性能和效率、降低网络运营成本的目的。
当前,随着网络规模不断扩大和网络应用要求愈加严格,如何针对网络资源规划、分配、调度等问题进行更加精细的设计和优化,成为网络技术研究的重要挑战。
基于遗传算法的网络优化技术具有许多优点,比如能够处理非线性问题、适应度函数的自适应调整以及不受局部最优解限制等等。
因此,本文旨在对遗传算法在网络优化中的应用进行深入研究和讨论。
第二章:相关理论介绍2.1 遗传算法基本原理遗传算法是一种搜索和优化技术,其模仿了生物学中的自然选择机制和遗传机制。
在遗传算法中,通过将不同的解表示成基因型来启发搜索过程,并以适应度函数为导向选择优秀的解。
在每次搜索过程中都会进行基于基因的交叉和突变进行操作以加速搜索。
适应度函数用于计算给定个体的适应度,从而对当前解的搜索偏向方向进行评估和调整,最终达到全局最优解的目的。
2.2 网络优化模型网络优化模型是针对网络设计、网络规划、网络可靠性等方面所面临的问题进行的数学建模。
网络优化模型的基本方法是通过寻找输入参数与输出参数之间的函数映射来优化网络。
方法可以分为基于排队论、基于图论和建立模型的分析模型。
2.3 遗传算法应用于网络优化遗传算法在网络优化中的应用包括最小化网络延迟、提高传输效率、最小化网络拓扑成本等。
其中,遗传算法最常使用的应用是最优路由算法:根据网络节点和连通性确定最短路径,该算法以遗传算法为基础,通过模拟自然选择的过程,优化路由路径,最终找到最短路线。
第三章:网络优化实例3.1 遗传算法优化路由目前,最常见的网络优化应用是路由的优化,即如何最快地找到节点之间的最优路径,以满足网络用户的带宽、宽带等网络要求。
传统的 Dijkstra 算法在大规模的网络中搜索时间过长,因此可通过遗传算法进行优化。
基于遗传算法的BP神经网络优化算法
案例3:基于遗传算法的BP神经网络优化算法******************************************************************************* ****论坛申明:1 案例为原创案例,论坛拥有帖子的版权,转载请注明出处(MATLABSKY论坛,《MATLAB智能算法30个案例分析》2 案例内容为书籍原创内容,内容为案例的提纲和主要内容。
3 作者长期驻扎在板块,对读者和会员问题有问必答。
4 案例配套有教学视频和完整的MATLAB程序,MATLAB程序在购买书籍后可以自由下载,教学视频需要另外购买。
MATLAB书籍预定方法和优惠服务:/thread-9258-1-1.html点击这里,预览该案例程序:/znsf/view/s3/GABPMain.html 已经预定的朋友点此下载程序源代码:/thread-11921-1-1.html ******************************************************************************** **1、案例背景BP网络是一类多层的前馈神经网络。
它的名字源于在网络训练的过程中,调整网络的权值的算法是误差的反向传播的学习算法,即为BP学习算法。
BP算法是Rumelhart等人在1986年提出来的。
由于它的结构简单,可调整的参数多,训练算法也多,而且可操作性好,BP 神经网络获得了非常广泛的应用。
据统计,有80%~90%的神经网络模型都是采用了BP网络或者是它的变形。
BP网络是前向网络的核心部分,是神经网络中最精华、最完美的部分。
BP神经网络虽然是人工神经网络中应用最广泛的算法,但是也存在着一些缺陷,例如:①、学习收敛速度太慢;②、不能保证收敛到全局最小点;③、网络结构不易确定。
另外,网络结构、初始连接权值和阈值的选择对网络训练的影响很大,但是又无法准确获得,针对这些特点可以采用遗传算法对神经网络进行优化。
基于BP算法的神经网络技术毕业论文
毕业设计(论文)题目:基于BP算法的神经网络技术研究与应用毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于遗传算法的优化BP神经网络算法研究
1引言神经网络是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型,凭借着复杂的系统结构,通过对系统内部节点连接关系的调节,实现对信息的高效处理。
作为技术最为成熟的神经网络模拟,BP 神经网络具有良好的自学习、自适应以及泛化能力,在许多领域中都有着广泛的应用。
而针对BP 神经网络在应用环节存在的问题,需要采取相应的优化算法,提升神经网络的收敛速度和处理能力。
2遗传算法与BP 神经网络遗传算法遵循的是生物界中适者生存的法则,其基本原理,是指将问题参数进行编码,形成染色体,通过迭代的方式,运用选择、变异、交叉等运算,对种群中染色体的信息进行交换,继而形成能够满足优化目标的染色体。
BP (Back Propagation )神经网络最初产生于1986年,属于一种依照误差逆传播算法训练的多层前馈网络,也是当前技术条件下应用最为广泛的神经网络模型之一,其可以对输入-输出模式的映射关系进行学习和存储,同时不需要对能够揭示这些映射关系的方程进行描述。
神经网络具备自适应和自组织能力,在进行学习和训练的过程中,可以通过改变突触权重值的方式,更好地适应周边环境的变化。
在同一个神经网络中,如果内容不同,学习方式不同,则会产生不同的功能。
人工神经网络从本质上看,更加接近具备自主学习能力的系统,可以通过不断的学习,超出最初设计的知识水平。
在人工神经网络中,比较常见的学习方法有两种,一是有监督的学习,可以结合标准样本,进行分类或者模仿,二是无监督的学习,在制定相应的学习规则后,系统会根据自身所处环境,进行学习内容的分析和选择,更加接近人脑的功能特点。
3基于遗传算法的优化BP 神经网络算法3.1算法基本原理①BP 算法。
BP 神经网络算法主要包括了数据流的前向计算和误差信号的反向传播两个方面的内容,结合三层BP 神经【基金项目】廊坊市科技计划项目(2016011077)。
【作者简介】王军涛(1980-)男,讲师,河北邯郸人,从事计算机应用研究。
遗传算法在BP神经网络优化中的应用
遗传算法在 BP 神经网络优化中的应用2O世纪80年代后期 ,多机器人协作成为一种新的机器人应用形式日益引起国内外学术界的兴趣与关注.一方面,由于任务的复杂性,在单机器人难以完成任务时,人们希望通过多机器人之间的协调与合作来完成.另一方面,人们也希望通过多机器人间的协调与合作,来提高机器人系统在作业过程中的效率。
1943年,Maeullocu和 Pitts融合了生物物理学和数学提出了第一个神经元模型。
从这以后,人工神经网络经历了发展、停滞、再发展的过程,时至今日正走向成熟,在广泛领域里得到了应用,其中将人工神经网络技术应用到多机器人协作成为新的研究领域。
本文研究通过人工神经网络控制多机器人完成协作搬运的任务—3 J,并应用遗传算法来对神经网络进行优化。
仿真结果表明,经过遗传算法优化后的搬运工作效率显著提高,误差降低.1 人工神经网络 ANN)的基本原理和结构人工神经网络(Artiifcial Neural Network,ANN)) 是抽象、简化与模拟大脑神经结构的计算模型,又称并行分布处理模型 J。
ANN 由大量功能简单且具有自适应能力的信息处理单元——人工神经元按照大规模并行的方式通过一定的拓扑结构连接而成。
ANN拓扑结构很多,其中采用反向传播(Back—Propa—gation,BP)算法的前馈型神经网络(如下图1所示),即BP人工神经网络,是人工神经网络中最常用、最成熟的神经网络之一 .BP网络模型处理信息的基本原理是:输入信号x;通过中间节点(隐层点 )作用于出节点,经过非线形变换,产生输出信Yk,网络训练的每个样本包括输入向量x和期望输出量 T,网络输出值Y与期望输出值T之间的偏差,通过调整输入节点与隐层节点的联接强度取值w;;和隐层节点与输出节点之间的联接强度Y以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数 (权值和阈值),训练即告停止.此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。
案例4:遗传算法优化神经网络-更好拟合函数
遗传算法优化神经网络-更好拟合函数1.案例背景BP神经网络是一种反向传递并且能够修正误差的多层映射函数,它通过对未知系统的输入输出参数进行学习之后,便可以联想记忆表达该系统。
但是由于BP网络是在梯度法基础上推导出来的,要求目标函数连续可导,在进化学习的过程中熟练速度慢,容易陷入局部最优,找不到全局最优值。
并且由于BP网络的权值和阀值在选择上是随机值,每次的初始值都不一样,造成每次训练学习预测的结果都有所差别。
遗传算法是一种全局搜索算法,把BP神经网络和遗传算法有机融合,充分发挥遗传算法的全局搜索能力和BP神经网络的局部搜索能力,利用遗传算法来弥补权值和阀值选择上的随机性缺陷,得到更好的预测结果。
本案例用遗传算法来优化神经网络用于标准函数预测,通过仿真实验表明该算法的有效性。
2.模型建立2.1预测函数2.2 模型建立遗传算法优化BP网络的基本原理就是用遗传算法来优化BP网络的初始权值和阀值,使优化后的BP网络能够更好的预测系统输出。
遗传算法优化BP网络主要包括种群初始化,适应度函数,交叉算子,选择算子和变异算子等。
2.3 算法模型3.编程实现3.1代码分析用matlabr2009编程实现神经网络遗传算法寻找系统极值,采用cell工具把遗传算法主函数分为以下几个部分:Contents•清空环境变量•网络结构确定•遗传算法参数初始化•迭代求解最佳初始阀值和权值•遗传算法结果分析•把最优初始阀值权值赋予网络预测•BP网络训练•BP网络预测主要的代码段分析如下:3.2结果分析采用遗传算法优化神经网络,并且用优化好的神经网络进行系统极值预测,根据测试函数是2输入1输出,所以构建的BP网络结构是2-5-1,一共去2000组函数的输入输出,用其中的1900组做训练,100组做预测。
遗传算法的基本参数为个体采用浮点数编码法,个体长度为21,交叉概率为0.4,变异概率为0.2,种群规模是20,总进化次数是50次,最后得到的遗传算法优化过程中最优个体适应度值变化如下所示:4 案例扩展4.1 网络优化方法的选择4.2 算法的局限性清空环境变量clcclear网络结构建立%读取数据load data input output%节点个数inputnum=2;hiddennum=5;outputnum=1;%训练数据和预测数据input_train=input(1:1900,:)';input_test=input(1901:2000,:)';output_train=output(1:1900)';output_test=output(1901:2000)';%选连样本输入输出数据归一化[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);%构建网络net=newff(inputn,outputn,hiddennum);遗传算法参数初始化maxgen=50; %进化代数,即迭代次数sizepop=20; %种群规模pcross=[0.4]; %交叉概率选择,0和1之间pmutation=[0.2]; %变异概率选择,0和1之间%节点总数numsum=inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum;lenchrom=ones(1,numsum);bound=[-3*ones(numsum,1) 3*ones(numsum,1)]; %数据围%------------------------------------------------------种群初始化--------------------------------------------------------individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为一个结构体avgfitness=[]; %每一代种群的平均适应度bestfitness=[]; %每一代种群的最佳适应度bestchrom=[]; %适应度最好的染色体%初始化种群for i=1:sizepop%随机产生一个种群individuals.chrom(i,:)=Code(lenchrom,bound); %编码(binary和grey的编码结果为一个实数,float的编码结果为一个实数向量)x=individuals.chrom(i,:);%计算适应度individuals.fitness(i)=fun(x,inputnum,hiddennum,outputnum,net,inputn, outputn); %染色体的适应度end%找最好的染色体[bestfitness bestindex]=min(individuals.fitness);bestchrom=individuals.chrom(bestindex,:); %最好的染色体avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度% 记录每一代进化中最好的适应度和平均适应度trace=[avgfitness bestfitness];迭代求解最佳初始阀值和权值进化开始for i=1:maxgeni% 选择individuals=Select(individuals,sizepop);avgfitness=sum(individuals.fitness)/sizepop;%交叉individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bou nd);% 变异individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizep op,i,maxgen,bound);% 计算适应度for j=1:sizepopx=individuals.chrom(j,:); %解码individuals.fitness(j)=fun(x,inputnum,hiddennum,outputnum,net,inputn, outputn);end%找到最小和最大适应度的染色体及它们在种群中的位置[newbestfitness,newbestindex]=min(individuals.fitness);[worestfitness,worestindex]=max(individuals.fitness);% 代替上一次进化中最好的染色体if bestfitness>newbestfitnessbestfitness=newbestfitness;bestchrom=individuals.chrom(newbestindex,:);endindividuals.chrom(worestindex,:)=bestchrom;individuals.fitness(worestindex)=bestfitness;avgfitness=sum(individuals.fitness)/sizepop;trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度endi =1i =2i =3i =4i =5i =6i =7i =8i =9i =10i =11i =12i =13i =14i =15i =16i =17i =18i =19i =20i =21i =22i =23i =24i =25i =26i =27i =28i =29i =30i =31i =32i =33i =34i =35i =36i =37i =38i =39i =40i =41i =42i =43i =44i =45i =46i =47i =48i =49i =50遗传算法结果分析figure(1)[r c]=size(trace);plot([1:r]',trace(:,2),'b--');title(['适应度曲线 ''终止代数=' num2str(maxgen)]); xlabel('进化代数');ylabel('适应度');legend('平均适应度','最佳适应度');disp('适应度变量');x=bestchrom;Warning: Ignoring extra legend entries.适应度变量把最优初始阀值权值赋予网络预测%用遗传算法优化的BP网络进行值预测w1=x(1:inputnum*hiddennum);B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hidd ennum*outputnum);B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hidd ennum+hiddennum+hiddennum*outputnum+outputnum);net.iw{1,1}=reshape(w1,hiddennum,inputnum);net.lw{2,1}=reshape(w2,outputnum,hiddennum);net.b{1}=reshape(B1,hiddennum,1);net.b{2}=B2;BP网络训练%网络进化参数net.trainParam.epochs=100;net.trainParam.lr=0.1;%net.trainParam.goal=0.00001;%网络训练net=train(net,inputn,outputn);BP网络预测%数据归一化inputn_test=mapminmax('apply',input_test,inputps);an=sim(net,inputn_test);test_simu=mapminmax('reverse',an,outputps);error=test_simu-output_test;figure(2)plot(error)k=error./output_testk =Columns 1 through 9-0.0003 0.0010 0.0003 0.0001 0.0002 -0.0005 0.0003 0.0003 0.0109Columns 10 through 18-0.0007 -0.0003 0.0002 -0.0008 -0.0015 -0.0002 0.0011 0.0002 0.0004Columns 19 through 270.0002 0.0003 -0.0000 0.0000 -0.0004 -0.0004 0.0005 0.0001 0.0023Columns 28 through 36-0.0000 -0.0003 0.0000 -0.0005 -0.0002 0.0003 -0.0002 -0.0002 0.0001Columns 37 through 450.0001 0.0002 0.0002 0.0011 -0.0004 -0.0006 0.0002 0.0000 0.0000Columns 46 through 540.0001 0.0001 0.0000 -0.0001 0.0016 0.0002 -0.0003 -0.0000 -0.0000Columns 55 through 630.0000 0.0003 -0.0004 0.0001 0.0002 0.0002 0.0002 0.0000 0.0002Columns 64 through 720.0002 -0.0001 0.0003 0.0005 0.0002 -0.0003 -0.0001 -0.0000 0.0002Columns 73 through 810.0000 -0.0002 -0.0002 0.0002 -0.0000 -0.0003 0.0001 -0.0001 0.0006Columns 82 through 90-0.0006 0.0003 0.0068 -0.0005 0.0001 -0.0001 -0.0001 -0.0010 -0.0002Columns 91 through 990.0001 0.0002 -0.0000 0.0003 0.0000 0.0000 -0.0003 -0.0001 0.0003Column 100-0.0004。
遗传算法优化的BP神经网络建模【精品毕业设计】(完整版)
遗传算法优化的BP神经⽹络建模【精品毕业设计】(完整版)遗传算法优化的BP神经⽹络建模⼗⼀⽉匆匆过去,每天依然在忙碌着与⽂档相关的东西,在寒假前⼀个多⽉⾥,努⼒做好⼿头上的事的前提下多学习专业知识,依然是坚持学习与素质提⾼并重,依然是坚持锻炼⾝体,为明年找⼯作打下基础。
遗传算法优化的BP神经⽹络建模借鉴别⼈的程序做出的仿真,最近才有时间整理。
⽬标:对y=x1^2+x2^2⾮线性系统进⾏建模,⽤1500组数据对⽹络进⾏构建⽹络,500组数据测试⽹络。
由于BP神经⽹络初始神经元之间的权值和阈值⼀般随机选择,因此容易陷⼊局部最⼩值。
本⽅法使⽤遗传算法优化初始神经元之间的权值和阈值,并对⽐使⽤遗传算法前后的效果。
步骤:未经遗传算法优化的BP神经⽹络建模1、随机⽣成2000组两维随机数(x1,x2),并计算对应的输出y=x1^2+x2^2,前1500组数据作为训练数据input_train,后500组数据作为测试数据input_test。
并将数据存储在data中待遗传算法中使⽤相同的数据。
2、数据预处理:归⼀化处理。
3、构建BP神经⽹络的隐层数,次数,步长,⽬标。
4、使⽤训练数据input_train训练BP神经⽹络net。
5、⽤测试数据input_test测试神经⽹络,并将预测的数据反归⼀化处理。
6、分析预测数据与期望数据之间的误差。
遗传算法优化的BP神经⽹络建模1、读取前⾯步骤中保存的数据data;2、对数据进⾏归⼀化处理;3、设置隐层数⽬;4、初始化进化次数,种群规模,交叉概率,变异概率5、对种群进⾏实数编码,并将预测数据与期望数据之间的误差作为适应度函数;6、循环进⾏选择、交叉、变异、计算适应度操作,直到达到进化次数,得到最优的初始权值和阈值;7、将得到最佳初始权值和阈值来构建BP神经⽹络;8、使⽤训练数据input_train训练BP神经⽹络net;9、⽤测试数据input_test测试神经⽹络,并将预测的数据反归⼀化处理;10、分析预测数据与期望数据之间的误差。
遗传算法优化BP神经网络的 网络流量预测-精选文档
遗传算法优化BP神经网络的网络流量预测1引言网络流量预测对于分析和理解网络将要发生的网络行为、指导网络安全检测与控制具有重要的意义,网络流量具有非线性、多时间和多尺度等变化特性,如何建立高精度的网络流量预测模型已经成为研究热点之一。
当前网络流量均基于统计方法进行建模,是通过对预测网络流量过去的数据及资料进行统计和分析,对其未来的网络流量发展趋势进行定量的预测,主要有时间序列法和BP神经网络方法。
时间序列预测法因根据事物过去的变化趋势预测未来的发展,突出时间因素,外界因素不计入影响,在短期且没有相对比较大的变化时预测结果比较理想,但是当外界出现巨变,往往会出现比较大的偏差。
因此,时间序列预测法适用于渐进变化的预测对象,没有明显波动,而网络流量受到多种因素影响,具有非线性、多时间和多尺度等变化的特性,因此时间序列法预测精度比较低。
BP(Back Propagation)网络是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一,具有自组织、自适应、自学习等特点,具有很强的输入输出非线性映射能力,对解决非线性问题有着独特的先进性,成为当前网络流量建模与预测主要工具。
但是,由于采用了误差函数按梯度下降的学习算法,极易陷入局部最小值点。
此外,BP神经网络学习算法收敛慢,系统鲁棒性差,网络的性能对初始设置值依赖比较大。
因此BP神经网络需要进行改进才能更好地应用到实际中。
为了提高网络流量预测精度,提出一种基于遗传算法优化BP神经网络的网络流量预测模型(GA-BPNN)。
首先采集网络流量数据,并进行相应预处理,然后将网络流量训练样本输入到BP神经网络进行学习,并采用遗传算法对BP神经网络参数进行优化,最后采用建立的网络流量预测模型对网络流量测试集进行预测,并通过仿真实验对模型性能进行测试。
2BP神经网络和遗传算法2.1BP神经网络概述BP神经网络基本思想是网络训练过程由正向传播与误差反向传播两个过程组成。
用遗传算法优化BP神经网络程序
用遗传算法优化BP神经网络程序红色程序是用遗传算法直接训练BP权值tic, % 开始计时[P,T,R,S1,S2,S]=nninit; % BP网络初始化% 随机生成W1,B1,W2,B2[W1,B1]=rands(S1,R);[W2,B2]=rands(S2,S1);% BP网络训练的参数设置disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01;TP=[disp_fqre max_epoch err_goal lr];% 开始训练[W1,B1,W2,B2,te,tr]=trainbp(W1,B1,'tansig',W2,B2,'purelin',P, T,TP); % 仿真结果TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin')toc % 结束计时% 在MATLAB6.5下编程tic, % 开始计时[P,T,R,S1,S2,S]=nninit; % BP网络初始化% 生成BP网络net = newff(minmax(P),[S1 S2],{'logsig' 'logsig'},'trainlm');% BP网络训练的参数设置net.trainParam.epochs = 3000;net.trainParam.goal = 0.002;net.trainParam.lr = 0.01;% 开始训练net = train(net,P,T);% 仿真结果TT=sim(net,P)toc % 结束计时% 遗传算法的适应值计算function [sol, val] = gabpEval(sol,options)% val - the fittness of this individual% sol - the individual, returned to allow for Lamarckian evolution % options - [current_generation][P,T,R,S1,S2,S]=nninit;for i=1:S,x(i)=sol(i);end;[W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x);tic, %开始计时% 首先进行遗传算法[P,T,R,S1,S2,S]=nninit;aa=ones(S,1)*[-1 1];popu=30;initPpp=initializega(popu,aa,'gabpEval');gen=80; % 遗传代数% 遗传计算[x endPop bPop trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);% x The best found% Lets take a look at the performance of the ga during the runsubplot(2,1,1)plot(trace(:,1),1./trace(:,3),'r-')hold onplot(trace(:,1),1./trace(:,2),'b-')xlabel('Generation');ylabel('Sum-Squared Error');subplot(2,1,2)plot(trace(:,1),trace(:,3),'r-')hold onplot(trace(:,1),trace(:,2),'b-')xlabel('Generation');ylabel('Fittness');% 下面进行BP算法figure(2)% 将遗传算法的结果分解为BP网络所对应的权值、阈值[W1 B1 W2 B2 P T A1 A2 SE val]=gadecod(x);% BP网络训练的参数设置disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01;TP=[disp_fqre max_epoch err_goal lr];[W1,B1,W2,B2,te,tr]=trainbp(W1,B1,'tansig',W2,B2,'purelin',P, T,TP); % 仿真结果TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin')toc % 结束计时% 将遗传算法的编码分解为BP网络所对应的权值、阈值function [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x) [P,T,R,S1,S2,S]=nninit;% 前R*S1个编码为W1for i=1:S1,for k=1:R,W1(i,k)=x(R*(i-1)+k);endend% 接着的S1*S2个编码(即第R*S1个后的编码)为W2for i=1:S2,for k=1:S1,W2(i,k)=x(S1*(i-1)+k+R*S1);endend% 接着的S1个编码(即第R*S1+S1*S2个后的编码)为B1for i=1:S1,B1(i,1)=x((R*S1+S1*S2)+i);end% 接着的S2个编码(即第R*S1+S1*S2+S1个后的编码)为B2 for i=1:S2,B2(i,1)=x((R*S1+S1*S2+S1)+i);end% 计算S1与S2层的输出A1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);% 计算误差平方和SE=sumsqr(T-A2);val=1/SE; % 遗传算法的适应值% 用GA训练BP网络的权值、阈值tic, % 开始计时[P,T,R,S1,S2,S]=nninit; % BP网络初始化aa=ones(S,1)*[-1 1];popu=60; % 初始种群个数initPpp=initializega(popu,aa,'gabpEval');gen=700; % 遗传代数[x endPop bPop trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);%%Lets take a look at the performance of the ga during the runsubplot(2,1,1)plot(trace(:,1),1./trace(:,3),'r-')hold onplot(trace(:,1),1./trace(:,2),'b-')xlabel('Generation');ylabel('Sum-Squared Error');subplot(2,1,2)plot(trace(:,1),trace(:,3),'r-')hold onplot(trace(:,1),trace(:,2),'b-')xlabel('Generation');ylabel('Fittness');% 从编码x中解码出BP网络所对应的权值、阈值[W1 B1 W2 B2]=gadecod(x);% 仿真结果TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin') toc % 结束计时% BP网络初始化:给出网络的训练样本P、T,% 输入、输出数及隐含神经元数R,S2,S1 function [P,T,R,S1,S2,S]=nninitp=[0 0 0 0 0;1 0 0 0 1;0 1 0 0 1;0 0 1 0 0;0 0 0 1 0];P=p';t=[0 0 0 0;1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1];t=t';T=t;[R,Q]=size(P);[S2,Q]=size(T);S1=6;S=R*S1+S1*S2+S1+S2; % 遗传算法编码长度。
基于遗传算法BP网络优化.
班级:控制5班 学号:2111504213 姓名:张睿设计一个BP 神经网络监督控制系统,被控对象为:321000()s 87.35s 10470G s s=++ 采样时间1ms ,输入信号为方波信号,幅值0.5,频率2hz 。
设计一个BP 神经网络监督控制系统,并采用遗传算法进行BP 神经网络参数及权值的优化设计,并进行matlab 仿真。
需要说明控制系统结构,遗传算法优化BP 网络的具体步骤,并对仿真结果做出分析。
解决过程及思路如下:1 BP 网络算法以第p 个样本为例,用于训练的BP 网络结构如图1所示。
图1 具有一个隐含层和输出层的BP 神经网络结构网络的学习算法如下: (1)信息的正向传播隐含层神经元的输入为所有输入加权之和,j ij i ix w x =∑隐层神经元的输出'j x 采用S 函数激发j x ,则'1()1j j j x x f x e-==+ '''(1)j j j jx x x x ∂=-∂…......... (i)jk输入层隐含层输出层… ……ij wjk wx kj x'jx输出层的神经元输出为'k jk j jx w x =∑网络输出与理想输出误差为()k k e k x x =-误差性能指标函数为211()2N p k E e k ==∑上式的N 表示网络输出层的个数。
(2)利用梯度下降法调整各层间权值的反向传播 对从第j 个输入到第k 个输出的权值有:'11()NNp k jk k j k k jkjk E x w e e k x w w ηηη==∂∂∆=-==∂∂∑∑ 其中,η为学习速率,[]0,1η∈。
K+1时刻网络权值为(1)()jk jk jk w k w k w +=+∆对从第i 个输入到第j 个输出的权值有:1Np kij kk ijijE x w e w w ηη=∂∂∆=-=∂∂∑ 式中,''''(1)j jk k jk j j i ij j j ijx x x x w x x x w x x w ∂∂∂∂=⋅⋅=⋅⋅-⋅∂∂∂∂ t+1时刻网络权值为(1)()ij ij ij w k w k w +=+∆2.BP 网络的监督控制系统结构设计的BP 网络监督控制系统结构如图2所示。
基于遗传算法和BP神经网络的花盘结构优化设计
.
l
K yw rsB uantokG nt grh Fnte m n;r ooaepr n; t c e od:Pn rle r;eec l i m; i e et t gnlxei tSr -{ e w ia o t i el O h me u
~ H l 竺 ~、 ~~ “ ~h —t、 “ lr ~ — | M p~ |N h - “ t~ hH | n ““ t ̄ 、 t M p、 t、 ~ ,~ ,l — 、、 ~mM“、 “ — , tt- | ~、 t - , , t | l ~ I ~ p . - | , | ’
31 BP网络 的网络结构 .
采用 的 B P网络含有输入层 、单隐层和输出层的三层网络结 构, 其中 B P网络的输入层为 6 个神经元( 花盘结构 系统的 6 个设
计变量)单隐层设计为 7 , 个神经元, 输出层的 1 个神经元用于描述
花盘的第一阶固有频率。 其三层 B P网络的拓扑结构, 如图 3 所示。
( 南京工 业大 学 工业装 备数 字制造及控 制技 术重点 实验室 , 南京 20 0 ) 10 9
Op i I e in o a e lt tu t r a e n BP n u a t ma sg f c pa e s r c u e b s d o e r l d f n t r n en t l o i m e wo k a d g e i a g r h c t
第 7期 2 1 年 7月 01
文章编号 :0 1 3 9 (0 )7 0 2 — 3 1 0 — 9 7 2 1 0 — 0 7 0 1
机 械 设 计 与 制 造
Ma h ne y De in c i r sg & Ma u a t e n f cur 27
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:审定成绩:重庆邮电大学毕业设计(论文)设计(论文)题目:基于遗传算法的BP神经网络的优化问题研究学院名称:学生姓名:专业:班级:学号:指导教师:答辩组负责人:填表时间:2010年06月重庆邮电大学教务处制摘要本文的主要研究工作如下:1、介绍了遗传算法的起源、发展和应用,阐述了遗传算法的基本操作,基本原理和遗传算法的特点。
2、介绍了人工神经网络的发展,基本原理,BP神经网络的结构以及BP算法。
3、利用遗传算法全局搜索能力强的特点与人工神经网络模型学习能力强的特点,把遗传算法用于神经网络初始权重的优化,设计出混合GA-BP算法,可以在一定程度上克服神经网络模型训练中普遍存在的局部极小点问题。
4、对某型导弹测试设备故障诊断建立神经网络,用GA直接训练BP神经网络权值,然后与纯BP算法相比较。
再用改进的GA-BP算法进行神经网络训练和检验,运用Matlab软件进行仿真,结果表明,用改进的GA-BP算法优化神经网络无论从收敛速度、误差及精度都明显高于未进行优化的BP神经网络,将两者结合从而得到比现有学习算法更好的学习效果。
【关键词】神经网络BP算法遗传算法ABSTRACTThe main research work is as follows:1. Describing the origin of the genetic algorithm, development and application, explain the basic operations of genetic algorithm, the basic principles and characteristics of genetic algorithms.2. Describing the development of artificial neural network, the basic principle, BP neural network structure and BP.3. Using the genetic algorithm global search capability of the characteristics and learning ability of artificial neural network model with strong features, the genetic algorithm for neural network initial weights of the optimization, design hybrid GA-BP algorithm, to a certain extent, overcome nerves ubiquitous network model training local minimum problem.4. A missile test on the fault diagnosis of neural network, trained with the GA directly to BP neural network weights, and then compared with the pure BP algorithm. Then the improved GA-BP algorithm neural network training and testing, use of Matlab software simulation results show that the improved GA-BP algorithm to optimize neural network in terms of convergence rate, error and accuracy were significantly higher than optimized BP neural network, a combination of both to be better than existing learning algorithm learning.Key words:neural network back-propagation algorithms genetic algorithms目录第一章绪论 (1)1.1 遗传算法的起源 (1)1.2 遗传算法的发展和应用 (1)1.2.1 遗传算法的发展过程 (1)1.2.2 遗传算法的应用领域 (2)1.3 基于遗传算法的BP神经网络 (3)1.4 本章小结 (4)第二章遗传算法 (5)2.1 遗传算法基本操作 (5)2.1.1 选择(Selection) (5)2.1.2 交叉(Crossover) (6)2.1.3 变异(Mutation) (7)2.2 遗传算法基本思想 (8)2.3 遗传算法的特点 (9)2.3.1 常规的寻优算法 (9)2.3.2 遗传算法与常规寻优算法的比较 (10)2.4 本章小结 (11)第三章神经网络 (12)3.1 人工神经网络发展 (12)3.2 神经网络基本原理 (12)3.2.1 神经元模型 (12)3.2.2 神经网络结构及工作方式 (14)3.2.3 神经网络原理概要 (15)3.3 BP神经网络 (15)3.4 本章小结 (21)第四章遗传算法优化BP神经网络 (22)4.1 遗传算法优化神经网络概述 (22)4.1.1 用遗传算法优化神经网络结构 (22)4.1.2 用遗传算法优化神经网络连接权值 (22)4.2 GA-BP优化方案及算法实现 (23)4.3 GA-BP仿真实现 (24)4.3.1 用GA直接训练BP网络的权值算法 (25)4.3.2 纯BP算法 (26)4.3.3 GA训练BP网络的权值与纯BP算法的比较 (28)4.3.4 混合GA-BP算法 (28)4.4 本章小结 (31)结论 (32)致谢 (33)参考文献 (34)附录 (35)1 英文原文 (35)2 英文翻译 (42)3 源程序 (47)第一章绪论1.1 遗传算法的起源从生物学上看,生物个体是由细胞组成的,而细胞则主要由细胞膜、细胞质、和细胞核构成。
在细胞核中,有一种微小的丝状化合物,称为染色体,染色体由许多基因片段组成,基因是生物遗传物质的载体,决定了生物的各种遗传性状,是遗传的基本单位。
生物个体在交配繁殖时,正是将这些基因遗传给了后代,才使后代具有父代的生物特征。
由于生物在繁殖中可能发生基因交叉和变异,这种交叉和变异引起了生物性状的连续微弱变化,为外界环境的定向选择提供了物质条件和基础,使生物的进化成为可能。
人们正是通过对环境的选择、基因的交叉和变异这一生物演化的迭代过程的模仿,从而提出了能够用于求解最优化问题的具有强鲁棒、自适应的遗传算法。
遗传算法[1](Genetic Algorithms,简称GA)是模拟自然界生物进化这一“适者生存,优胜劣汰”过程而得到的,是由Michigan大学Holland教授于1975年首次提出的,它的基本算法力求充分模仿这一自然寻优过程的随机性、鲁棒性和全局性,这是一种新的全局优化搜索算法,因为它直接对结构对象进行操作,不存在求异和函数连续性的限定,鲁棒性强,具有随机性和全局性,适于并行处理,已广泛应用于神经网络、计算机科学、优化调度、运输问题、组合优化、机器学习、信号信息、自适应控制和人工生命领域。
1.2 遗传算法的发展和应用1.2.1 遗传算法的发展过程1965年,美国Michigan大学的John Holland教授在设计人工适应系统中开创性地使用了一种基于自然演化原理的搜索机制,并于1975年出版了著名的专著“Adaptation in Natural and Artificial Systems”,这些有关遗传算法的基础理论为遗传算法的发展和完善鉴定了基础。
同时,Holland教授的学生Dejong首次将遗传算法应用于函数优化中,设计了遗传算法执行策略和性能评价指标,他挑选的5个专门用于遗传算法数值实验的函数至今仍被频繁使用,而他提出的在线和离线指标则仍是目前衡量遗传算法优化性能的主要手段。
在Holland教授和他的学生与同事Dejong进行大量有关遗传算法的开创性工作的同时,德国柏林工业大学的Rechenberg和Schwefel等在进行风洞实验时,为了对描述物体性状的参数进行优化以获得更好的实验数据,将变异操作引入计算模型中,获得了意外的优良效果,实验后,经过进一步系统地研究,形成了进化策略(Evolutionary Strategies,ES)。
1962年,Fogel等人在设计有穷状态自动机(Finite State Machine, FSM)时借用进化和思想对一组FSM进行进化,提出了一种模仿人类智能的方法,称为进化编程(Evolutionary Programming, EP),随后将其应用于数值优化及神经网络的训练问题中。
这两种算法和遗传算法以及遗传编程(Genetic Programming, GP)一起构成了目前进化计算的四大分支,它们从不同层次、不同角度模拟自然演化的规律,以达到求解实际问题的目的。
20世纪80年代开始,遗传算法进入了兴旺发展时期。
有关遗传算法的国际会议在世界各地定期召开。
遗传算法被提出之后立即受到了各国学者的广泛关注,有关遗传算法的研究成果不断涌现。
1981年Bethke应用Walsh函数分析模式;1983年Welzel用遗传算法解决了NP难问题旅行问题(TSP);1985年Schaffer利用多种群遗传算法研究解决了多目标优化问题。
1985年在美国卡耐基·梅隆大学召开的第一届国际遗传算法会议ICGA’95,以后该会议每隔一年举行一次。
1997年夏季在美国密歇根大学召开了ICGA’97。
现在与之平行的国际会议很多,其中有International Conference on Evolutionary Programming和IEEE International Conference on Evolutionary Computation也分别召开了有关遗传算法的会议。
此外,每年夏季在美国斯坦福大学召开有关遗传算法程序设计的国际会议(The Annual Conference of Genetic Programming)。
有关遗传算法的学术活动也经常举行,相关的国际学术会议还有很多。
1.2.2 遗传算法的应用领域遗传算法的应用领域很广,主要应用在以下几个方面:(1)、控制瓦斯管道控制,防避导弹控制,机器人控制。
(2)、规划生产规划,并行机任务分配。