




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
读取%数据data=xls read(data . xls);培训预测数据%Data _ train=data (1:13,);Data _ test=data (11:13,);Input _ train=data _ train (:1:9);Output _ train=data _ train (:10);Input _ test=data _ test (:1:9);Output_test=data_test(:10);规范化%数据inputn,mininput,maxinput,outputn,min output,max output=premnmx (input _ train,output _)% p和t的字标准化预处理Net=newff (inputn),10,1,tan SIG,pure Lin,train lmnet . trainparam . epochs=100;net . trainparam . lr=0.1;net . trainparam . goal=0.00001;%net.trainParam.show=NaN%网络培训Net=train(net,inputn,outputn);规范化%数据Inputn _ test=tramnmx (input _ test,mininput,max input);An=sim(net,inputn);Test _ simu=postmnmx (an,min output,max output);error=test _ simu-output _ train;Plot(错误)k=错误。/output_trainFunction ret=cross (p cross,lenchrom,chrom,size pop,bound)%此函数完成交叉点操作% pcorss input :交叉概率% lenchrom input :染色体的长度% chrom input :染色体组% sizepop input :人口大小% ret output :交叉染色体For i=1:sizepop%在每个轮子上可以执行交叉操作,染色体是随机选择的,交叉位置也是随机选择的。%但是,车轮for循环是否执行相交操作取决于相交概率(continue控制)%随机选择两条染色体并将其交叉Pick=rand(1,2);while prod(pick)=0Pick=rand(1,2);EndIndex=ceil(pick .* size pop);%相交概率确定是否相交Pick=randWhile pick=0Pick=randEndIf pickpcrossContinueEndflag=0;While flag=0%随机选择交叉位Pick=randWhile pick=0Pick=randEndPos=ceil(pick .* sum(lenchrom)%请注意随机相交的位置,即选择要相交的第一个变量,两条染色体相交的位置相同Pick=rand%交集起点V1=chrom(索引(1),pos);V2=chrom(索引(2),pos);Chrom (index (1),pos)=pick * v2(1-pick)* v1;Chrom (index (2),pos)=pick * v1(1-pick)* v2;%交集结束Flag 1=test (lenchrom,bound,chrom (index (1),);检查%染色体1的可行性Flag 2=test (lenchrom,bound,chrom (index (2),);%染色体2的可行性检验If flag1*flag2=0flag=0;else flag=1;End%如果两条染色体都不可行,则再次交叉EndEndRet=chrom清除%环境变量ClcClear%构建网络结构读取%数据Load data input output%节点数input num=2;hiddennum=5;output num=1;%培训数据和预测数据Input _ train=input (1:11,);Input _ test=input (1901:00,);output _ train=output(1:11);output _ test=output(1901:0000);%选择样本输入和输出数据规范化inputn,input PS=map min max(input _ train);outputn,output PS=map min max(output _ train);构建%网络Net=newff (inputn,outputn,hidden num);初始化%遗传算法参数Maxgen=10%进化代数,即迭代次数Sizepop=10%人口规模PC cross=0.3;%交叉概率选择,介于0和1之间pmutation=0.1;%转移概率选择,0到1之间节点总数num sum=inputnum * hidden num hidden num * output num output num;Lenchrom=ones(1,numsum);Bound=-3 * ones (num sum,1) 3 * ones (num sum,1);%数据范围%-初始化总量-是-是-是Individuals=struct (fitness,zeros (1,size pop),chrom,);将%人口信息定义为结构avg fitness=;每一代的平均适应能力best fitness=;%每一代最佳适合性best chrom=;%适应性最好的染色体%初始化总量For i=1:sizepop%随机创建一个对象Individuals.chrom (I,)=代码(lenchrom,bound);%编码(binary和grey的编码结果是实数,float的编码结果是实数向量)X=individuals.chrom(i,);%计算适合性Individuals.fitness (I)=fun (x、inputnum、hidden num、output num、net、inputn、outputn);%染色体适应性End找到%最好的染色体best fitness best index=min(individuals . fitness);best chrom=individuals . chrom(best index,);%最好的染色体avg fitness=sum(individuals . fitness)/size pop;%染色体的平均适应性%记录每一代进化中最好的适应度和平均适应度trace=avg fitness best fitness;%迭代解决了最佳初始阈值和权重%进化开始For i=1:maxgenI选择%Individuals=select (individuals,size pop);avg fitness=sum(individuals . fitness)/size pop;%交集Individuals.chrom=cross (p cross,lenchrom,Individuals.chrom,size pop,bound);%变异Individuals.chrom=mutation(p mutation,lenchrom,individuals . chrom,size pop,I,max gen,bound);%计算适合性For j=1:sizepopX=individuals.chrom(j,);%解码Individuals.fitness (j)=fun (x、inputnum、hidden num、output num、net、inputn、outputn);End查找%最小和最大适合性的染色体以及在人口中的位置newbestfitness,newbestindex=min(individuals . fitness);worest fitness,worest index=max(individuals . fitness);%取代了最后进化中最好的染色体If bestfitnessnewbestfitnessBestfitness=newbestfitnessbest chrom=individuals . chrom(newbest index,);EndIndividuals.chrom (worest index,)=best chrom;individuals . fitness(worest index)=best fitness;avg fitness=sum(individuals . fitness)/size pop;trace=trace;avg fitness best fitness;%记录每一代进化中最好的适应度和平均适应度End%遗传算法结果分析Figure(1)r c=size(trace);Plot (1: r,trace (:2),B-);Title(适合曲线终止代数=num 2 str(max gen);Xlabel(进化代数);Ylabel(适应性);Legend(平均适应性,最佳适用性);Disp(自适应变量);X=bestchrom%赋予网络预测的最佳初始阈值权重%使用遗传算法优化的BP网络预测值w1=x(13360 inputnum * hiddennum);B1=x(inputnum * hidden num 13360 inputnum * hidden num);w2=x(inputnum * hidden num 13360 inputnum * hidden num hidden num * output num);B2=x(inputnum * hidden num hidden num * output num 13360 inputnum * hidden num hidden num * output num);Net.iw 1,1=reshape (w1,hidden num,input num);Net.lw 2,1=reshape (w2,outputnum,hidden num);Net.b 1=reshape (B1,hidden num,1);Net.b 2 =B2% BP网络培训%网络演化参数net . trainparam . epochs=100;net . trainparam . lr=0.1;% net . trainpara
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 33208-2025设备结构健康监测基于叶尖定时原理的透平叶片振动在线监测方法
- 软件技术专业教学标准(高等职业教育专科)2025修订
- 2025年中国紧急救援和其他救助服务行业市场全景分析及前景机遇研判报告
- 2025年中国建筑护板行业市场全景分析及前景机遇研判报告
- 2025年中国咖啡器具行业市场发展监测及投资前景展望报告
- 癌症患者情绪疏导
- 防爆培训课件
- 中国维生素B12行业市场调查研究及投资规划建议报告
- 2020-2025年中国摩托车铝轮行业市场调研分析及投资前景预测报告
- 2024年中国四氯吡啶行业市场调查报告
- 电子政务内网机房运维管理制度
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 学习通《科研诚信与学术规范》课后及考试答案
- 典当行组织架构和岗位设置
- 2023-2024学年内蒙古自治区锡林浩特市小学语文五年级期末自我评估试题
- GB/T 24025-2009环境标志和声明Ⅲ型环境声明原则和程序
- 《半导体及二极管》教学课件
- 病房床头卡模板
- 2022年西双版纳傣族自治州景洪教师进城考试笔试题库及答案解析
- 公路改建工程边施工边通车安全专项施工方案
- 道路交通安全法律法规知识测试题
评论
0/150
提交评论