Сеточный поиск по эпохам в нейронной сети: каждый параметр запускается 3 раза - PullRequest
0 голосов
/ 23 мая 2018

Мой последовательный плотный DNN, кажется, проходит через каждый параметр в моей сетке параметров три раза при выполнении поиска по сетке.Я ожидаю, что он будет запускаться один раз для указанных epcohs в сетке: 10, 50 и 100. Почему это происходит?

архитектура модели:

def build_model():
    print('building DNN architecture')
    model = Sequential()
    model.add(Dropout(0.02, input_shape = (150,)))
    model.add(Dense(8, init = 'normal', activation = 'relu'))
    model.add(Dropout(0.02))
    model.add(Dense(16, init = 'normal', activation = 'relu'))
    model.add(Dense(1, init = 'normal'))
    model.compile(loss = 'mean_squared_error', optimizer = 'adam')
    print('model succesfully compiled')
    return model

Поиск в сетке по эпохам:

from sklearn.model_selection import GridSearchCV
epochs = [10,50,100]
param_grid = dict(epochs = epochs)
grid = GridSearchCV(estimator = KerasRegressor(build_fn = build_model), param_grid = param_grid)
grid_result = grid.fit(x_train, y_train)
grid_result.best_params_

1 Ответ

0 голосов
/ 23 мая 2018

Поскольку GridSearchCV выполняет как поиск по сетке, так и перекрестную проверку.Для каждой комбинации параметров три (по умолчанию) разделения используются для перекрестной проверки, и поэтому вы видите, что модель обучается три раза для каждого набора параметров.

Вы можете изменить количество сгибов (разбиений).) с параметром "cv".Проверьте это в документации .

...