Для каждой повторной выборки (управляемой 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)
Имейте в виду, что вы хотите перестроить свою модель на тренировочные данные после завершения настройки гиперпараметра.