神经网络遗传算法函数极值寻优.doc

神经网络遗传算法函数极值寻优.doc

ID:59409784

大小:536.50 KB

页数:18页

时间:2020-05-26

神经网络遗传算法函数极值寻优.doc_第1页
神经网络遗传算法函数极值寻优.doc_第2页
神经网络遗传算法函数极值寻优.doc_第3页
神经网络遗传算法函数极值寻优.doc_第4页
神经网络遗传算法函数极值寻优.doc_第5页
资源描述:

《神经网络遗传算法函数极值寻优.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、BeijingJiaotongUniversity智能控制技术报告神经网络遗传算法函数极值寻优学院:电子信息工程学院学号:姓名:指导教师:时间:2014.11.29目录一、课题背景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变异操作11

2、3.8遗传算法主函数12四、结果分析144.1BP神经网络拟合结果分析144.2遗传算法寻优结果分析16一、课题背景在研究中经常会遇到一些非常复杂的非线性系统,这些系统方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。该方法把系统看成是一个黑箱,首先用系统输入输出数据训练BP神经网络,使网络能够表达该未知函数,然后就可以用训练好的BP神经网络预测系统输出。对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。遗传算法通过模拟自然界遗传机制和生物进化论能够进行并行随机搜索最优化,所以对非线性函数极值寻优可以通过神经网络结合遗传

3、算法求解。利用神经网络的非线性拟合能力和遗传算法的非线性寻优能力寻找函数极值。本文拟合的非线性函数为:该函数的图形如图所示:图1-1待拟合函数图形从函数方程和图形可以看出,该函数仅有一个全局最大值为0.9655,对应的坐标是(0.537,0.9655)。虽然从函数方程和图形中很容易找出函数及极值对应的坐标,但是在方程未知的条件下函数极值及极值对应的坐标就很难求到。一、模型建立2.1算法流程神经网络遗传算法函数极值寻优主要分为BP神经网络训练拟合和遗传算法极值寻优两步,算法流程如图所示:图2-1算法流程图神经网络训练拟合根据寻优函数的特点构建适合的BP神经网络,用非线性函数的输

4、入输出数据训练BP神经网络,训练后的神经网络就可以预测函数输出。遗传算法极值寻优把训练后的BP神经网络预测结果作为个体适应度值,通过选择、交叉和变异操作寻找函数的全局最优值及对应的值。2.2BP算法实现2.2.1数据选择和归一化数据归一化是神经网络训练和预测前对数据常做的一种处理方法。数据归一化处理把所有的数据都归一化为[0,1]之间的数,其目的是取消各维数据间数量级差别,避免因为输入输出数据数量级差别较大而造成训练失败或者预测误差较大。数据归一化可以使用MATLAB自带函数mapminmax,该函数有多种形式,常用的方法如下:%样本输入输出数据归一化[inputn,inpu

5、tps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);input_train、output_train是训练输入、输出原始数据,inputn、outputn是归一化后的数据,inputps、outputps为数据归一化后得到的结构体,里面包含了数据的最大值、最小值和平均值等信息,可以用于测试数据归一化和反归一化。测试数据归一化和反归一化程序一般如下:%数据归一化inputn_test=mapminmax('apply',input_test,inputps);%网络输出反归一化BPoutp

6、ut=mapminmax('reverse',an,outputps);input_test是预测输入数据,input_test是归一化后的预测数据,'apply'表示根据inputps进行归一化;an是网络预测结果,outputs是训练输出数据归一化得到的结构体,BPoutput是反归一化后的网络预测输出,'reverse'表示对数据进行反归一化。2.2.2BP神经网络训练用训练数据训练神经网络,使网络对非线性函数具有预测能力。MATLAB神经网络工具箱中自带BP神经网络函数,使用时只需要调用相关的子程序即可。BP神经网络训练主要用到newff、sim两个函数。1.newf

7、f: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神经网络预

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。