24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 2356  |  回复: 1

z1991yan

铁虫 (初入文坛)

[求助] 神经网络预测误差大

求大神帮我分析一下为什么测试样本的误差太大
clear all;
p=[5        2        5        1        5        5        5        3        3        4        4        3;
4        1        5        1        5        5        3        3        3        4        4        3;
5        2        1        1        5        5        4        3        3        4        4        3;
4        1        3        4        5        4        5        4        4        4        5        4;
5        2        5        4        5        5        4        4        4        4        5        4;
6        2        5        4        5        5        3        4        4        4        5        4;
4        1        1        5        5        5        1        3        4        4        2        4;
5        2        1        5        5        5        1        3        4        4        2        4;
3        1        3        4        2        3        5        5        5        3        5        4;
4        1        5        4        2        4        4        5        5        3        5        4;
5        2        5        4        5        5        4        5        5        3        5        4;
4        1        3        2        5        4        4        3        3        4        4        4;
5        2        3        2        5        4        4        3        3        4        4        4;
4        1        3        2        5        4        2        3        3        3        3        3;
3        1        3        1        5        3        4        3        3        3        3        3;
5        2        5        3        5        5        1        3        4        4        4        3;
4        1        5        3        5        4        5        3        4        4        4        3;
5        2        3        1        3        5        2        3        4        4        4        3;
5        4        1        4        5        5        4        4        4        5        5        5;
5        1        5        4        5        5        2        4        4        5        5        5;
4        1        3        4        5        4        3        4        4        5        5        5;
4        1        3        3        5        4        4        2        2        4        3        3;
5        1        5        3        5        4        4        2        2        4        3        3;
5        2        1        5        5        5        4        2        3        4        3        4;
5        2        5        5        5        5        4        2        3        4        3        4;
4        1        1        3        5        4        1        4        4        5        3        4;
4        2        3        3        5        3        4        4        4        5        3        4;
5        1        5        3        5        5        2        4        4        5        3        4;
3        1        5        2        5        4        4        2        3        4        3        3;
5        2        5        3        5        5        4        4        3        4        5        4;
4        1        3        3        5        4        1        4        3        4        5        4;
5        2        3        3        5        5        3        5        4        4        5        4;
4        1        5        3        5        4        2        5        4        4        5        4;
5        2        3        3        5        5        1        5        4        4        5        4;
4        1        3        3        5        4        2        4        4        4        5        3;
5        2        5        2        5        5        1        3        5        3        3        3;
4        1        1        4        3        3        4        4        4        4        5        3;
4        2        3        2        5        4        3        4        4        4        5        3;
5        2        5        2        5        5        5        4        4        4        5        3;
2        1        3        3        3        2        2        4        3        4        4        5;
5        1        5        3        5        4        4        4        3        4        4        5;
3        1        3        2        3        2        4        4        5        3        4        2;
5        2        1        2        5        4        2        4        5        3        4        2;
3        1        1        3        3        3        2        5        4        4        3        4;
4        1        5        3        5        4        4        5        4        4        3        4;
5        1        1        2        5        4        2        4        4        3        5        3;
5        2        3        4        5        5        1        2        2        5        2        4;
5        1        5        2        5        4        2        5        5        4        4        3;
5        2        1        2        5        5        2        5        5        4        4        3;
2        1        1        2        4        2        3        5        5        4        4        3;

];
%定义训练样本输入向量
p=p'
t=[8903;8513;8333;11445;12486;
16920;7563;8000;11160;12829;
14674;9511;9346;8889;9715;
8788;10707;7888;12500;15910;
14734;6123;6635;8274;8647;9075;
10113;11172;7527;9455;9317;
14063;12228;12786;9301;7077;
9147;9694;10152;10364;11567
8182;8910;10931;10144;9314
6970;10680;9790;10715];       
%定义训练样本输出向量
t=t'
[pn,minp,maxp]=premnmx(p);%对进行训练的输入样本进行归一化处理
[tn,minP,maxP]=premnmx(t);%对进行训练的输出样本进行归一化处理
s1=25;%隐含层神经元的个数
net=newff(minmax(pn),[25,1],{'logsig','purelin'},'traingdm');
inputWeights=net.IW{1,1};
inputbias=net.b{1};
%当前网络层权值和阂值
layerWeights=net.LW{2,1};
layerbias=net.b{2};
pause
clc
%设置训练参数
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.mc=0.9;
net.trainParam.epochs=5000;
net.trainParam.goal=1e-10;
pause
clc
%调用TRA工NBFG算法训练BP网络
[net,tr]=train(net,pn,tn);
pause
clc
A=sim(net,pn)
B=postmnmx(A,minP,maxP);
%计算仿真误差
E=A-tn
%期望误差
MSE=mse(E)
pause
P2=[3        1        5        2        4        2        3        5        5        4        4        3;
4        1        3        3        5        4        2        4        4        4        4        4;

5        2        5        3        5        5        5        4        4        4        4        4;
5        2        5        5        5        5        4        3        2        4        3        4;
4        1        1        5        5        3        2        3        2        4        3        4;
5        2        3        5        5        5        3        2        3        3        3        3;
5        1        5        5        5        4        4        2        3        3        3        3;
4        1        5        2        5        4        2        4        4        5        4        4;
5        2        5        3        5        5        1        4        4        4        4        4;
];
p2=P2';
p2n=tramnmx(p2,minp,maxp);
a2n=sim(net,p2n);
a2=postmnmx(a2n,minP,maxP);
T2=[11195;9783;10385;8371;8064;7356;7806;10225;8911];
t2=T2';
E2=a2-t2;
%期望误差

figure(1)
plot(B,'g')
hold on
plot(t,'-*');
legend('预测输出','期望输出')
title('BP网络预测输出','fontsize',12)
ylabel('函数输出','fontsize',12)
xlabel('样本','fontsize',12)
%预测误差


error=A-tn;
figure(2)
plot(error,'-.*k');
title('BP网络预测误差','fontsize',12);
ylabel('误差','fontsize',12);
xlabel('样本','fontsize',12);

figure(3)
plot((A-tn)./tn,'-.*k');
title('神经网络预测误差百分比');

figure(4)
plot(a2,'-ok');
hold on
plot(t2,'-.*k');
legend('预测输出','实际输出');
title('BP网络预测输出','fontsize',12);
ylabel('函数输出','fontsize',12);
xlabel('样本','fontsize',12);

figure(5)
plot(E2,'-.*k');
title('BP网络预测误差','fontsize',12);
ylabel('误差','fontsize',12);
xlabel('样本','fontsize',12);

figure(6)
plot((a2-t2)./t2,'-.*k');
title('神经网络预测误差百分比')
;
clc
echo off

神经网络预测误差大
3.png


神经网络预测误差大-1
untitled.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2017-07-05 16:37:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 z1991yan 的主题更新
信息提示
请填处理意见