Метрика гиперпараметра в Google Cloud ML должна содержать префикс `val`? - PullRequest
0 голосов
/ 24 сентября 2018

При определении метрики гиперпараметра для Google Cloud ML я могу использовать mean_squared_error, но должен ли я вместо этого использовать val_mean_squared_error, если я хочу, чтобы он сравнивал точность набора проверки?Или он делает это самостоятельно?

Это пример конфигурации hptuning:

trainingInput:
  ...
  hyperparameters:
    goal: MINIMIZE
    hyperparameterMetricTag: ???mean_squared_error

И это вызов fit:

history = m.fit(train_x, train_y, epochs=epochs, batch_size=2048,
                         shuffle=False,
                         validation_data=(val_x, val_y),
                         verbose=verbose,
                         callbacks=callbacks)

Так как яПередавая мои данные проверки и Keras, я сомневаюсь, должен ли я использовать val_mean_squared_error.

1 Ответ

0 голосов
/ 24 сентября 2018

Ответ таков: если вы (I) хотите, чтобы при настройке гиперпараметра Google Cloud ML использовалась метрика VALIDATION вместо метрики обучения при использовании Keras, вам нужно указать val_mean_squared_error (или val_accuracy и т. Д.).

Если вы придерживаетесь accuracy или mean_squared_error, вы будете смещать процесс настройки Google Cloud ML для выбора подходящих моделей.Чтобы избежать перегрузки при поиске параметров, вы должны либо создать свою собственную метрику (как упомянуто в комментарии), либо использовать метод fit с набором валидации и использовать метрики val.


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

Чтобы получить ответ, я понял, что могу сделать простой тест: как с val_mean_squared_error, так и mean_squared_error при использовании Keras и вызове fit с установленным параметром проверки и сравнением результатов задания с указанными показателями.

...