基于遗传算法的BP神经网络的应用(共19页).doc
《基于遗传算法的BP神经网络的应用(共19页).doc》由会员分享,可在线阅读,更多相关《基于遗传算法的BP神经网络的应用(共19页).doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于遗传算法的BP神经网络的应用 -非线性函数拟合 摘要 人工神经网络在诸多领域得到应用如信息工程、自动控制、电子技术、目标识别、数学建模、图像处理等领域,并且随着神经网络算啊发的不断改进以及其他新算法的结合,使其应用的领域越来越广。BP神经网络是目前神经网络领域研究最多应用最广的网络,但BP神经网络学习算法易陷入局部极小的缺陷,本文采用遗传算法来优化BP神经网络的性能。首先采用遗传算法来优化BP神经网络的权值和阈值,然后将这些优化值赋给网络得到优化的BP神经网络,最后用MATLAB仿真平台,对非线性函数的逼近拟合和极值寻优问题进行实验。数值仿真结果表明:经遗传算法优
2、化的BP神经网络能有效地避免原始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 app
3、lications, 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 t
4、he weight values 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 netwo
5、rk. The numerical 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 convergence speed and computation accuracy.KeywordsBP neural network, genetic algorithm
6、, optimization1.引言 前馈神经网络(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网络的这种结构特点,如模式识别、预测、控制等方面,这就使得BP网络成为目前应用最为广泛的一种神经网络。下面以一个四层的BP神经网络来介绍BP网络的基本结构,结构如图1所示,该网络有一个输入层、两个隐含层、一个输出层,其中xi(p)(i=1,2,.n)表示输入变量,其个数为n即输入层节点个数为n,两个隐含层的节点个数分别为l和s,m表示输出层的节点数,yk(p)(k=1,2,.m)表示输出层节点输出。在神经网络中每一个神经元
9、都可以用一个节点来表示,而神经网络的隐含层是可变的可以是单层、双层和多层。通常情况下采用Sigmoidal型函数表示隐含层节点,采用Sigmoidal型函数或者线性函数表示输入和输出节点。 图1 BP神经网络结构图表3. 遗传算法 3.1 遗传算法的原理 遗传算法(Genetic Algorithms)是1962年由美国Michigan大学Holland教授提出的模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法4。由于遗传算法的寻优能力的并行性高并且具有自适应性,使其在诸多领域都得到了迅速的发展如函数优化、机器学习等,同时取得了较好的效果。遗传算法中的操作步骤与生物遗传和进化的步
10、骤极为相似。它把自然界“优胜劣态,适者生存”的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度值差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。这样反复循环,直至满足条件。3.2 遗传算法的基本操作 3.2.1 选择操作 选择操作是指从旧群体中以一定概率选择个体到新群体中,个体被选中的概率跟适应度值有关,个体使用度质越好,被选中的概率越大。 3.2.2交叉操作 交叉操作是指从个体中选择两个个体,通过两个染色的交换组合,来产生新的优秀个体5。交叉过程为从群体中任选两个染色体,随机选择一点
11、或多点染色体位置进行交换。交叉操作图如图2所示。 A:1100 0101 1111 交叉 A:1100 0101 0000 B:1111 0101 0000 B:1111 0101 1111 图2 交叉操作 3.3.3变异操作变异操作是指从群体中任选一个个体,选择染色体中的一点进行变异以产生更优秀的个体。变异操作如图3所示。变异 A:1100 0101 1111 A:1100 0101 1101 图3 变异操作遗传算法具有高效启发式搜索、并行计算等特点,目前已经应用在函数优化、组合优化以及生产调度等方面。3.3 遗传算法的基本要素遗传算法的基本要素包括染色体编码方适应度函数、遗传操作和运行参数
12、。其中染色体编码方法是指个体的编码方法,目前包括二进制法、实数法等。二进制法是指把个体编码成为一个二进制串,实数法是指把个体编码成为一个实数串。适应度函数是指根据目标编写的计算个体适应度值的函数,通过适应度值函数计算每个个体的适应度值,提供给选择算子进行选择。遗传操作是指选择操作、交叉操作和变异操作。运行参数是遗传算法在初始化时确定的参数,主要包括群体大小M、遗传代数G、交叉概率Pc和变异概率Pm。4. 遗传算法优化BP神经网络 4.1 算法流程 遗传算法优化BP神经网络算法流程6如图4所示。 变异操作BP神经网络训练得到误差作为适应度值GA对初始值编码 权值阈值更新 计算误差获取最优权值阈值
13、初始BP神经网络权值阈值BP神经网络部分遗传算法部分 输入数据确定网络拓扑结构数据预处理满足结束条件 计算适应度值 交叉操作 选择操作满足结束条件 N 仿真预测,得到结果N YY图4 算法流程遗传优化算法优化BP神经网络分为BP神经网络结构确定、遗传算法优化和BP神经网络预测3个部分。其中,BP神经网络结构确定部分根据拟合函数输入输出参数个数确定BP神经网络结构,进而确定遗传算法个体的长度。遗传算法优化使用遗传算法优化BP神经网络的权值和阈值,种群中的每个个体都包含了一个网络所有权值和阈值7,个体通过适应度函数计算个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应个体。BP神经
14、网络预测用遗传算法得到最优个体对网络初始权值和阈值赋值,网络经训练后预测函数输出。拟合的非线性函数为 ,有2个输入参数、1个输出参数,所以设置的BP神经网络结构为2-5-1,即输入层有2个节点,隐含层有5各节点,输出层有1个节点,共有2*5+5*1=15个权值,5+1=6个阈值,所以遗传算法个体编码长度为15+6=21.从非线性函数中随机得到2000组输入输出数据,从中随机选择1900组作为训练数据,用于网络训练,100组作为测试数据。把训练数据预测误差绝对值和作为适应度值,个体适应度值越小,该个体越优。 4.2 遗传算法实现遗传算法优化神经网络是用遗传算法来优化BP 神经网络的初始权值和阈值
15、,使优化后的BP 神经网络能够更好的预测输出8。遗传算法优化BP 神经网络的实现步骤如下:1 种群初始化个体编码为实数编码,每个个体均为一个实数串,由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4 部分组成。个体包含了神经网络全部权值和阈值,在网络结构已知的情况下,就可以构成一个结构、权值、阈值确定的神经网络。 2 适应度函数 根据个体得到BP 神经网络的初始权值和阈值,用训练数据训练BP 神经网络后预测系统输出,把预测输出和期望输出之间的误差绝对值和E 作为个体适应度值F,计算公式为 (1-1) 式中n 为网络输出节点数;yi 为BP 神经网络第i 个节点的期望输
16、出;oi 为第i 个节点的预测输出;k 为系数。3 选择操作遗传算法遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本文选择轮盘赌法,即基于适应度比例的选择策略,每个个体i 的选择概率pi 为 (1-2) (1-3)式中,Fi 为个体i 的适应度值,由于适应度值越小越好,所以在个体选择前对适应度值求倒数;k 为系数;N 为种群个体数目。 4 交叉操作 由于个体采用实数编码,所以交叉操作方法采用实数交叉法9,第k 个染色体ak 和第l 个染色体ai 在j 位的交叉操作方法如下: (1-4)式中,b是0,1间的随机数。 5 变异操作 选取第 i 个个体的第j 个基因aij 进行变异13,变异操作方
17、法如下: (1-5)式中,amax 为基因aij 的上界;amin 为基因aij 的下界;f(g)=r2(1-g/Gmax);r2 为一个随机数;g 为当前迭代次数;Gmax 是最大进化次数;r为0,1间的随机数。4.3 遗传算法改进网络结构及权值、阈值的步骤(1)设置总迭代次数,交叉概率,变异概率,种群大小,设置当前迭代次数;随机生成个个体,每个个体的第一个等位基因表示隐含层节点数,是输入层节点数,是输出层节点数;选择激活函数,设置参数,根据适应度函数计算每个个体的适应度值。(2)用轮盘赌法选择个体,并进行交叉、变异产生下一代(3)计算该后代种群各个个体的适应度。若最高适应度达到要求,或达到
18、最大迭代次数,算法停止;否则返回(2),直到达到最高适应度达到要求,或达到最大迭代次数。(4) 输出适应度值最高的个体,若有多个适应度值相同的个体,则选择染色体长度最短的个体(即隐含层节点数最少的个体)作为输出。4.4 BP神经网络遗传算法非线性极值寻优的步骤神经网络遗传算法函数极值寻优,即对未知的非线性函数,仅仅通过函数的输入输出数据难以寻优。可以先利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数的极值。BP神经网络遗传算法极值寻优主要由(1)BP神经网络训练拟合;(2)遗传算法极值寻优。(1) BP神经网络训练拟合,包括构建合适的神经网络,由于本例的函数是,故确定BP网络的拓
19、扑结构是251。(2) 遗传算法极值寻优,染色体个体采用实数编码,由于是寻找函数的极值点,故个体长度为2。个体的适应度值为BP神经网络的预测值,故预测值(即适应度值)越小,个体越优10。种族规模为10,进化次数为50次,交叉概率0.4,变异概率0.2.BP神经网络遗传算法极值寻优,先将BP神经网络的预测值作为染色体个体的适应度值,再通过遗传算法寻找非线性函数的最优值。5. 仿真实例5.1 遗传算法优化BP网络的权值阈值非线性函数拟合通过遗传算法优化BP神经网络的权值阈值,再用BP神经网络对非线性函数进行拟合。 5.1.1拟合结果分析 遗传算法优化中,最优个体适应度值值变化如图5。进化到20代时
20、,得到最优个体适应度值1.21237585896181,满足条件终止迭代。图5 最优个体适应度值变化曲线 5.1.2 遗传算法优化得到BP神经网络最优初始权值和阈值如下输入层隐含层间权值: -1.29076495063329; -0.1293807473404980.004309656361910280.172141394159896; -2.91503128004983; -2.29143357315059-2.165113865779691.57251141584773; -1.75818656539211; 0.0210827792878874隐含层节点阈值-1.597470069385
21、31;0.9727866896058460.850873190239208; 2.09802070115393;2.24339454426019隐含层输出层间阈值 2.68097856404349;1.85138303257096;-2.53975440679219-1.19993599260259;-2.36861040930053输出层阈值 1.217430614222845.1.3 BP网络及用遗传算法优化的BP神经网络的预测误差比较图6 BP神经网络预测误差图7 用遗传算法优化的BP神经网络预测误差由上图比较可知,用遗传算法优化的BP神经网络预测更加精确,并且遗传算法优化BP网络预测的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 遗传 算法 BP 神经网络 应用 19
限制150内