1、求助:神经网络两次训练的结果不一样

神经网络两次训练的结果不一样,这是因为每次训练的迭代初值不相同(是随机的),所以得到的结果是有差异的。一般的话,软件开启第一次时,运行得到结果是比较正确的。例如:用BP神经网络预测某地区人口数

第一次运行:

第二次运行:

谷歌人工智能写作项目:小发猫

2、BP神经网络每次训练结果不一样是怎么回事?

因为初始权值和阈值是随机产生的神经网络预测两次结果不一致

神经网络每次结果不同是因为初始化的权值和阈值是随机的,因为每次的结果不一样,才有可能找到比较理想的结果,找到比较好的结果后,用命令save filename net;保存网络,可使预测的结果不会变化,调用时用命令load filename net;  

优劣势:

BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。

①学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。

②容易陷入局部极小值。

③网络层数、神经元个数的选择没有相应的理论指导。

④网络推广能力有限。

对于上述问题,目前已经有了许多改进措施,研究最多的就是如何加速网络的收敛速度和尽量避免陷入局部极小值的问题。

3、我用神经网络做预测,可是每次运行的结果都不同,请问是什么原因?

你说的神经网络应该值的是BP网络吧,由于BP网络有无穷多个局部最优解,所以每次计算的结果都不同,这和你初值设置的不同也有关系。一般来说通过多次试验找到一个合理的次优解作为问题的解。

4、神经网络每次预测的值都不一样?

这种结果我也遇到过,是因为代码中训练样本和测试样本是随机选取的,所以每次得到的结果都会有差别。看看你的代码中是否使用了rand、randint等随机选取训练集和测试集。

5、我用bp神经网络做预测,可是每次预测出来的结果都不一样,且差的比较多,要怎么办?

初始值不一样,结果可能相差很大。
还有bp网络的收敛速度很慢。
不知道你的训练函数是什么。
样本一般来说越多越好,但是多了训练就更慢了。

6、用BP神经网络做数据拟合回归,每次运行结果都不一致,望高人指点,谢了

大哥你这个目标要求的也太高了吧,要1e-12!1e-5,1e-6就行了。而且就训练100次由什么用,BP的话起码要3000到5000次训练,复杂问题要10000次左右,再说BP网络存在“殊途同归”的问题,所以每次不太一样也是正常的,只要测试误差满足要求就行了

7、BP神经网络每次训练结果不一样,怎么回事

你用的是matlab的神经网络工具箱吧。那是因为权值和阈值每次都是随机初始化的,所以结果就会不一样,
你可以把随机种子固定,即在代码前面加上setdemorandstream(pi); 这样每次训练出来的结果都是一样的了。
看来楼主是刚开始学习神经网络的,推荐一些资料给楼主:
神经网络之家 (专讲神经网络的网站,有视频下载)
matlab中文论坛的神经网络专区
数学中国的神经网络专区
较好的书:
MATLAB神经网络原理与实例精解
神经网络30个案例分析
都是干货,其他的就不说了,祝楼主学习愉快。

8、神经网络为什么每次运行的结果不一致呢?求高手 (权值和阈值是训练出来的)

因为BP网络的初始权值是随机设定的而且,BP的训练过程是一个不断迭代的过程,不明白的话给我百度站内信

9、BP神经网络做数据预测,预测出来结果感觉不对,求大神指导

作预测,曲线要拟合。看理论值与实际的相关程度。你的相关系数肯定小,难以有理想结果!

Logo

科技之力与好奇之心,共建有温度的智能世界

更多推荐