P=[
0.1932 0.2311 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.1364 0.0900 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.1534 0.2419 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.1534 0.0605 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0966 0.1620 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0170 0.8416 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.1875 0.8488 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.1136 0.6199 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.1534 0.6328 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.1932 0.1879 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.1250 0.3895 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.0682 0.9424 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
1.0000 0.5292 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.3864 0.2225 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.4432 0.5688 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.9091 0.2397 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.8239 0.2160 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.5455 0.9640 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;]'
T=[1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;
1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;
0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;]'
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;
0 1;0 1;0 1;0 1;0 1;0 1]
net=newff(threshold,[33,4],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=1000;
nei.trainParam.goal=0.01;
LP.lr=0.08;
net=train(net,P,T);
P_test=[
0.0455 0.0850 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0568 0.0022 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0341 0 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0114 0.0050 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0 0 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0284 0.7264 1.0000 0.14 0 1 0 0 1 0 1 0 1 0 0 0;
0.0455 0.0684 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.0455 0.0036 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.0170 0.0029 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.0114 0.0094 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.0057 0.0202 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.0398 1.0000 0 0.11 0 1 1 0 0 0 1 0 1 0 0 0;
0.7102 0.3729 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.6477 0.2937 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.8864 0.1836 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.7216 0.4032 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.5398 0.3146 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;
0.7614 0.1814 0.6000 0.14 1 0 0 0 1 1 0 0 0 1 0 0;]'
T_test=[1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;
1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0;
0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0]'
out=sim(net,P_test);
out
最终运行的结果就是TRAINLM, Epoch 0/1000, MSE 0.440535/0, Gradient 11.3689/1e-010
TRAINLM, Epoch 14/1000, MSE 4.98442e-014/0, Gradient 2.40804e-011/1e-010
TRAINLM, Minimum gradient reached, performance goal was not met.
我明明用相似的方法算了一个相似的例子是可以的,怎么换了两列数据就不行了。弄了好些天了,求大人们帮帮忙,看哪里有错误。我是第一次来发帖。
[本帖最后由 mooni 于 2009-4-28 16:20 编辑]