MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   BP神经网络 (https://www.labfans.com/bbs/showthread.php?t=6673)

linden 2009-03-05 19:14

BP神经网络
 
>> P=-1:0.1:1;
T=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609 0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 0.0988 0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201];
plot(P,T,'*')
net=newff(minmax(P),[8,1],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=2000;
net.trainParam.goal=0.001;
net=train(net,P,T);
y=sim(net,P);
error=y-T;
res=norm(error);
程序如上,每次运行时结果都不一样,为什么?
还有就是这段程序是从书上抄的,书上说可以达到训练要求,可我试了多次也不行为什么?

tj767061 2009-03-06 17:46

回复: BP神经网络
 
因为每次训练时的初始权值和阈值都不一样,因此结果不一样

linden 2009-03-07 14:48

回复: BP神经网络
 
能不能通过设置权值和初值使达到训练目标?
[QUOTE=tj767061;25485]因为每次训练时的初始权值和阈值都不一样,因此结果不一样[/QUOTE]

草草 2009-03-10 10:43

回复: BP神经网络
 
哈哈,我是菜鸟,最近一直在搞BP网络,昨天刚看到一个程序和你的类似,也是每次运行结果不同,这是正常的,因为每次训练时的初始权值和阈值都不一样,因此结果不一样,有时候网络会收敛的很快有时候又需要很长时间。我是这样理解的。

倏忽 2009-03-18 10:25

回复: BP神经网络
 
权阈值是除了结构,最重要的部分,具体值是不可以设置的,但可以规定它们的范围。方法很多,如果你的模型对权阈值要求很高,建议你学学径向基神经网络。:redface:

huichou 2009-04-14 11:21

回复: BP神经网络
 
不错,好东西,谢谢分享

silas_xue 2009-04-14 17:15

回复: BP神经网络
 
lz 不太清楚你所指的结果不一样是什么意思? 是指的是训练的收敛过程还是最终结论 前者当然是可能不同的 最终结论 看你的应用是否是基于统计模型下的 如果是的话 那么从期望上来讲 对于成熟的正确的算法 其结果在统计意义上应当是恒定的


所有时间均为北京时间。现在的时间是 03:35

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.