Вопрос или проблема
У меня есть алгоритм, который обучает бинарную предиктивную модель для заданного количества признаков из набора данных (признаки все одного типа, но не все важные). Таким образом, количество признаков является гиперпараметром, который мне нужно оптимизировать. Я делаю это, разделяя набор данных на обучающую и валидационную выборки (80% и 20%) и выбираю модель, которая наилучшим образом обобщает данные валидации (например, оценивая по AUC).
Я подумал снизить статистическую ошибку, выполняя кросс-валидацию: то есть выполняя пять взаимно исключающих разбиений 80/20, а затем выбирая количество признаков, соответствующих наилучшей медиане или среднему значению AUC. Однако в этом случае у меня есть пять разных моделей, которые не обязательно одинаковы. Можно было бы по идее повторно запустить обучение на всем наборе данных… но это даст ещё одну модель, которая не обязательно лучше предыдущих пяти.
Каков правильный/стандартный/общепринятый подход в таких случаях?
Связано:
Что лучше: кросс-валидация или валидационный набор для оптимизации гиперпараметров?
Какие гиперпараметры возвращаются как лучшие в кросс-валидации?
Ответ или решение
Выбор количества признаков с помощью кросс-валидации — весьма значимая задача в области машинного обучения, особенно когда речь идет о построении предсказательных моделей. В данном случае мы говорим о бинарной классификации и необходимости оптимизации гиперпараметра — количества признаков. Рассмотрим подробно подход к решению этой задачи.
Теория
Выбор гиперпараметров, включая количество признаков, принципиально важен для повышения качества модели и её способности к обобщению. Кросс-валидация (cross-validation) представляет собой методологию, цель которой — эффективно использовать всю доступную выборку для обучения и максимизировать точность оценки модели. Самый распространенный метод кросс-валидации — это K-блочная (K-fold) валидация, которая подразумевает разделение данных на K частей (блоков), где каждая блок используется поочередно в качестве валидационной выборки, а оставшиеся — для обучения модели.
Пример
Ваша текущая стратегия — разделение выборки в пропорции 80/20 для обучения и валидации соответственно. Это стандартный подход, но имеются более изощренные методы, такие как пять взаимно эксклюзивных разбиений, или так называемая 5-кратная кросс-валидация. Следуя этому методу, можно обучить пять моделей с различными наборами/подмножествами данных и впоследствии выбрать оптимальную конфигурацию гиперпараметра на основании средних или медианных значений AUC (Area Under Curve — метрика качества бинарной классификации).
Применение
-
Кросс-валидация: Разбиение данных на пять подмножеств (folds) для кросс-валидации — это хорошая практика по уменьшению статистической погрешности и максимальному использованию доступных данных. Сначала вы будете обучать модель на каждом из пяти наборов и оценивать её на оставшемся подмножестве. Это позволит получить пять различных оценок AUC для каждой конфигурации гиперпараметра.
-
Подбор гиперпараметра: Среднее или медианное значение AUC по всем пяти наборам будет служить критерием выбора количества признаков. Это позволит оценить насколько стабилен и способен к обобщению выбор конкретного гиперпараметра.
-
Формирование окончательной модели: Как вы правильно заметили, в результате кросс-валидации вы получаете не одну модель, а пять. Стандартная процедура — на финальном этапе переобучить модель на всей обучающей выборке, включая валидационные части, используя наиболее удачную конфигурацию гиперпараметров, выявленную в процессе кросс-валидации. Это помогает воспользоваться всеми имеющимися данными, тем самым обеспечивая наиболее обоснованные параметры и потенциально лучшее качество модели.
-
Оценка итоговой модели: После переобучения оценивайте итоговую модель на независимой тестовой выборке, если она имеется (заранее отложенные данные), чтобы убедиться в способности модели к обобщению и проверке на данных, которые она "никогда не видела".
-
Альтернативные подходы: Некоторые инженеры также используют методы кросс-валидации с набором тестовых данных, если важно проверить устойчивость найденной модели. Применение таких подходов поможет меньше полагаться на случайность полученных оценок и больше доверять полученным результатам.
Заключение
Последовательный подход к оптимизации количества признаков с помощью кросс-валидации помогает повысить надежность модели и ее способность к обобщению. Это особенно важно в сценариях, когда не все признаки имеют одинаковую значимость, как в вашем случае. Ключевыми аспектами являются: проведение кросс-валидации, выбор антологичной конфигурации на основе усредненных метрик и дальнейшее переподобие модели на всей базе данных. Такой процесс помогает находить баланс между переобучением и недостаточным обучением, обеспечивая надежные предсказывающие способности модели.
Подход, который вы описали, включая переобучение на всем датасете, весьма распространен и считается правильным в профессиональных кругах, так как обеспечивает стабильность и минимизирует возможности переобучения.