P =[50 100 200 300 350;
50 100 200 300 350;
2.0 3.5 12.5 25.0 30.0;
300 400 750 1500 200;
150 225 375 500 550];
T =[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0;0 0 0 1 0;0 0 0 0 1];
[pn,minp,maxp,tn,mint,maxt]=premnmx(P,T)
net=newff(minmax(pn),[15,5],{'tansig','purelin'},'trainlm');
net.trainParam.epochs=100;
net.trainParam.goal=1e-6;
net=train(net,pn,tn);
X =[54.57 39.75 36.48 136.10 51.34 135.90 274.60 59.91 41.48 18.08 35.10 32.26;
53.39 27.98 40.10 111.80 69.16 316.90 233.00 72.04 40.83 25.94 75.41 63.40;
0 0 0 0 0 0 64.71 8.40 0.60 2.80 13.03 0.20;
936.05 930.65 996.80 1490.15 1161.85 2296.70 2026.10 1179.78 700.18 900.96 857.64 667.98;
369.9 343.3 354.4 549.9 368.6 91.7 664.1 436.5 244.7 257.9 280.4 247.1];
P1=premnmx(X);
y =sim(net,P1)
请高手指点一下,测试样本是X,归一化以后,经过神经网络测试,输出的数有一部分不在【-1,1】这个范围内。
结果为
-1.5218 -1.0311 -1.4282 1.2416 -1.7977 -2.4807 -0.4628 -1.6699
1.7045 1.3561 1.7350 0.8088 2.2412 1.7814 -1.5106 1.2852
-0.6360 -0.6578 -0.6792 -0.7810 -0.9190 -1.5893 -0.6626 0.1735
-1.4238 -1.4267 -1.3491 -0.6257 -1.0417 1.1766 0.2071 -1.5226
-1.0030 -1.0981 -1.0206 -0.7731 -1.0056 0.5338 -0.6042 -1.4289
Columns 9 through 12
-0.4626 -0.8411 -2.7403 -1.3094
0.2893 0.7816 0.8609 0.9126
-0.6273 -0.6518 0.0658 -0.5710
-1.3826 -1.3384 -1.7178 -1.3380
-0.9261 -1.0038 -1.1695 -0.7038