清空环境变量
clc;
clear all
close all
nntwarn off;
载入数据
load data;% 载入数据并将数据分成训练和预测两类
p_train=p(1:12,:);
t_train=t(1:12,:);
p_test=p(13,:);
t_test=t(13,:);
交叉验证
desired_spread=[];
mse_max=10e20;
desired_input=[];
desired_output=[];
result_perfp=[];
indices = crossvalind('Kfold',length(p_train),4);
h=waitbar(0,'正在寻最优化参数....');
k=1;for i = 1:4
perfp=[];
disp(['以下为第',num2str(i),'次交叉验证结果'])
test = (indices == i); train = ~test;
p_cv_train=p_train(train,:);
t_cv_train=t_train(train,:);
p_cv_test=p_train(test,:);
t_cv_test=t_train(test,:);
p_cv_train=p_cv_train';
t_cv_train=t_cv_train';
p_cv_test= p_cv_test';
t_cv_test= t_cv_test';
[p_cv_train,minp,maxp,t_cv_train,mint,maxt]=premnmx(p_cv_train,t_cv_train);
p_cv_test=tramnmx(p_cv_test,minp,maxp);
for spread=0.1:0.1:2;
net=newgrnn(p_cv_train,t_cv_train,spread);
waitbar(k/80,h);
disp(['当前spread值为', num2str(spread)]);
test_Out=sim(net,p_cv_test);
test_Out=postmnmx(test_Out,mint,maxt);
error=t_cv_test-test_Out;
disp(['当前网络的mse为',num2str(mse(error))])
perfp=[perfp mse(error)];
if mse(error)<mse_max
mse_max=mse(error);
desired_spread=spread;
desired_input=p_cv_train;
desired_output=t_cv_train;
end
k=k+1;
end
result_perfp(i,:)=perfp;end;
close(h)
disp(['最佳spread值为',num2str(desired_spread)]) disp(['此时最佳输入值为'])
desired_input
disp(['此时最佳输出值为'])
desired_output
以下为第1次交叉验证结果
当前spread值为0.1
当前网络的mse为168102714.7778
当前spread值为0.2
当前网络的mse为168091990.0268
当前spread值为0.3
当前网络的mse为164945820.5627
当前spread值为0.4
当前网络的mse为140601500.0384
当前spread值为0.5
当前网络的mse为95022888.7014
当前spread值为0.6
当前网络的mse为56407197.1141
当前spread值为0.7
当前网络的mse为37096067.4492
当前spread值为0.8
当前网络的mse为31825493.799
当前spread值为0.9
当前网络的mse为32462872.242
当前spread值为1
当前网络的mse为33652511.6532
当前spread值为1.1
当前网络的mse为32966217.7425
当前spread值为1.2
当前网络的mse为29890389.335
当前spread值为1.3
当前网络的mse为24995917.0594
当前spread值为1.4
当前网络的mse为19370217.682
当前spread值为1.5
当前网络的mse为14208720.1822
当前spread值为1.6
当前网络的mse为10537775.1454当前spread值为1.7
当前网络的mse为9068984.4988当前spread值为1.8
当前网络的mse为10166272.5783当前spread值为1.9
当前网络的mse为13888509.6607当前spread值为2
当前网络的mse为20068185.6074以下为第2次交叉验证结果
当前spread值为0.1
当前网络的mse为470044911.7778当前spread值为0.2
当前网络的mse为470044912.1181当前spread值为0.3
当前网络的mse为470066830.1367当前spread值为0.4
当前网络的mse为470940334.7725当前spread值为0.5
当前网络的mse为473738776.7205当前spread值为0.6
当前网络的mse为476909935.8136当前spread值为0.7
当前网络的mse为483333587.1483当前spread值为0.8
当前网络的mse为497618821.8609当前spread值为0.9
当前网络的mse为520938453.2013当前spread值为1
当前网络的mse为552476201.7562当前spread值为1.1
当前网络的mse为591187778.9418当前spread值为1.2
当前网络的mse为636262961.2596当前spread值为1.3
当前网络的mse为687068970.0957当前spread值为1.4
当前网络的mse为743015571.4416当前spread值为1.5
当前网络的mse为803468244.8987当前spread值为1.6
当前网络的mse为867733104.4823当前spread值为1.7
当前网络的mse为935099586.4928当前spread值为1.8
当前网络的mse为1004907405.462当前spread值为1.9
当前网络的mse为1076602542.7849当前spread值为2
当前网络的mse为1149761313.6296以下为第3次交叉验证结果
当前spread值为0.1
当前网络的mse为95118433.5453当前spread值为0.2
当前网络的mse为78688846.7422当前spread值为0.3
当前网络的mse为46137143.2301当前spread值为0.4
当前网络的mse为34402975.1191当前spread值为0.5
当前网络的mse为31192371.876
当前spread值为0.6
当前网络的mse为30797779.4989当前spread值为0.7
当前网络的mse为31315540.9043当前spread值为0.8
当前网络的mse为32476912.4093当前spread值为0.9
当前网络的mse为34936520.8315当前spread值为1
当前网络的mse为39696330.8664当前spread值为1.1
当前网络的mse为47771222.848
当前spread值为1.2
当前网络的mse为60015679.7403当前spread值为1.3
当前网络的mse为77003449.6833当前spread值为1.4
当前网络的mse为98958937.5589当前spread值为1.5
当前网络的mse为125768502.9191当前spread值为1.6
当前网络的mse为157062950.6474当前spread值为1.7
当前网络的mse为192330183.2787当前spread值为1.8
当前网络的mse为231015742.4694
当前spread值为1.9
当前网络的mse为272588391.5951当前spread值为2
当前网络的mse为316569162.2917以下为第4次交叉验证结果
正则化损伤识别matlab当前spread值为0.1
当前网络的mse为132907387.8951当前spread值为0.2
当前网络的mse为99502383.701当前spread值为0.3
当前网络的mse为63425965.0726当前spread值为0.4
当前网络的mse为35816957.0482当前spread值为0.5
当前网络的mse为22880442.0395当前spread值为0.6
当前网络的mse为17269638.3685当前spread值为0.7
当前网络的mse为15209288.0592当前spread值为0.8
当前网络的mse为14910313.4997当前spread值为0.9
当前网络的mse为15511079.5183当前spread值为1
当前网络的mse为16691939.5748当前spread值为1.1
当前网络的mse为18397056.476当前spread值为1.2
当前网络的mse为20690407.5315当前spread值为1.3
当前网络的mse为23707370.8238当前spread值为1.4
当前网络的mse为27634558.7919当前spread值为1.5
当前网络的mse为32686552.5012当前spread值为1.6
当前网络的mse为39078299.1158当前spread值为1.7
当前网络的mse为47001474.5111当前spread值为1.8
当前网络的mse为56609948.0822当前spread值为1.9
当前网络的mse为68013700.8147当前spread值为2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论