Потеря Gridsearch намного выше, чем без gridsearch - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь оптимизировать свою модель (прогнозирование временных рядов с помощью MLP, LSTM и т. Д.) Путем поиска лучших параметров с помощью Gridsearch. Я масштабировал свои данные, но когда я запускаю Gridsearch, показатели потерь (для обоих mse) во время обучения намного выше, чем если я не использую gridsearch.

Без Gridsearch я делаю простое разделение теста поезда(70/30). С помощью Gridseach я реализовал TimeSeriesSplit.

tscv = TimeSeriesSplit(n_splits=3)
for train_index, test_index in tscv.split(X):
    X_train, X_test = X[train_index], X[test_index]
    y_train, y_test = y[train_index], y[test_index]

def deep_learning_create(units,batch_s):
    model=Sequential()
    model.add(Dense(units, activation='relu'))
    model.add(Dense(1))

    optimizer=optimizers.RMSprop()
    model.compile(optimizer='adam',loss='mean_squared_error', metrics=['acc'])

    return model

model=KerasClassifier(build_fn=deep_learning_create,verbose=1)
#Random Search for optimal hyper-paramters
params_grid_DeepLearning={'layers_num':[1],
                          'units':[16],
                          'learning_rate':[0.01],
                          'batch_size':[32,64,128],
                          'epochs':[100]}

random_model=GridSearchCV(model,params_grid_DeepLearning,
                         n_jobs=1,cv=tscv,refit=True, verbose=2)

random_model.fit(X_train, y_train)

Без Gridsearch

Эпоха 1/100 - 0 с - потеря: 0,0325 - согласно: 0,0053 Эпоха 2/100 - 0 с - потеря: 0,0116 - согласно:0,0053

С GridSearch

Эпоха 1/100 101/101 0 с 642 долл. / Шаг - потеря: 3254,1907 - согласно: 0,0099

...