zhengj1980 发表于 2006-10-2 20:38

在BP神经网络训练后,如何对网络输出求最小值???急,感谢指教!!

下面是我的一个BP神经网络,不知道如何在网络训练后,求网络输出值的最小值,并得到与其相对应的输入向量??老师催着要结果,小弟力不从心,恳请高手指点!!

本人的qq是: 273357812

P=[ 155, 172, 194, 228, 228, 226, 236, 239, 245, 285;
    658, 661, 662, 667, 670, 670, 675, 683, 710, 740;
    1.5, 1.5, 1.5, 1.5, 1.5, 1.0, 0.5, 1.5, 1.5, 1.5
   ];
T1=;
pause;
clc
net=newff(minmax(P),,{'tansig','tansig'},'trainlm')
inputweights=net.IW{1,1}
inputbias=net.b{1}
layerweights=net.LW{2,1}
layerbias=net.b{2}
clc
net.trainParam.show=100;
net.trainParam.lr=0.01;
net.trainParam.mc=0.9;
net.trainParam.epochs=1000;
net.trainParam.goal=1e-5;
=train(net,P,T1);
A=sim(net,P);
pause
clc
echo off

[ 本帖最后由 lxq 于 2006-10-4 21:45 编辑 ]

jimin 发表于 2006-10-2 21:02

=train(net,P,T1);
A=sim(net,P);
训练的和测试的是一样的,做出来也是意义不大的
建议用不同于训练的数据进行测试,才能检验网络的泛化能力

zhengj1980 发表于 2006-10-2 22:46

感谢指教!!

感谢指点!
A=sim(net,P);
这句是多余的,没用!!
但是否可以对训练后的网络求最小值呀!!

jimin 发表于 2006-10-2 23:09

bp神经网络有个误差反传的过程,通过误差反传,来调节权值和阈值,
直到误差小于一定的值
net.trainParam.goal=1e-5;
所以输出和T1之间的误差小于一定的值训练就结束了,理论上应该不存在一个最小的值,你只可能找到一个比较合适的输出
具体可参考神经网络书籍

zhengj1980 发表于 2006-10-3 09:16

各位达人,我更正一下,我说得是对网络的输出值求最小值,不是对误差求最小值!
请各位指点!!感谢

F117_ren_0 发表于 2006-10-8 17:42

简单,你把数据做归一化处理就ok了
页: [1]
查看完整版本: 在BP神经网络训练后,如何对网络输出求最小值???急,感谢指教!!