Нейронная сеть Python Sklearn Итерация и потеря классификатора - PullRequest
0 голосов
/ 09 мая 2018

Я пытался реализовать статью, которую прочитал. В основном он использует 3 классификатора нейронной сети с разными параметрами для работы с одними и теми же данными кредита по умолчанию с 9 различными коэффициентами обучения и тестирования.

Чтобы найти наилучший параметр, мы используем следующий критерий, когда (1) max_iteration=25000 и (2) значение убытка меньше 0,008, мы измеряем значение точности и выбираем лучшее.

Однако, когда я пытаюсь использовать python sklearnsklearn.neural_network.MLPClassifier, чтобы закончить это, я столкнулся с проблемой. Когда отношение обучения к тесту увеличивается, время итерации программы резко сокращается. Между тем, величина потерь увеличивается,

Таблица характеристик классификатора .

enter image description here

Это явно не то, что я хочу, итерационное число должно продолжать расти до 25000 до остановки.

Вот как я определил классификатор:

clf1= MLPClassifier(activation='relu',solver='sgd',early_stopping=False,alpha=1e-5,max_iter=25000,\
                hidden_layer_sizes=(18),momentum=0.7,learning_rate_init=0.0081,tol=0,random_state=3)
clf2= MLPClassifier(activation='relu',early_stopping=False,solver='sgd',alpha=1e-5,max_iter=25000,\
                hidden_layer_sizes=(23),momentum=0.69,learning_rate_init=0.0095,tol=0,random_state=3)
clf3= MLPClassifier(activation='relu',early_stopping=False,solver='sgd',alpha=1e-5,max_iter=25000,\
                hidden_layer_sizes=(27),momentum=0.79,learning_rate_init=0.0075,tol=0,random_state=3)

Как видите, я уже установил Tolerance=0, так что каждый раз, когда мы выполняем итерацию, он, несомненно, может уменьшить потери. И я пробовал другое значение, но все же число итераций намного меньше, чем я ожидал.

Надеюсь, кто-нибудь может мне помочь, спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...