神经网络遗传算法函数极值寻优_第1页
神经网络遗传算法函数极值寻优_第2页
神经网络遗传算法函数极值寻优_第3页
神经网络遗传算法函数极值寻优_第4页
神经网络遗传算法函数极值寻优_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网算数优神经网络遗传算法函数极值寻优编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(神经网络遗传算法函数极值寻优)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为神经网络遗传算法函数极值寻优的全部内容。第|页1网算数优BeijingJiaotongUniversity智能控制技术报告神经网络遗传算法函数极值寻优学 电子信息工程学院院:学号:姓名:指导教师:时 201411。29间:第|页2录网算数录一、课题背景.........................................5二、模型建立.........................................62.1算法流程....................................................................................62。2BP算法实现............................................................................62.2。1数据选择和归一化.............................................................62。2.2BP神经网络训练................................................................72。2.3BP神经网络预测................................................................72.3遗传算法实现.............................................................................82。3。1种群初始化........................................................................82。3.2适应度函数.........................................................................82。3。3选择操作...........................................................................82。3.4交叉操作.............................................................................82.3。5变异操作.............................................................................9三、编程实现.........................................93.1数据准备....................................................................................93.2BP神经网络主函数....................................................................93.3编码函数...................................................................................113。4适应度函数.............................................................................113.5选择操作...................................................................................113.6交叉操作...................................................................................123。7变异操作................................................................................133。8遗传算法主函数.....................................................................14四、结果分析.......................................64.1BP神经网络拟合结果分析......................................................164。2遗传算法寻优结果分析.........................................................18第|页3网算数优第|页4一、课题背景 网算数优在研究中经常会遇到一些非常复杂的非线性系统,这些系统方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。该方法把系统看成是一个黑箱,首先用系统输入输出数据训练BP神经网络,使网络能够表达该未知函数,然后就可以用训练好的BP神经网络预测系统输出.对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值.遗传算法通过模拟自然界遗传机制和生物进化论能够进行并行随机搜索最优化,所以对非线性函数极值寻优可以通过神经网络结合遗传算法求解。利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。本文拟合的非线性函数为:该函数的图形如图所示:图1—1待拟合函数图形从函数方程和图形可以看出,该函数仅有一个全局最大值为0。9655,对应的坐标是(0。537,0.965).虽然从函数方程和图形中很容易找出函数及极值对应的坐标,但是在方程未知第|页5网算数优的条件下函数极值及极值对应的坐标就很难求到。二、模型建立2。1算法流程神经网络遗传算法函数极值寻优主要分为BP神经网络训练拟合和遗传算法极值寻优两步,算法流程如图所示:图2-1算法流程图神经网络训练拟合根据寻优函数的特点构建适合的BP神经网络,用非线性函数的输入输出数据训练BP神经网络,训练后的神经网络就可以预测函数输出。遗传算法极值寻优把训练后的BP神经网络预测结果作为个体适应度值,通过选择、交叉和变异操作寻找函数的全局最优值及对应的.2。2BP算法实现2.2。1数据选择和归一化数据归一化是神经网络训练和预测前对数据常做的一种处理方法。数据归一化处理把所有的数据都归一化为[0,1之间的数,其目的是取消各维数据间数量级差别,避免因为输入第|页6网算数优输出数据数量级差别较大而造成训练失败或者预测误差较大。数据归一化可以使用MATLAB自带函数mapminmax,该函数有多种形式,常用的方法如下:%样本输入输出数据归一化[inputn,inputps]=mapminma(input_trai);[output,outputps]=mapminmax(output_trai);input_trai、output_train是训练输入、输出原始数据,inputn、outputn是归一化后的数据inputp、outputps为数据归一化后得到的结构体,里面包含了数据的最大值、最小值和平均值等信息,可以用于测试数据归一化和反归一化。测试数据归一化和反归一化程序一般如下:%数据归一化inputn_test=mapminmax'apply,input_test,inputps);%网络输出反归一化BPoutput=mapminma(’reverse,a,outputp);input_test是预测输入数据,input_test是归一化后的预测数据,’apply'表示根据inputps进行归一化;an是网络预测结果,outputs是训练输出数据归一化得到的结构体,BPoutput是反归一化后的网络预测输出,’reverse表示对数据进行反归一化。2.2。2BP神经网络训练用训练数据训练神经网络,使网络对非线性函数具有预测能力.MATLAB神经网络工具箱中自带BP神经网络函数,使用时只需要调用相关的子程序即可.BP神经网络训练主要用到newf、sim两个函数.1.newff:BP神经网络参数设置函数函数功能:构建一个BP网.函数形式net=newff(P,T,S,TF,BTF,BLF,P,IPF,OPF,DDF)2.train:BP神经网络训练函数函数功能:用训练数据训练BP神经网络。函数形:[net,tr]=train(NET,X,T,Pi,Ai)2。2.3BP神经网络预测用训练好的BP神经网络预测非线性函数输出,并通过BP神经网络预测输出和期望输出分析BP网络的分析能力.MATLAB神经网络工具箱提供的BP神经网络预测函数是sim.第|页7网算数优.sim:BP神经网络预测函数函数功能:用训练好的BP神经网络预测函数输出函数形式y=sim(net,y)以上三个函数的具体用法可以参考其自带的帮助,本文不作详述。根据需要拟合的函数有1个输入参数、1个输出参数,确定BP神经网络为1—5-1。取函数的4000组输入输出数据,从中随机选取3900组训练网络100组数据测试网络性能,网络训练好后用于非线性函数输出。2。3遗传算法实现2.3.1种群初始化个体编码方法为实数编码,每个个体均为一个实数串,由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4部分组成。个体包含了神经网络全部权值和阈值,在网络结构已知的情况下,就可以构成一个结构、权值、阈值确定的神经网络。2。3。2适应度函数根据个体得到的BP神经网络的初始权值和阈值,用训练数据训练BP神经网络后预测系统输出,把训练好的BP神经网络预测输出作为个体适应度的值。2.3。3选择操作遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本文采用采用轮盘赌法,即基于适应度比例的选择策略,每个个体i的选择为:其中,为个体i的适应度值,N为种群的个体数目。2。3。4交叉操作由于个体采用实数编码,所以交叉操作方法采用实数交叉法,d第k个染色体和第l个染色体在j位的交叉操作方法如下:其中,b是[0,1]间的随机数。第|页8网算数优2。3.5变异操作选取第i个个体的第j个基因进行变,变异操作方法如下:式中,为基因的上界;为基因的下界; ;为一个随机数;g为当前迭代次;是最大进化次数;r为[0,1]之间的随机数三、编程实现3.1数据准备根据拟合函数得到4000组输入input和输出数据output存入data中。fori=14000input(i,:=3*ad;output(i)=-inpu(i)*(input(i)^2-2*input(i)+2.89)t(i)2;doutput=output';savedatainputoutput3。2BP神经网络主函数对于4000组数据,采用其中3900组用来训练神经网络,最后100组用来测试网络拟合性能。%%清空环境变量clccleardata;tic%%训练数据预测数据提取及归一化%下载输入输出数据loaddataoutputinput%从1到4000间随机排序k=ran(1,400);[m,n]=sort(k);%找出训练数据和预测数据input_train=input((1:3900),)';output_train=outpu(n(1:3900),:)';input_test=input(n(3901:400),:)’;output_test=outpu(n(3901:4000),:)’;第|页9网算数优%选输化[in,ips]=aaun);[onummx(opa;%P网络练%结构nwpn,otn,5);naam。eo0;nt。trr01;nt。trrm。ga0;%练nan(nttn,otn);%P网络测%一化i_mm('p’,pst,iu);%出a(t,ipe);%网一化Bum(’e',aops);%结析fe(1)pPt,’o’)hdonpt(outt,’*’);l('预测出','期输出',’n’,)te('BP网预出’,'n',1)xl('样本','oe’,12)y('输出',’oe’,)pt—dtf-604—3%预差eBut—otet;f()prr,'—*')t(’神经差')fe(3)pt((outt—Bo)。/ot,’—*');te(’神经差比')第|页0网算数优eum(as(er)tcsedaantipsots3。3编码函数fonrede(ln,d)%hmint:染色度%d it:变的围%tt:染体值f0;wefl0palh(leo;%线码向入ret中ru1+(bo:2)-b(:,1))'。*c;fen,,); %的性ed3。4适应度函数fonfis=(x)%x it 个体%esot 个值lddaantipsots%化x';i_mm(’p’,is);%出am(neut;%网一化fsi(’e’,aops);3。5选择操作fonrelt(idas,se)%ist:种信息%pp it:种模%t ot:经过种群fsils。ft;第|页1网算数优snun;si1。/ues;i=[];friip%转szp次盘pad;wep=0pad;edfriippimf(i);ifc0i[xi];bk;edededidcidhnx,:);ids。ftidi(x);rda;3。6交叉操作fonreoos,lcm,coeod)%ss it:交概率%rm it:染色度%mit:染群%pp it:种规模%t ot:交体fri=zp%个交叉pad(1,;weppk)==0pad(12);edicii);%定叉pa;wep=0pa;edifk〉pcscue;edf;wef=0第|页2网算数优%叉位pa;wep=0pad;edpik。*se));pa;%始vom(i(),p);voe2),ps);cm(i(1),ps)=*+(1k)*1;ci2)*+(1k;%交结束ftt(lrm,b,i1),:));%检染体1可性ftt(lrurdx(2),:));%验体2可性iff1*fa0f;eef1;ed %如体,叉ededrrm;3。7变异操作fonretpin,lcm,coeond)%s%rm

