📄 trainblueestimation.m
字号:
%训练评估,为了找到一个比较好的初始权值,第三步做的工作
%隐层可以选20,40,80,140
clear;
load BlueNeualNetwork.txt -mat; %载入阶数和网络
load data.txt -mat;
% net.trainParam.epochs = 200; %最大迭代次数
% net.trainParam.goal= 0.5; %性能目标
samplenum=size(TrainingObject,2); %得到样本数
GoodMSE=30;
correctnum=0;
for n=200:samplenum-1 %抽样训练
net=init(net); %为了更好的性能,,需要随机的初始化函数
[net,tr]=train(net,TrainingSample(:,1:n),TrainingObject(:,1:n));
prediction=sim(net,TrainingSample(:,n+1)); %预测值
real=TrainingObject(:,n+1); %目标值
MSE=tr.perf(size(tr.perf,2)); %计算性能
if(abs(prediction-real)<0.6) %计算正确率
correctnum=correctnum+1;
end;
if(GoodMSE>MSE) %得到一个更好的网络
save GoodBlueNetwork.txt net MSE pn tr n correctnum; %训练过程要存下来
GoodMSE=MSE;
end;
save state.mat; %每做完一次训练后保存一次以便将来能继续
save n.txt n MSE correctnum -ascii; %可以让我们看出当前训练到哪一步了,MSE是多少,预测能力是多少
end
num=samplenum-200;
ratio=correctnum/num; %正确率
save ratio.txt ratio -ascii; %记录正确率
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -