Я пытаюсь использовать разные оптимизаторы для MLPClassifier scikit-learn . Насколько показывают их документы, есть только несколько solvers
(параметр оптимизатора MLPClassifier), а именно:
- 'lbfgs' - оптимизатор в семействе квазиньютонов Методы.
- 'sgd' относится к градиентному спуску c.
- 'Адам' относится к оптимизатору на основе градиента c, предложенному Кингмой, Дидериком и Джимми Ба
Я пытаюсь использовать еще один, называемый Надам . Я пытался смешать некоторые параметры, чтобы добиться этого с solver='adam'
и nesterovs_momentum=True
, но в документации Склерна сказано, что последний параметр используется только для sgd
:
Использовать ли импульс Нестерова , Используется только когда solver = 'sgd' и импульс> 0.
Я пробовал вышеупомянутое, потому что я думал, что это означало то, что Нарас Кераса сказал:
Так же, как Адам - это RMSprop с импульсом, Nadam - RMSprop с Nesterov.
Из-за всего этого я не думаю, что поступаю правильно. Мой код ниже показывает, что я сделал до сих пор.
from sklearn.neural_network import MLPClassifier
clf = MLPClassifier(solver='adam', nesterovs_momentum=True,)