- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用神经网训练一个网络函数
学号: 姓名: 班级:
用神经网络训练一个非线性函数
一、MATLAB 神经网络工具箱的简单介绍
MATLAB 神经网络工具箱以人工神经网络为基础 ,根据自己的需要调用相关函数,就可以完成网络设计、权值初始化、 网络训练等。本设计中使用了工具箱中BP 神经网络,BP 神经网络工具箱主要包括 newff,sim 和 train 三个神经网络函数。
newff函数的功能是构建一个 BP 神经网络。其函数形式 :net = newff (P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)。
sim函数的功能是用训练数据训练 BP 神经网络。其函数形式:[net,tr] = train(NET,X,T,Pi,Ai)。
train函数的功能是用训练好的 BP 神经网络预测函数输出,其函数形式:y=sim(net,x)。
二、设要逼近的非线性函数为:
y=2*cos(2*pi*x),-0.4X3.6。
(1) 网络建立: 使用net=newff(x,y,20,{tansig,purelin},trainlm,learngdm);语句建立一个前馈 BP 神经网络。该 BP神经网络只含有一个隐含层,神经元的个数为 20,隐层传递函数 tansig, 输出层传递函数 purelin, 训练函数为 Leven-berg_Marquardt 的 BP 算法训练函数 trainlm,网络学习函数是带动量项的 BP 学习规则 learngdm。
(2)网络训练 :使用 net=train(net,x,y);语句训练建立喊的BP 神经网络。在训练网络之前设置好训练参数。用“net.trainParam.epochs=50;net.trainParam.goal=0.01;net.train-Param.lr=0.01;
net.trainParam.show=10;”语句实现。
网络仿真 :使用 “y1=sim(net,x);y2=sim(net,x);” 语句仿真训练前后的 BP 神经网络。
二、MATLAB程序
x=[-0.4:0.04:3.6];
y=2*cos(2*pi*x);
net=newff(x,y,20,{tansig,purelin},trainlm,learngdm);
y1=sim(net,x); %为训练前进行仿真
net.trainParam.epochs=50; %训练次数
net.trainParam.goal=0.01; % 最小均方误差
图1
图2
图3
由程序知直接调用 MATLAB 软件包中的神经网络工具箱函数。 图1 为原函数与网络训练前后的仿真结果比较图。由图可知,用工具箱函数建立网络时,对权值和阈值的初始化是随机的,所以未训练网络的仿真效果很差,并且每次运行结果也不同。 训练后网络的仿真输出曲线和原函数的曲线非常接近, 这说明训练后的网络对非线性函数的逼近效果很好。网络训练过程中误差随训练时间的变化迅速减少, 在经过 6个单位时间以后,网络的误差就达到了逼近要求(图 2)。图3为几种情况下的回归线,由图可知,各点都很靠近回归线,,说明训练后的网络与非线性函数很相近。
文档评论(0)