Оптимизация гиперпараметров с ранним остановом для архитектуры cnn - PullRequest
0 голосов
/ 19 января 2020

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

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

 stratKFold = StratifiedKFold(n_splits=10, shuffle=True, random_state=seed)
 scoring = {'Precision': make_scorer(precision_score, average='macro')}
 param_grid = {'number_neurons':number_neurons,'dropout_rate': dropout_rate,  
            'learn_rate':learn_rate}
 model = KerasClassifier(build_fn=base_model)
 grid_cv = GridSearchCV(estimator=model, param_grid=param_grid, cv=stratKFold, scoring=scoring, refit='acc')
 grid_result = grid_cv.fit(X, y, epochs=300, validation_data=(X_val, y_val),
                        callbacks=[EarlyStopping(monitor='val_loss', patience=10, verbose=0,
                                                 restore_best_weights=True)])

Если я правильно понимаю мой код, то одни и те же данные проверки для EarlyStopping всегда будут использоваться для каждого из 10 прогонов после каждого разделения? Если так, то мне интересно, если это правильно? Или не следует ли для каждого из 10 прогонов использовать разные наборы данных для раннего запуска?

Большое спасибо за каждый совет

...