欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于遗传算法的BP神经网络的应用.doc

    • 资源ID:7415824       资源大小:263.52KB        全文页数:19页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于遗传算法的BP神经网络的应用.doc

    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, an

    3、d 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 val

    4、ues 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 numer

    5、ical 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, optimizatio

    6、n1.引言 前馈神经网络(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对初始值编码 权值阈值更新 计算误差获取最优权值阈值初始BP神经网络权值阈值B

    13、P神经网络部分遗传算法部分 输入数据确定网络拓扑结构数据预处理满足结束条件 计算适应度值 交叉操作 选择操作满足结束条件 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 神经网络的初始权值和阈值,使优化后的BP 神经网络

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

    16、预测输出;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,变异操作方法如下: (1-5)式中,

    17、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网络的拓扑结构是251。(2) 遗

    19、传算法极值寻优,染色体个体采用实数编码,由于是寻找函数的极值点,故个体长度为2。个体的适应度值为BP神经网络的预测值,故预测值(即适应度值)越小,个体越优10。种族规模为10,进化次数为50次,交叉概率0.4,变异概率0.2.BP神经网络遗传算法极值寻优,先将BP神经网络的预测值作为染色体个体的适应度值,再通过遗传算法寻找非线性函数的最优值。5. 仿真实例5.1 遗传算法优化BP网络的权值阈值非线性函数拟合通过遗传算法优化BP神经网络的权值阈值,再用BP神经网络对非线性函数进行拟合。 5.1.1拟合结果分析 遗传算法优化中,最优个体适应度值值变化如图5。进化到20代时,得到最优个体适应度值1.

    20、21237585896181,满足条件终止迭代。图5 最优个体适应度值变化曲线 5.1.2 遗传算法优化得到BP神经网络最优初始权值和阈值如下输入层隐含层间权值: -1.29076495063329; -0.1293807473404980.004309656361910280.172141394159896; -2.91503128004983; -2.29143357315059-2.165113865779691.57251141584773; -1.75818656539211; 0.0210827792878874隐含层节点阈值-1.59747006938531;0.97278668

    21、96058460.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网络预测的均方误差为,而单纯的BP神

    22、经网络的均方误差为,预测的误差也得到很大的改善。5.2 BP神经网络遗传算法非线性极值寻优 5.2.1 BP神经网络拟合结果分析由于个体的适应度值为BP神经网络的预测值,因此BP神经网络的预测精度对于最优位置的寻找有重要的意义。BP神经网络预测输出和期望输出对比如下图,可以看出,BP神经网络可以准确预测非线性函数输出。图8 BP神经网络预测非线性函数输出5.2.2 遗传算法寻优结果分析图9 最优个体适应度变化曲线BP神经网络的预测值作为染色体个体的适应度值,用遗传算法寻找该非线性函数的最小值,设遗传算法的迭代次数100次,种群规模20,交叉概率0.4,变异概率0.2,用实数编码,个体长度2,优

    23、化过程中最优个体适应度变化曲线如图8。遗传算法得到最优个体适应度值为-0.0651,最优个体为-0.0407 ,0.0316,它同非线性函数的最优值点(0,0)及最优值很接近,这说明了该方法的有效性。参考文献:1 李国勇,智能预测控制及其MATLAB实现(第2版)M.电子工业出版社,2010-01-01.2 傅荟璇,赵红,等MATLAB神经网络应用设计M北京:北京机械工业出版社,20103A. Blanco, M. Delgado, M.C. Pegalajar.A real-coded genetic algorithm for training recurrent neural netwo

    24、rksJ.Neural Networks 14 (2001) 931054 钱贺斌. 基BP神经网络的函数逼近及MABLAB仿真J.吉林省教育学院学报,2012,12(28):22-255 Pan S T,Wu C H,Lai C CThe Application of Improved Genetic AlgoritIlm On The Training of Neural Network for Speech RecognitionCInformation and Control,Second International Conference on Innovative Computing

    25、,2007:168一1716 Grzesiak L M,Meganck V,Sobolewski J,et al,Genetic Algorithm for Parameters Optimization of ANN-based Speed ControllerCThe International Conference on“Computer as a tool”。2007:170017057李伟超,宋大猛,陈斌基于遗传算法的人工神经网络J计算机工程与设计,2006,27(2):3163188 Wu Yan,FENG ZhaoAdaptive invading genetic algorit

    26、hm based on chaos searchJJournal of computer applications(武妍,冯钊一种基于混沌搜索的自适应入侵遗传算法计算机应用),2008,28(1):l0l1039 MATLAB中文论坛编著,Matlab神经网络30个案例分析M北京航天航空大学出版社,2010-04-0110Vitoantonio Bevilacqua, Giuseppe Mastronardi.Genetic Algorithms and Artificial Neural Networks in Microarray Data Analysis:a Distributed A

    27、pproach.JEngineering Letters, 13:3, EL_13_3_14附录主要代码1.用遗传算法优化网络权值阈值,并对非线性函数进行拟合的主要代码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_

    28、train);outputn,outputps=mapminmax(output_train);net=newff(inputn,outputn,hiddennum); %构建网络% 遗传算法参数初始化maxgen=20; %进化代数,即迭代次数sizepop=10; %种群规模pcross=0.2; %交叉概率选择,0和1之间pmutation=0.1; %变异概率选择,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(lenchro


    注意事项

    本文(基于遗传算法的BP神经网络的应用.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开