Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-06-23
年龄: 43
帖子: 1
声望力: 0 ![]() |
![]()
在Matlab上运行其nn 工具箱,代码如下:
net=newff(minmax(pn),[12.1].{'tansig','tansig'},'traingdx'); net.trainparam.epochs=10000; net.trainparam.goal=0.001; net=train(net,pn,tn) 用同样的参数训练网络,每次得到的net都不一样。 请指教是何原因,如何解决。 谢谢。 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2009-07-28
帖子: 1
声望力: 0 ![]() |
![]()
我也遇到过这个问题,可能是每次训练所达到的误差不一样吧
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2009-09-23
年龄: 36
帖子: 1
声望力: 0 ![]() |
![]()
似乎是因为每次取权值和阈值的时候都是电脑随机取的,所以每次输出的结果当然不一样,而且你不能一开始就设置好固定的权值的
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2009-07-19
年龄: 36
帖子: 14
声望力: 16 ![]() |
![]()
这是正常的,神经网络就是这样,一般来说,多训练几次,有很多次的结果是一样的,这就是我们需要的结果了。
|
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2009-10-19
住址: 太原
年龄: 39
帖子: 2
声望力: 0 ![]() |
![]()
恩,网络的权值和阈值都是随机选取的,所以每次的结果是不同的,又时候未必能达到要求。多进行训练找出好一点的仿真效果就行了……
|
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2009-10-13
帖子: 4
声望力: 0 ![]() |
![]()
神经网络的初始值是随机产生的,不同的初始值产生的结果当然有出入了。
你可以尝试自己初始化一组初始值,然后再用同一组初始值运算,结果就一样了。 |
![]() |
![]() |