📄 p4.521.txt
字号:
%数据文件为choles_all安装文件C:\MATLAB7\toolbox\nnet\nndemos
load choles_all
%prestd数据预处理
[pn,meanp,stdp,tn,ment,stdt]=prestd(p,t);
%prepca主要成分分析
[ptrans,transMat]=prepca(pn,0.001);
%验证矩阵大小
[R,Q]=size(ptrans)
%数据分组,训练,验证,测试(等间隔抽取)
iitst=2:4:Q;
iival=4:4:Q;
iitr=[1:4:Q 3:4:Q];
val.P=ptrans(:,iival);val.T=tn(:,iival);
test.P=ptrans(:,iitst);test.T=tn(:,iitst);
ptr=ptrans(:,iitr);ttr=tn(:,iitr);
%网络建立
net=newff(minmax(ptr),[5,3],{'tansig' 'purelin'},'trainlm');
%训练
[net,tr]=train(net,ptr,ttr,[],[],val,test);
%显示训练误差,验证误差,测试误差
plot(tr.epoch,tr.perf,'-',tr.epoch,tr.vperf,':',tr.epoch,tr.tperf,'- .')
legend('Training','Validation','Test',-1);
ylabel('平方差');
xlabel('时间');
%sim仿真,poststd反规范化转换
an=sim(net,ptrans);
a=poststd(an,ment,stdt);
%hdl,ldl,vhdl线形回归
for i=1:3
figure(i)
[m(i),b(i),r(i)]=postreg(a(i,:),t(i,:));
end
%改进20个神经元
net=newff(minmax(ptr),[20,3],{'tansig' 'purelin'},'trainlm');
[net,tr]=train(net,ptr,ttr,[],[],val,test);
plot(tr.epoch,tr.perf,'-',...
tr.epoch,tr.vperf,':',tr.epoch,tr.tperf,'- .')
legend('Training','Validation','Test',-1);
ylabel('平方差');
xlabel('时间');
%线形回归
an=sim(net,ptrans);
a=poststd(an,ment,stdt);
for i=1:3
figure(i)
[m(i),b(i),r(i)]=postreg(a(i,:),t(i,:));
end
[m(1),b(1),r(1)]=postreg(a(1,:),t(1,:));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -