所有人
我正在用多层感知器进行一项研究。
我以前使用WEKA运行这个程序,但是出于各种原因,我已经迁移到了python中的scikit-learn。在
我试图将我的预测结果在WEKA中复制到scikit learn中,因此我制作了一个具有完全相同学习速率、动量、隐藏层等的精确感知器
然而,这两个平台的预测结果却不同。有人能给我解释一下这件事吗?在
我唯一注意到的是scikitlearn使用lbfgs、adam和sgd来优化其连接权重,而WEKA使用反向传播。但这可能是唯一的原因吗?还是另有原因?在
谨致问候
Tags:
如果你用不同的优化器训练一个神经网络,它肯定会得到不同的结果。这种差异可以是微小的,也可以是巨大的。所有的神经网络优化算法都使用反向传播,即LBFGS、Adam和SGD都使用反向传播。而且-一般来说-训练相同的神经网络两次可能不会给你相同的结果-这是因为大多数优化器(至少值得你花时间)采取部分随机步骤。在
相关问题 更多 >
编程相关推荐