Валидация и тестирование в оценщике Tensforflow против Keras - PullRequest
0 голосов
/ 31 августа 2018

Я прочитал ответы здесь и пытаюсь понять, как training, validation и testing отображаются на API Tensorflow Estimator и Keras API.

A: Тензор потока

tf.estimator.train_and_evaluate функция принимает train_spec и eval_spec.

Здесь, evaluate означает validation или testing в приведенной выше терминологии? Если это testing, где я могу указать validation set?

B: Keras

В Керасе это кажется более понятным, model.fit принимает аргумент validation_data, что для validation set. Существует отдельная функция model.evaluate, для которой мы предоставляем test set. Это правильно?

1 Ответ

0 голосов
/ 31 августа 2018

На практике термины «набор тестов» и «набор валидации» используются взаимозаменяемо (по сравнению с тем, как они описаны выше). В результате становится общепринятым ссылаться на тот, который используется во время обучения, чтобы называться либо набором тестов / проверок. Чтобы устранить неоднозначность, набор, который откладывается для настройки гиперпараметра (здесь описывается как набор проверки), обычно называется набором удержания ( source )

На основании этого определения вы можете сделать одну простую вещь. Например, предположим, что первый набор данных - «поезд», второй - «проверка» (как в керасе) для оценки модели в реальном времени на каждом шаге, а окончательный набор данных - «тест». Вы можете просто проверить модель после завершения обучения, запустив model.predict в наборе тестовых данных, чтобы увидеть, как ваша модель работает с невидимыми данными.

...