keepwatcher 发表于 2007-4-1 16:48

急 询问神经网络的问题

我想问一下,我要评价10个城市的协调性,选了15个指标,那么这五个城市2005年的15个指标作为输入,这五个城市的协调性结果作为输出。
选其中的5各城市作训练样本,是不是首先就要知道他们的协调性的结果才能把他们做训练样本(也就是既要知道输入也要知道输出对吗),可是我本来就是要评价他们的协调性,要是已经都知道了,我还作他干什么。这里一直是我不懂得地方,可以和我讨论一下吗

p=[0.39        29.87        19.00        3.83        9.20        5.55        0.96        24.1        0.34        41.38        3.9        22.43        3.55        1.45        7.11
0.03        15.52        16.50        2.18        4.47        2.28        0.81        19.08        0.16        41.32        17.61        26.33        4.78        1.45        2.53
0.06        7.14        25.10        2.12        3.88        1.96        0.59        21.38        0.25        49.14        30.68        31.27        2.62        4.60        1.40
0.06        5.26        17.40        0.93        2.54        1.56        1.10        5.57        0.15        14.8        2.81        13.85        2.32        3.26        1.08
0.02        9.65        26.20        0.97        3.12        1.47        0.77        17.99        0.09        40.87        8.54        15.07        2.13        9.32        0.55
]
net=newff(minmax(p),,{'tansig','purelin'},'trainlm');
net=init(net);
net.trainParam.show=100;
net.trainParam.epochs=20000;
net.trainParam.goal=0.0001;
net.trainParam.lr=0.01;
p1=[0.01        1.47        34.00        0.80        2.39        1.22        0.67        7.63        0.06        6.43        2.86        16.46        3.95        8.16        0.29
0.01        3.77        21.60        0.46        1.65        0.82        0.73        13.85        0.05        22.33        7.67        19.07        2.29        8.57        0.26
0.02        3.03        18.80        0.54        2.03        1.05        0.76        5.69        0.08        6.71        3.32        15.02        1.81        7.85        0.53
0.03        6.45        24.30        0.66        1.40        0.89        0.57        3.41        0.14        2.34        -1.12        5.85        1.50        5.94        0.26
0.02        4.90        18.80        0.68        2.00        1.09        0.75        24.99        0.05        34.69        13.59        15.57        3.66        6.81        0.50
]
t1=sim(net,p1);
figure(1);
plot(p1,y1);

我的程序我是这样做的。我为什么在我的程序里还看不到权值。不是只有权值知道了,在输入检测数据才能算出其协调性马,为什么我运行程序时没有看到。请各位给个详解,我学习的时间不长。另外要是有人知道怎样用matlab做主成份投影分析,麻烦也告诉我一下。谢谢

lxq 发表于 2007-4-5 00:48

知道样本输入和输出是有教师学习

这个不等于你就知道他们的协调性了

网络在训练时候是随时改变权值 权值当然看不到这样才能达到学习效果

要看效果如何 t1=sim(net,p1); 后比较结果才知道协调与否.

jimin 发表于 2007-4-6 00:02

训练好的权值、阈值的输出方法是:
输入到隐层权值:w1=net.iw{1,1}
隐层阈值:theta1=net.b{1}
隐层到输出层权值:w2=net.lw{2,1};
输出层阈值:theta2=net.b{2}
页: [1]
查看完整版本: 急 询问神经网络的问题