mlpKerasDropout в карете - PullRequest
       6

mlpKerasDropout в карете

0 голосов
/ 09 октября 2018

Я пытался реализовать метод mlpKerasDropout при обучении с использованием пакета caret R.

Кажется, мой код непрерывно циклически проходит 10 из 10 эпох и не сходится.Я изучил mlpKerasDropout.R , но изо всех сил пытаюсь понять, как работает эта функция.

У кого-нибудь есть минимальный пример, которым они могут поделиться, как использовать эту функцию?

Большое спасибо,

1 Ответ

0 голосов
/ 18 апреля 2019

Для каждой повторной выборки (управляемой trainControl ()) он выполняет подбор.Это то, что вы видите, когда 10 из 10 эпох непрерывно ездят на велосипеде.Каждый цикл был подходящим для повторной выборки / сгиба.Вы можете изменить количество эпох, используемых при настройке гиперпараметра, установив аргумент эпох для обучения, который будет передан методу обучения «mlpKerasDropout» через точечные аргументы (...)

См. Коддля mlpKerasDropout здесь: https://github.com/topepo/caret/blob/master/models/files/mlpKerasDropout.R

По умолчанию аргумент поиска для гиперпараметров установлен на «grid», но вы можете установить его на «random», чтобы он пробовал другие функции активации, отличные от relu, илипредоставьте свою собственную сетку настройки.

Вот пример кода, показывающий использование tuneLength с search = 'random' и использование ранних остановок, а также аргументов эпох, передаваемых в keras.

tune_model <- train(x, y, 
           method = "mlpKerasDropout",
           preProc = c('center', 'scale', 'spatialSign'),
           trControl = trainControl(search = 'random', classProbs = T, 
              summaryFunction = mnLogLoss, allowParallel = TRUE),
           metric = 'logLoss',
           tuneLength = 20, 
# keras arguments following
validation_split = 0.25,
           callbacks = list(
                keras::callback_early_stopping(monitor = "val_loss", mode = "auto", 
                  patience = 20, restore_best_weights = TRUE)
              ),
            epochs = 500)

Имейте в виду, что вы хотите перестроить свою модель на тренировочные данные после завершения настройки гиперпараметра.

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