WEKA和ScikitLearn多层感知器给出了不同的结果

2024-05-15 06:28:39 发布

您现在位置:Python中文网/ 问答频道 /正文

所有人

我正在用多层感知器进行一项研究。 我以前使用WEKA运行这个程序,但是出于各种原因,我已经迁移到了python中的scikit-learn。在

我试图将我的预测结果在WEKA中复制到scikit learn中,因此我制作了一个具有完全相同学习速率、动量、隐藏层等的精确感知器 然而,这两个平台的预测结果却不同。有人能给我解释一下这件事吗?在

我唯一注意到的是scikitlearn使用lbfgs、adam和sgd来优化其连接权重,而WEKA使用反向传播。但这可能是唯一的原因吗?还是另有原因?在

谨致问候


Tags: 程序速率原因平台scikit动量learn权重
1条回答
网友
1楼 · 发布于 2024-05-15 06:28:39

如果你用不同的优化器训练一个神经网络,它肯定会得到不同的结果。这种差异可以是微小的,也可以是巨大的。所有的神经网络优化算法都使用反向传播,即LBFGS、Adam和SGD都使用反向传播。而且-一般来说-训练相同的神经网络两次可能不会给你相同的结果-这是因为大多数优化器(至少值得你花时间)采取部分随机步骤。在

相关问题 更多 >

    热门问题