Многослойный персептрон WEKA и Scikit-Learn дают разные результаты - PullRequest
0 голосов
/ 04 сентября 2018

все

В настоящее время я провожу исследование с использованием многослойного персептрона. Ранее я запускал это с помощью WEKA, но по разным причинам я перешел на scikit-learn на python.

Я попытался воспроизвести результаты моего прогноза в WEKA для быстрого обучения, поэтому я создал точный персептрон с точно такой же скоростью обучения, импульсом, скрытым слоем и т. Д. Тем не менее, результаты прогноза получается по-разному для этих обеих платформ. Кто-нибудь может дать мне какое-то объяснение по этому вопросу?

Единственное, что я заметил, это то, что scikit learn использует lbfgs, adam и sgd для оптимизации веса своего соединения, тогда как WEKA использует обратное распространение. Но может ли это быть единственной причиной? или есть другая причина?

С наилучшими пожеланиями

1 Ответ

0 голосов
/ 04 сентября 2018

Если вы тренируете нейронную сеть с другим оптимизатором, это, безусловно, даст разные результаты. Эта разница может быть незначительной или огромной. Все алгоритмы оптимизации NN используют обратное распространение, то есть LBFGS, Adam и SGD используют обратное распространение. Кроме того, в целом, тренировка одного и того же NN дважды, скорее всего, никогда не даст вам точный тот же результат - это потому, что большинство оптимизаторов (по крайней мере, тех, которые стоят вашего времени) предпринимают частично стохастические шаги.

...