it:变异率it:染色度%m it:染色群%ppnt:种模%s it:变方择%p it:当种数化息%t ot:变后体friip%随染异pa;wep=0pa;edicik*sip);%变该进异pa;ifpincue;edf0;wef=0第|页3网算数优%变置pad;wep=0pad;edpil(pk*sm(lh));vmi,ps);vv—bd1;vnd(p2;pad;%始ifck〉05dv2*(1p^((-p(1)/op(2))^2);ci,psea;eedv1*(-(1—pp(1/2))2));cm(i,psv—dla;ed%变束fet(lhohm(i:); %检可性ededrrm;3。8遗传算法主函数%清空环境变量clcclear%初始化遗传算法参数%初始化参数maxgen=5;sizepop=3;pcross=[0.];pmutation[0.2];lenchrom[1];

%进化代数,即迭代次数%种群规模%交叉概率选,0和1之间%变异概率选,0和1之间%每个变量的字串长度,如果是浮点变量,则长度都为1bound=[03];%数据范围individuals=struct'fitness,zeros(,sizepo),'chrom,[]);%将种群信息定义为一个结构体avgfitness[];bestfitness[];bestchrom[];

%每一代种群的平均适应度%每一代种群的最佳适应度%适应度最好的染色体%初始化种群计算适应度值第|页4网算数优%群friip%随种群ids。chi,:)e(lemd);xvsm(i,:);%度idfs(i)=f);%染度ed%色体[isnmx(iils。fn;brdas。crsx,:);anuils。fnsp;%记化应应度

%最体%染适度t=[avestss];%优%始fri=1:maxgeni%选择individuals=Select(individual,sizepop);avgfitness=sum(individual。fitness)/sizepop;%交叉individual。chrom=Cross(pcross,lenchrom,individual。chrom,sizepop,boun);%变异individuals.chrom=Mutatio(pmutation,lenchro,individual。chrom,sizepo,[imaxgen],bound);%计算适应度forj=1:sizepopx=individual。chrom(j,:);%解码individuals.fitnes(j)=fun(x);end%找到最小和最大适应度的染色体及它们在种群中的位置[newbestfitness,newbestindex]=ma(individuals。fitness);[worestfitnes,worestindex]=min(individuals.fitness;%代替上一次进化中最好的染色体ifbestfitnes〈newbestfitnessbestfitness=newbestfitnes;bestchrom=individuals.chro(newbestinde,:);endi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论