Является ли недостатком то, что примеры Optuna возвращают оценочную метрику набора тестов?
Я использую Optuna для оптимизации параметров некоторых моделей.
Почти во всех примерах целевая функция возвращает метрику оценки в наборе ТЕСТ и пытается минимизировать / максимизировать ее. Мне кажется, что это недостаток в примерах, поскольку Optuna затем оптимизирует свои параметры на невидимых данных.
Оптимизация CV набора поездов была бы, по-моему, более надежной. Хотел бы услышать другие мысли и проверить, не упускаю ли я чего-то.
Спасибо!
2 ответа
Нет, это не недостаток, это особенность. Производительность следует оценивать на наборе тестовых данных, который алгоритм не видит.
Если вы хотите провести перекрестную проверку, на выполнение простого исследования с помощью Optuna могут уйти месяцы. В этом нет ничего плохого, но, вероятно, это пустая трата времени, потому что алгоритм Optuna - это байесовский оптимизатор, который перекрестная проверка может только приблизительно оценить.
При этом, если вы используете машинное обучение и вам необходимо иметь цикл обучения / проверки для каждой эпохи, я рекомендую использовать долю Цзюнь Шао
n**(0.75)
в качестве размера тренировочного набора, выбираемого случайным образом перед началом обучения; это не только быстрее, но и, вероятно, лучше.
Таким образом, хотя в машинном обучении необходимо выполнять несколько действий по обучению и проверке, нет необходимости в перекрестной проверке производительности этой модели, если вы используете Optuna. Пожалуйста, нажмите на ссылку выше, чтобы увидеть мой ответ на перекрестную проверку Сайт SE, а оттуда вы можете пролистывать на Github репо, но, пожалуйста, комментарий первым и / или посмотреть, что говорят другие.
Для меня это недостаток, так как для поиска оптимальных гиперпараметров и для окончательной оценки будут использоваться одни и те же данные. Здесь нет места проверке обобщений.
Что можно использовать в перекрестной проверке для оптимизации, чтобы получить еще более обобщенное представление о данных ([1]), а что следует использовать - тестирование наиболее перспективных моделей на контрольном/тестовом наборе с настройкой на обучающем наборе (хорошо) обзор можно найти здесь [2]).
[1] https://optuna.readthedocs.io/en/stable/reference/generated/optuna.integration.OptunaSearchCV.html .