《2022年新版Matlab中神经网络训练函数Newff的使用方法 .pdf》由会员分享,可在线阅读,更多相关《2022年新版Matlab中神经网络训练函数Newff的使用方法 .pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品资料欢迎下载新版 Matlab 中神经网络训练函数Newff 的使用方法一、 介绍新版 newff Syntax net = newff(P,T,S1 S2.S(N-l),TF1 TF2.TFNl, BTF,BLF,PF,IPF,OPF,DDF) Description newff(P,T,S1 S2.S(N-l),TF1 TF2.TFNl, BTF,BLF,PF,IPF,OPF,DDF) takes several argumentsPR x Q1 matrix of Q1 sample R-element input vectorsTSN x Q2 matrix of Q2 sampl
2、e SN-element target vectorsSiSize of ith layer, for N-1 layers, default = . (Output layer size SN is determined from T.)TFiTransfer function of ith layer. (Default = tansig for hidden layers and purelin for output layer.)BTFBackpropagation network training function (default = trainlm)BLFBackpropagat
3、ion weight/bias learning function (default = learngdm)IPFRow cell array of input processing functions. (Default = fixunknowns,removeconstantrows,mapminmax)OPFRow cell array of output processing functions. (Default = removeconstantrows,mapminmax)DDFData divison function (default = dividerand)Examples
4、 Here is a problem consisting of inputs P and targets T to be solved with a network. 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页精品资料欢迎下载P = 0 1 2 3 4 5 6 7 8 9 10;T = 0 1 2 3 4 3 2 1 2 3 4; Here a network is created with one hidden layer of five neurons. net = newff(P,T,5); The network
5、is simulated and its output plotted against the targets. Y = sim(net,P);plot(P,T,P,Y ,o) The network is trained for 50 epochs. Again the networks output is plotted. net.trainParam.epochs = 50;net = train(net,P,T);Y = sim(net,P);plot(P,T,P,Y,o) 二、 新版 newff 与旧版 newff 调用语法对比Example1 比如输入 input(6*1000)
6、,输出 output为(4*1000) ,那么旧版定义: net=newff(minmax(input),7,1,tansig,purelin,trainlm); 新版定义: net=newff(input,output,7,tansig,purelin,trainlm); Example2 比如输入 input(6*1000) ,输出 output为(4*1000) ,那么旧版定义: net=newff(minmax(input),49,10,1,tansig,tansig,tansig,traingdx);新版定义: net=newff(input,output, 49,10, tansi
7、g,tansig,tansig,traingdx); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页精品资料欢迎下载三、 旧版 newff 使用方法在新版本中使用提示:旧版本定义的newff 虽也能在新版本中使用,但会有警告,警告如下:Warning: NEWFF used in an obsolete way. In obs_use at 18 In newffcreate_network at 127 In newff at 102 See help for NEWFF to update calls to the new
8、argument list. 四、 新版 newff 与旧版 newff 使用的训练效果对比旧版本: 旧用法训练次数多,但精度高精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 8 页精品资料欢迎下载新版本: 新用法训练次数少,但精度可能达不到要求造成上述原因是:程序里面的权值、阈值的初始值是随机赋值的,所以每次运行的结果都会不一样,有好有坏。你可以把预测效果不错的网络的权值和阈值作为初始值。具体可以查看 net.iw1,1 、net.lw2,1 、net.b1 、net.b2 的值。精选学习资料 - - - - - - - - - 名师
9、归纳总结 - - - - - - -第 4 页,共 8 页精品资料欢迎下载现在给一个完整的例子% 清空环境变量clc clear % 训练数据预测数据data=importdata(test.txt); % 从 1 到 768 间随机排序k=rand(1,768); m,n=sort(k); % 输入输出数据input=data(:,1:8); output =data(:,9); % 随机提取 500 个样本为训练样本,268 个样本为预测样本input_train=input(n(1:500),:); output_train=output(n(1:500),:); input_test=
10、input(n(501:768),:); output_test=output(n(501:768),:); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 8 页精品资料欢迎下载% 输入数据归一化inputn,inputps=mapminmax(input_train); % BP 网络训练% % 初始化网络结构net=newff(inputn,output_train,10); net.trainParam.epochs=1000; net.trainParam.lr=0.1; net.trainParam.goal=0.00000
11、04; % 网络训练net=train(net,inputn,output_train); % BP 网络预测% 预测数据归一化inputn_test=mapminmax(apply,input_test,inputps); % 网络预测输出BPoutput=sim(net,inputn_test); % 结果分析精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 8 页精品资料欢迎下载% 根据网络输出找出数据属于哪类BPoutput(find(BPoutput=0.5)=1; % 结果分析% 画出预测种类和实际种类的分类图figure(1
12、) plot(BPoutput,og) hold on plot(output_test,r*); legend(预测类别 ,输出类别 ) title(BP 网络预测分类与实际类别比对,fontsize,12) ylabel(类别标签 ,fontsize,12) xlabel(样本数目 ,fontsize,12) ylim(-0.5 1.5) % 预测正确率rightnumber=0; for i=1:size(output_test,2) if BPoutput(i)=output_test(i) rightnumber=rightnumber+1; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页精品资料欢迎下载end end rightratio=rightnumber/size(output_test,2)*100; sprintf(测试准确率 =%0.2f,rightratio) 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页