Перекрёстная проверка
Перекрёстная проверка (также кросс-верификация, от англ. cross-validation) — это метод оценки качества статистических моделей и алгоритмов машинного обучения, заключающийся в многократном разбиении исходного набора данных на обучающую и тестовую выборки для проверки способности модели обобщать новые, не использованные при обучении данные. Основная цель перекрёстной проверки — снижение риска переобучения (overfitting) и получение более объективной оценки обобщающей способности модели по сравнению с однократным разбиением на тренировочный и тестовый наборы.
История
Метод перекрёстной проверки восходит к работам по статистическому анализу середины XX века. В 1940-х годах статистики, такие как Морис Кендалл, использовали идею разделения данных для оценки устойчивости результатов. Однако формальное описание метода в современном виде было предложено Сеймуром Гейссером в 1975 году в статье «The Predictive Sample Reuse Method with Applications». В 1977 году Стоун и Гейссер независимо друг от друга разработали обобщённый подход, известный как «кросс-валидация». С развитием компьютерных технологий и машинного обучения в 1990-х — 2000-х годах метод стал стандартным инструментом в анализе данных, особенно в задачах классификации, регрессии и выбора гиперпараметров моделей.
Основные виды перекрёстной проверки
Существует несколько основных вариантов реализации перекрёстной проверки, различающихся способом разбиения данных и вычислительной сложностью.
K-блочная перекрёстная проверка (K-fold cross-validation)
Наиболее распространённый вид. Исходный набор данных случайным образом делится на K равных (или примерно равных) частей (блоков). В каждом из K циклов один блок используется в качестве тестовой выборки, а оставшиеся K-1 блоков — в качестве обучающей. Модель обучается на K-1 блоках и оценивается на оставшемся. Процесс повторяется K раз, и итоговая оценка качества вычисляется как среднее арифметическое по всем циклам. Типичные значения K — 5 или 10, так как они обеспечивают хороший баланс между смещением и дисперсией оценки.
Оставь-один-внешний (Leave-One-Out, LOO)
Частный случай K-блочной проверки, где K равно общему числу наблюдений N. В каждом цикле одно наблюдение используется как тестовое, а остальные N-1 — как обучающие. Процесс повторяется N раз. LOO даёт почти несмещённую оценку ошибки, но требует больших вычислительных затрат при большом объёме данных. Часто применяется на малых выборках (до нескольких сотен наблюдений).
Оставь-один-внешний по группам (Leave-One-Group-Out, LOGO)
Вариант, при котором данные разбиваются на группы по какому-либо признаку (например, по дате, региону или пациенту). В каждом цикле одна группа полностью исключается из обучения и используется как тестовая. Это полезно, когда наблюдения внутри группы могут быть зависимы (например, повторные измерения одного пациента).
Стратифицированная перекрёстная проверка (Stratified cross-validation)
Применяется для задач классификации с несбалансированными классами. В каждом блоке сохраняется исходное соотношение классов (страт). Это предотвращает ситуации, когда в каком-либо блоке может отсутствовать представитель редкого класса, что исказило бы оценку. Чаще всего используется в сочетании с K-блочной проверкой.
Повторная перекрёстная проверка (Repeated cross-validation)
Метод, при котором K-блочная проверка выполняется несколько раз (например, 10 раз по 5-блочной) с разными случайными разбиениями данных. Это позволяет снизить дисперсию оценки, но увеличивает вычислительные затраты.
Вложенная перекрёстная проверка (Nested cross-validation)
Используется для одновременного выбора гиперпараметров модели и оценки её обобщающей способности без смещения. Внешний цикл (например, 5-блочный) делит данные на обучающие и тестовые части. Внутри каждого цикла внешнего цикла выполняется внутренняя перекрёстная проверка (например, 3-блочная) только на обучающей части для подбора гиперпараметров. Затем модель с лучшими параметрами оценивается на тестовой части внешнего цикла. Это даёт более честную оценку, чем простая проверка, где гиперпараметры подбираются на всём наборе данных.
Применение
Перекрёстная проверка широко используется в различных областях анализа данных и машинного обучения:
- Выбор модели: сравнение нескольких алгоритмов (например, линейная регрессия, случайный лес, нейронная сеть) для выбора наилучшего по средней ошибке на кросс-валидации.
- Настройка гиперпараметров: поиск оптимальных значений параметров модели (например, коэффициента регуляризации, глубины дерева) с помощью сеточного поиска (Grid Search) или случайного поиска (Random Search) в сочетании с кросс-валидацией.
- Оценка обобщающей способности: получение объективной оценки точности модели на новых данных, особенно при ограниченном объёме выборки.
- Отбор признаков: оценка влияния отдельных признаков на качество модели путём сравнения результатов кросс-валидации с включением и исключением признака.
- Биоинформатика и медицина: анализ геномных данных, прогнозирование заболеваний, где объём выборки часто мал, а количество признаков велико.
Достоинства и недостатки
Достоинства
- Снижает риск переобучения по сравнению с однократным разбиением.
- Даёт более стабильную и надёжную оценку качества модели, особенно на малых выборках.
- Позволяет эффективно использовать все доступные данные как для обучения, так и для тестирования.
- Применима к широкому классу моделей и задач.
Недостатки
- Высокая вычислительная стоимость: обучение модели выполняется многократно, что может быть проблематично для больших наборов данных или сложных моделей (например, глубоких нейронных сетей).
- При наличии временной зависимости в данных (например, временные ряды) стандартная случайная перекрёстная проверка может давать смещённые оценки, так как нарушает порядок наблюдений. Для таких случаев разработаны специальные методы (например, скользящее окно).
- Результаты могут быть чувствительны к способу разбиения, особенно при малом K или несбалансированных данных.
Критика и ограничения
Основная критика метода связана с тем, что перекрёстная проверка не гарантирует отсутствия переобучения, если процесс подбора модели (например, выбор гиперпараметров) осуществляется на тех же данных, на которых затем оценивается модель. Вложенная кросс-валидация решает эту проблему, но требует ещё больших вычислительных ресурсов. Кроме того, при наличии сильной корреляции между наблюдениями (например, повторные измерения одного объекта) стандартная кросс-валидация может завышать оценку качества. В таких случаях рекомендуется использовать групповую или стратифицированную проверку.
Источники
- Geisser, S. (1975). The Predictive Sample Reuse Method with Applications. Journal of the American Statistical Association.
- Stone, M. (1977). Cross-Validatory Choice and Assessment of Statistical Predictions. Journal of the Royal Statistical Society: Series B.
- Hastie, T., Tibshirani, R., Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer.
- Kohavi, R. (1995). A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection. Proceedings of the 14th International Joint Conference on Artificial Intelligence.
- Arlot, S., Celisse, A. (2010). A survey of cross-validation procedures for model selection. Statistics Surveys.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


