资源描述:
《《人工智能导论》课程研究总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《人工智能导论》课程研究总结题目:BP神经网络的非线性函数拟合班级:姓名:学号:年月曰本次作业我负责程序的编写,过程如下Matlab软件中包含Matlab神经网络工具箱。它是以人工神经网络理论为基础,用Matlab语言构造出了该理论所涉及的公式运算、短阵操作和方程求解等大部分子程序以用于神经网络的设计和训练。用户只需根据自己的需要调用相关的了程序,即可以完成包括网络结构设计、权值初始化、网络训练及结杲输出等在内的一系列工作,免除编写复杂庞大程序的困扰。目前,Matlab神经网络工具包包描的网络有感知器、线性网络、
2、BP神经网络、径向基网络、自组织网络和冋归网络等。BP神经网络主要用至!Jnewff、sim和train3个神经网络函数,各函数解释如下。1、newff:BP神经网络参数设置函数函数功能:构建-个BP神经网络。函数形式:not=newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)P:输入数据矩阵。T:输出数据矩阵。S:隐含层结点数。TF:结点传递函数,包括硕限幅传递函数hardlim,对称硕限幅传递函数hardlims,线性传递函数pureline,正切S型传递函数tansig,对数S型传
3、递函数logsigoBTF:训练函数,包括梯度卜•降BP算法训练函数traingd,动量反传的梯度卜降BP算法训练函数traingclm,动态自适应学习率的梯度下降BP算法训练函数traingda,动量反传和动态自适应学习率的梯度下降BP算法训练函数traingdx,LevenbergMarquardt的BP算法训练函数trainlmoBLF:网络学习函数,包括BP学习规格learngd,带动量项的BP学习规则learngdmoP"性能分析函数,包扌舌均值绝对误差性能分析函数mae,均方差性能分析函数mseoTP
4、F:输入处理函数。0PF:输出处理函数。DDF:验证数据划分函数。一般在使用过程中设置前面6个参数,后面4个参数采用系统默认参数。2、train:BP神经网络训练函数函数功能:用训练数据训练BP神经网络。函数形式:[net,tr]=train(NET,X,T,Pi,Ai)NET:待训练网络。X:输入数据。T:输出数据。Pi:初始化输入层条件。Ai:初始化输出层条件。not:训练好的网络。tr:训练过程记录。一般在使用过程屮设置前面3个参数,后面2个参数采用系统默认参数。3、sim:BP神经网络预测函数、函数功能:
5、用训练好的BP神经网络预测函数输出。函数形式:y二sim(net,x)net:训练好的网络。x:输入数据。y:网络预测数据。程序代码:%%清空环境变量clcclear%%训练数据预测数据提取及归一化%导入输入输出数据loaddatainputoutput%从1到2000间随机排序k=rand(l,2000);[m,n]二sort(k);%随机选择1900组训练数据和100组预测数据input_train=input(n(1:1900),:),;outputtrain二output(n仃:1900));input_
6、test=input(n(1901:2000),;output_tcst=output(n(1901:2000));%训练数据归一化[inputn,inputps]=mapminmax(inputtrain);[outputn,outputps]=mapminmax(output_train);%%BP网络训练%初始化BP网络结构net=newff(inputn,outputn,5);%网络参数配置(迭代次数、学习率、目标)net.trainParam・epochs二100;net.trainParam・0.1;
7、net・trainParam.goal=0.00004;%网络训练net二tmin(nct,inputn,outputn);%%BP网络预测%预测数据归一化inputn_test=mapminmaxCapply",inputtest,inputps);%网络预测输岀an=sim(net,inputntest);%网络输出反归一化BPoutput=mapminmax(,reverse,,an,outputps);%%结果分析figure(1)plot(BPoutput,':og,)holdonplot(output
8、_test,'-*');legendC预洒输出',’期望输出')title(,BP网络预测输出','fontsize,,12)ylabel('函数输出','fontsize',12)xlabcl('样本','fontsize,,12)%预测误差error=BPoutput-output_test;figure(2)plot(error,'-*')title('BP网络预测