您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 神经网络遗传算法函数极值寻优
BeijingJiaotongUniversity智能控制技术报告神经网络遗传算法函数极值寻优学院:电子信息工程学院学号:姓名:指导教师:时间:2014.11.29神经网络遗传算法函数极值寻优第|页2目录一、课题背景...............................................................................................................................3二、模型建立...............................................................................................................................32.1算法流程.........................................................................................................42.2BP算法实现....................................................................................................42.2.1数据选择和归一化....................................................................................42.2.2BP神经网络训练.......................................................................................52.2.3BP神经网络预测.......................................................................................52.3遗传算法实现.................................................................................................62.3.1种群初始化................................................................................................62.3.2适应度函数................................................................................................62.3.3选择操作....................................................................................................62.3.4交叉操作....................................................................................................62.3.5变异操作....................................................................................................6三、编程实现...............................................................................................................................63.1数据准备.........................................................................................................63.2BP神经网络主函数........................................................................................73.3编码函数.........................................................................................................83.4适应度函数.....................................................................................................93.5选择操作.........................................................................................................93.6交叉操作.......................................................................................................103.7变异操作.......................................................................................................113.8遗传算法主函数...........................................................................................12四、结果分析.............................................................................................................................144.1BP神经网络拟合结果分析...........................................................................144.2遗传算法寻优结果分析................................................................................16神经网络遗传算法函数极值寻优第|页3一、课题背景在研究中经常会遇到一些非常复杂的非线性系统,这些系统方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。该方法把系统看成是一个黑箱,首先用系统输入输出数据训练BP神经网络,使网络能够表达该未知函数,然后就可以用训练好的BP神经网络预测系统输出。对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。遗传算法通过模拟自然界遗传机制和生物进化论能够进行并行随机搜索最优化,所以对非线性函数极值寻优可以通过神经网络结合遗传算法求解。利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。本文拟合的非线性函数为:f(x)=−𝑥(𝑥2−3.2𝑥+2.89)(𝑥−3)2𝑥∈[0,3]该函数的图形如图所示:图1-1待拟合函数图形从函数方程和图形可以看出,该函数仅有一个全局最大值为0.9655,对应的坐标是(0.537,0.9655)。虽然从函数方程和图形中很容易找出函数及极值对应的坐标,但是在方程未知的条件下函数极值及极值对应的坐标就很难求到。二、模型建立神经网络遗传算法函数极值寻优第|页42.1算法流程神经网络遗传算法函数极值寻优主要分为BP神经网络训练拟合和遗传算法极值寻优两步,算法流程如图所示:图2-1算法流程图神经网络训练拟合根据寻优函数的特点构建适合的BP神经网络,用非线性函数的输入输出数据训练BP神经网络,训练后的神经网络就可以预测函数输出。遗传算法极值寻优把训练后的BP神经网络预测结果作为个体适应度值,通过选择、交叉和变异操作寻找函数的全局最优值及对应的值。2.2BP算法实现2.2.1数据选择和归一化数据归一化是神经网络训练和预测前对数据常做的一种处理方法。数据归一化处理把所有的数据都归一化为[0,1]之间的数,其目的是取消各维数据间数量级差别,避免因为输入输出数据数量级差别较大而造成训练失败或者预测误差较大。数据归一化可以使用MATLAB自带函数mapminmax,该函数有多种形式,常用的方法如下:%样本输入输出数据归一化神经网络遗传算法函数极值寻优第|页5[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);input_train、output_train是训练输入、输出原始数据,inputn、outputn是归一化后的数据,inputps、outputps为数据归一化后得到的结构体,里面包含了数据的最大值、最小值和平均值等信息,可以用于测试数据归一化和反归一化。测试数据归一化和反归一化程序一般如下:%数据归一化inputn_test=mapminmax('apply',input_test,inputps);%网络输出反归一化BPoutput=mapminmax('reverse',an,outputps);input_test是预测输入数据,input_test是归一化后的预测数据,'apply'表示根据inputps进行归一化;an是网络预测结果,outputs是训练输出数据归一化得到的结构体,BPoutput是反归一化后的网络预测输出,'reverse'表示对数据进行反归一化。2.2.2BP神经网络训练用训练数据训练神经网络,使网络对非线性函数具有预测能力。MATLAB神经网络工具箱中自带BP神经网络函数,使用时只需要调用相关的子程序即可。BP神经网络训练主要用到newff、sim两个函数。1.newff:BP神经网络参数设置函数函数功能:构建一个BP网络。函数形式:net=newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)2.train:BP神经网络训练函数函数功能:用训练数据训练BP神经网络。函数形式:[net,tr]=train(NET,X,T,Pi,Ai)2.2.3BP神经网络预测用训练好的BP神经网络预测非线性函数输出,并通过BP神经网络预测输出和期望输出分析BP网络的分析能力。MATLAB神经网络工具箱提供的BP神经网络预测函数是sim。1.sim:BP神经网络预测函数函数功能:用训练好的BP神经网络预测函数输出函数形式:y=sim(net,y)以上三个函数的具体用法可以参考其自带的帮助,本文不作详述。根据需要拟合的函数有1个输入参数、1个输出参数,确定BP神经网络为1-5-1。取函数的4000组输入输出数据,从中随机选取3900组训练网络,100组数据测试网络性能,网络训练好后用于非线性函数输出。神经网络遗传算法函数极值寻优第|页62.3遗传算法实现2.3.1种群初始化个体编码方法为实数编码,每个个体均为一个实数串,由输入层与隐含层连接权值、隐含层阈值、隐含层与输出层连接权值以及输出层阈值4部分组成。个体包含了神经网络全部权值和阈值,在网络结构已知的情况下,就可以构成一个结构、权值、阈值确定的神经网络。2.3.2适应度函数根据个体得到的BP神经网络的初始权值和阈值,用训练数据训练BP神经网络后预测
本文标题:神经网络遗传算法函数极值寻优
链接地址:https://www.777doc.com/doc-4224539 .html