thumbzoe 发表于 2009-4-30 02:28

训练后的精度是10的四次方呢?

P=[246.69 884.22 389.64 762.84 1247.37 446.76 651.21;
   569.16 1647.27 349.20 1174.62 685.17 309.09 643.59;
   772.08 1542.12 650.61 656.82 430.38 850.89 718.95;
   226.43 744.21 264.27 291.84 324.45 435.69 660.36;
   714.72 752.40 141.06 373.35 833.70 1554.57 767.10;
   773.01 1120.98 616.14 742.32 522.69 1223.61 364.80;
   568.08 70.83 988.08 250.38 869.07 409.74 557.19;
   989.85 652.86 57.66 593.82 525.51 941.01 287.22;
   1182.30 1182.39 983.94 1097.61 442.95 372.51 1127.79;
   1045.89 794.64 605.19 130.98 292.11 26844 218.70;
   1006.23 958.68 1374.51 283.14 1367.58 475.53 576.06;
   430.32 966.27 640.86 493.32 331.77 653.22 705.83;
   7.74 412.35 1057.62 147.90 432.81 781.08 902.37;
   1150.95 1051.23 349.17 746.94 892.38 285.99 457.74;
   825.03 506.25 506.19 530.13 523.95 459.39 406.53;
   331.53 745.80 633.69 574.26 742.23 410.73 1922.73;
   206.43 416.73 177.69 414.23 521.67 1024.92 1737.96;
   528.21 524.43 799.83 1102.11 755.85 773.67 438.78;
   100.77 1177.50 135.42 728.07 539.85 1123.50 138.54;
   375.36 854.31 507.27 790.68 1145.46 300.09 808.41;
   346.83 637.08 736.68 226.41 861.84 946.47 291.93;
   881.49 81.36 556.65 693.75 418.20 365.79 454.32;
   333.90 680.40 1233.60 915.90 590.76 897.22 931.20;
   779.97 1104.93 257.13 1639.89 582.75 111.18 809.61];
T=;
net=newff(minmax(P),,{'tansig','purelin'},'trainlm');
=train(net,P,T);
net.trainParam.epochs=500;
net.trainParam.goal=0.01;
net.trainParam.Ir=0.0001;
net=train(net,P,T);
=train(net,P,T);
a=sim(net,P)
本人的编程~为什么训练后的精度是10的四次方呢?怎么降低?

[ 本帖最后由 ChaChing 于 2009-4-30 21:42 编辑 ]

sogooda 发表于 2009-4-30 21:35

回复 楼主 thumbzoe 的帖子

这个问题比较复杂,可以考虑如下手段:1.增加训练次数2.归一化3.改善网络结构4.使用合理的激活函数。

thumbzoe 发表于 2009-5-1 08:40

回复 沙发 sogooda 的帖子

请问怎么归一化呢?

ChaChing 发表于 2009-5-1 08:43

回复 板凳 thumbzoe 的帖子

养成先搜索再问的好习惯, 这几天才有人问过!

thumbzoe 发表于 2009-5-1 16:00

回复 地板 ChaChing 的帖子

那个我看了,按照他的方法,我写的是
u=t;
for i=1:7
P(i,:)=(P(i,:)-min(P(i,:)))/(max(P(i,:))-min(P(i,:)));
end
for i=1:7
T(i,:)=(T(i,:)-min(T(i,:)))/(max(T(i,:))-min(T(i,:)));
end
可是他总是说我??? Index exceeds matrix dimensions.这是为什么呢?

ChaChing 发表于 2009-5-1 16:15

回复 5楼 thumbzoe 的帖子

T是1*7又不是7*1!
不能拿别人的样本就直接套!

thumbzoe 发表于 2009-5-1 20:14

回复 6楼 ChaChing 的帖子

哦~我实在是不太明白~谢谢您的指导~~~

thumbzoe 发表于 2009-5-1 20:19

回复 沙发 sogooda 的帖子

请问什么是改善网络结构?

thumbzoe 发表于 2009-5-1 20:24

回复 地板 ChaChing 的帖子

还要麻烦您~那个归一化了~我的精度还是没有改善~我该怎么办呢?我实在是个很初级的~您在知道我一下吧~

ChaChing 发表于 2009-5-1 20:26

抱歉, 可能没说清楚!
T是1*7的矩阵又不是7*1矩阵!
for i=1:7, T(i,:)=(T(i,:)-min(T(i,:)))/(max(T(i,:))-min(T(i,:))); end
当i=2就Index exceeds matrix dimensions

还有nn没玩过, LZ应该比我行!

[ 本帖最后由 ChaChing 于 2009-5-1 20:29 编辑 ]

matlab_xinshou 发表于 2009-5-5 13:00

回复 9楼 thumbzoe 的帖子

1、可以改变各层的输出函数:你程序中的'tansig'和'purelin'!
2、改变网络结构:你程序中的!
3、确保数据没有问题!
页: [1]
查看完整版本: 训练后的精度是10的四次方呢?