Валидация модели

Материал из MachineLearning.

Версия от 19:04, 12 июля 2026; Aleksandra Ivanova (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM GPT-5.5 Thinking и проверена участником Aleksandra Ivanova 14:36, 12 июля 2026 (MSD)


Валидация моделей — оценивание качества модели на данных, которые не использовались при обучении её параметров. В машинном обучении валидация нужна для выбора алгоритма, настройки гиперпараметров и проверки способности модели работать с новыми объектами.

Ошибка на обучающей выборке для этой цели непригодна. Параметры модели подбираются именно по обучающим данным, поэтому полученная на них оценка обычно занижена. Кроме устойчивой зависимости модель может усвоить шум, выбросы и случайные особенности конкретной выборки. Это явление называется переобучением.

Валидация не гарантирует сохранения качества при любых условиях. Её результат относится к конкретным данным, способу разделения и выбранной метрике. Если контрольная выборка не воспроизводит будущие условия применения, точность вычислений не делает оценку содержательно правильной.

Содержание

Задача валидации

Пусть пары (x,y) порождаются неизвестным распределением P(x,y), а f обозначает модель. Её качество определяется ожидаемым риском

R(f)=\mathbb{E}_{(x,y)\sim P}L(y,f(x)),

где Lфункция потерь.

Распределение P(x,y) неизвестно, поэтому ожидаемый риск оценивают по конечной выборке:

\widehat{R}(f)=\frac{1}{m}\sum_{i=1}^{m}L(y_i,f(x_i)).

Если объекты (x_i,y_i) не участвовали в обучении модели, величина \widehat{R}(f) служит оценкой ошибки обобщения. Она остаётся случайной: другое разбиение данных может дать иной результат.

Валидация решает две задачи, которые нельзя смешивать:

  1. выбор модели, признаков и гиперпараметров;
  2. независимая оценка уже выбранной процедуры.

Если одна и та же выборка используется и для настройки, и для итоговой оценки, процедура постепенно приспосабливается к её особенностям. Полученная метрика оказывается оптимистически смещённой.[1]

Обобщающая способность

Обобщающая способность — способность модели сохранять качество на объектах, не представленных при обучении.

Стандартная теория предполагает, что обучающие и будущие наблюдения независимы и получены из одного распределения. В прикладных задачах это условие часто нарушается. Несколько строк могут относиться к одному пользователю, данные могут зависеть от времени, а условия сбора — различаться между организациями.

Поэтому понятие «новый объект» определяется сценарием применения. Если модель должна работать с новыми пациентами, все записи одного пациента помещаются в одну часть данных. Если требуется прогноз будущего, валидационные наблюдения должны следовать за обучающими по времени.

Переобучение проявляется малой ошибкой на обучающей выборке и заметно большей ошибкой на контрольной. Его вероятность зависит не только от сложности модели, но и от объёма данных, уровня шума, числа проверенных конфигураций и способа отбора признаков.

Недообучение возникает, когда модель не описывает существенные зависимости. В этом случае высокими остаются и обучающая, и валидационная ошибки.

Разделение данных

В классической схеме исходная выборка разделяется на три части.

Обучающая выборка используется для оценки параметров модели.

Валидационная выборка служит для выбора алгоритма, признаков, порога решения и гиперпараметров.

Тестовая выборка применяется один раз — для итоговой оценки выбранной процедуры.

Различие между валидационной и тестовой выборками определяется не происхождением данных, а способом использования. Если тестовая метрика влияет на дальнейшую настройку, тестовая выборка фактически становится валидационной.

После завершения выбора модель можно обучить заново на объединённых обучающих и валидационных данных. Тестовая часть при этом остаётся изолированной.

Валидация на удержанной выборке

Валидация на удержанной выборке, или hold-out validation, использует одно разделение данных на обучающую и контрольную части.

Метод требует одного обучения для каждой конфигурации и подходит для крупных выборок. Его слабое место — зависимость от конкретного разделения. При небольшом числе объектов замена нескольких наблюдений способна заметно изменить метрику.

Фиксированная пропорция, например 80:20, не является универсальным правилом. Значение имеет абсолютное число контрольных объектов, а в классификации — число представителей каждого класса.

Перекрёстная проверка

Перекрёстная проверка, или cross-validation, использует несколько разделений одной выборки. Объекты поочерёдно включаются в контрольные части, что снижает зависимость оценки от одного разбиения.

k-блочная перекрёстная проверка

При k-блочной перекрёстной проверке выборка делится на k непересекающихся блоков:

D=D_1\cup D_2\cup\ldots\cup D_k.

На шаге j блок D_j используется для проверки, остальные блоки — для обучения. Итоговая оценка равна

\widehat{R}_{CV}=\frac{1}{k}\sum_{j=1}^{k}\widehat{R}_j.

Каждый объект один раз участвует в проверке и k-1 раз — в обучении. Значения k=5 и k=10 часто дают приемлемое соотношение между вычислительной стоимостью и устойчивостью оценки.[1]

Увеличение числа блоков не гарантирует более надёжного результата. Обучающие подвыборки сильнее пересекаются, а стоимость вычислений растёт.

Стратификация

При стратифицированной перекрёстной проверке в каждом блоке сохраняются приблизительно одинаковые доли классов.

Стратификация нужна при дисбалансе классов: без неё редкий класс может отсутствовать в отдельных контрольных частях. Однако она не устраняет зависимость между объектами и не защищает от утечки данных.

Повторная перекрёстная проверка

При повторной проверке разбиение на k блоков строится несколько раз. Разброс результатов показывает чувствительность модели к составу фолдов.

Повторения уменьшают влияние неудачного разделения, но не создают новых независимых наблюдений. Метрики разных запусков остаются статистически связанными.

Leave-One-Out

В схеме Leave-One-Out Cross-Validation каждый объект поочерёдно становится единственным контрольным примером:

\widehat{R}_{LOO}=\frac{1}{n}\sum_{i=1}^{n}L\left(y_i,f_{D\setminus\{i\}}(x_i)\right).

Каждая модель обучается на n-1 объектах. Метод использует почти всю выборку, но требует n обучений и может быть чувствителен к отдельным наблюдениям. Его применение оправдано главным образом при очень малом объёме данных.

Групповая валидация

Построчное случайное разделение некорректно, если несколько записей относятся к одной сущности: пациенту, пользователю, устройству, документу или видеоролику.

Попадание одной группы одновременно в обучение и проверку позволяет модели использовать её индивидуальные особенности. Такая оценка показывает качество на новых записях известных групп, а не на действительно новых группах.

При Group K-Fold все объекты одной группы помещаются в один блок. Обучающая и контрольная части не содержат общих групп. Единица разделения должна совпадать с единицей будущего обобщения.

Валидация временных данных

Для временных данных случайное перемешивание обычно недопустимо: модель может получить информацию из будущего.

Должно выполняться условие

t_{\mathrm{train}} < t_{\mathrm{val}}.

Здесь t_{\mathrm{train}} обозначает время обучающих наблюдений, а t_{\mathrm{val}} — время валидационных.

При простом временном разделении ранний период используется для обучения, более поздний — для проверки.

При расширяющемся окне обучающий интервал постепенно увеличивается. Такая схема соответствует системам, которые при каждом переобучении используют всю накопленную историю.

При скользящем окне длина обучающего интервала остаётся постоянной: новые наблюдения добавляются, старые исключаются. Метод уместен, когда давние данные теряют актуальность.

Последовательная валидация (англ. walk-forward validation) повторяет обучение и прогнозирование так, чтобы каждый прогноз основывался только на ранее доступной информации.

Если признаки вычисляются по временным интервалам, между обучающей и контрольной частями оставляют зазор. Он предотвращает пересечение исходных окон и утечку будущей информации.

Вложенная перекрёстная проверка

Обычная перекрёстная проверка даёт смещённую оценку, если её результат одновременно используется для выбора гиперпараметров и сообщения итогового качества. Среди большого числа конфигураций часть получает низкую ошибку случайно.

Вложенная перекрёстная проверка разделяет эти задачи:

  1. внутренний цикл выбирает гиперпараметры;
  2. внешний цикл оценивает всю процедуру выбора.

На каждом внешнем шаге один блок откладывается. На оставшихся данных проводится внутренний подбор. Затем выбранная конфигурация обучается заново и проверяется на внешнем блоке.

Метод особенно важен при малой выборке, широком поиске гиперпараметров и отсутствии отдельного тестового набора.[1]

Цена независимой оценки — большое число обучений.

Бутстрэп и out-of-bag-оценка

Бутстрэп формирует выборки того же размера путём случайного выбора объектов с возвращением.[1]

Вероятность того, что объект не попадёт в бутстрэп-выборку, при большом n приближается к

e^{-1}\approx 0{,}368.

Поэтому одна бутстрэп-выборка содержит около 63,2 % различных объектов исходного набора.

Невыбранные объекты называются out-of-bag-объектами. Они используются для оценки модели, обученной без них. Такой подход применяется, например, в случайных лесах.[1]

Бутстрэп особенно полезен для анализа устойчивости и построения доверительных интервалов. Он не является автоматической заменой перекрёстной проверке: свойства оценки зависят от алгоритма и объёма данных.

Валидация полного конвейера

Валидации подлежит не только модель, но и весь процесс обработки:

исходные данныепредварительная обработкапризнакимодель

Любое преобразование, параметры которого оцениваются по данным, обучается только на обучающей части каждого фолда. Это относится к заполнению пропусков, нормализации, кодированию категорий, отбору признаков, уменьшению размерности, балансировке классов и выбору порога.

Например, если среднее значение признака вычислено по всей выборке до разделения, контрольные объекты уже повлияли на обучение. Последующая перекрёстная проверка не исправляет эту ошибку.

Утечка данных

Утечка данных — использование информации, недоступной в реальном моменте прогнозирования или принадлежащей контрольной части.

Основные случаи:

  • признак прямо или косвенно содержит целевую переменную;
  • дубликаты или связанные объекты попадают в разные части;
  • предварительная обработка выполняется до разделения;
  • при временном прогнозировании используются будущие события.

Утечка почти всегда завышает качество. Иногда модель после внедрения теряет большую часть точности, поскольку главный источник её предсказаний в рабочей среде отсутствует.

Предотвращение утечки начинается не с выбора функции разделения, а с точного определения момента прогнозирования, доступной к этому моменту информации и независимой единицы наблюдения.

Выбор гиперпараметров

Пусть \lambda обозначает конфигурацию гиперпараметров. Выбирается значение

\widehat{\lambda}=\arg\min_{\lambda}\widehat{R}_{\mathrm{val}}(\lambda).

Чем больше конфигураций проверяется, тем выше вероятность выбрать вариант, которому случайно подошла конкретная валидационная выборка. Возникает переобучение уже не параметров модели, а всей процедуры поиска.

Смещение уменьшают независимая тестовая выборка, вложенная перекрёстная проверка и разумное ограничение пространства поиска.

В системах AutoML эта проблема выражена особенно сильно: автоматизация увеличивает число испытаний, но не отменяет необходимость независимой проверки.

Метрики

Схема валидации определяет, на каких данных оценивается модель. Метрика определяет, какое свойство считается качеством.

Доля правильных ответов малоинформативна при сильном дисбалансе классов. ROC AUC оценивает ранжирование, но не качество при конкретном пороге. Средняя квадратичная ошибка сильнее реагирует на крупные отклонения, чем средняя абсолютная.

Порог классификации, выбранный по данным, является гиперпараметром. Его следует настраивать внутри валидационного цикла, а не на итоговой тестовой выборке.

Для неаддитивных метрик возможны два способа агрегирования: усреднение значений по фолдам и вычисление одной метрики по объединённым вневыборочным прогнозам. Эти результаты не обязаны совпадать, поэтому способ расчёта должен быть указан.

Статистическая неопределённость

Валидационная метрика зависит от состава выборки, разбиения на фолды, случайной инициализации и стохастического обучения.

Разброс результатов по фолдам полезен для диагностики, но не является обычной выборочной дисперсией: обучающие множества пересекаются, поэтому оценки зависимы.

Универсальной несмещённой оценки дисперсии k-блочной перекрёстной проверки, основанной только на ошибках её фолдов, не существует.[1]

Для анализа неопределённости применяются повторные разбиения, бутстрэп и отдельные тестовые выборки. Доверительный интервал отражает случайную изменчивость, но не устраняет утечку данных, смещение выборки или изменение распределения.

Воспроизводимость

Воспроизводимая оценка требует фиксации:

  • версии данных и правил формирования выборки;
  • единицы разделения и индексов фолдов;
  • случайных состояний;
  • этапов предварительной обработки;
  • пространства гиперпараметров;
  • основной метрики и способа её агрегирования.

Сохранение индексов фолдов надёжнее сохранения одного seed: результат генерации может зависеть от порядка строк и версии библиотеки.

Один запуск не показывает устойчивость алгоритма, если обучение чувствительно к инициализации.

Особые случаи

Несбалансированная классификация

При редком положительном классе применяется стратификация. Балансировка и генерация синтетических объектов выполняются только внутри обучающей части.

Если редкий класс представлен несколькими наблюдениями, никакая схема разделения не сделает оценку надёжной. Проблема заключается в нехватке данных, а не в выборе метода валидации.

Компьютерное зрение

Кадры одного видео, фрагменты одного снимка и изображения одного физического объекта обычно зависимы. Единицей разделения должен быть видеоролик, сцена, пациент или объект, а не отдельный файл.

Обработка текстов

Дубликаты, шаблонные документы и тексты одного автора могут попадать в разные части выборки. Для оценки переноса на новых авторов применяется групповое разделение, для будущих документов — временное.

Медицинские данные

Все обследования одного пациента помещаются в одну часть данных. Проверка на материалах другой клиники часто даёт более содержательную оценку переносимости, чем дополнительное случайное разбиение внутри одной базы.

Внутренняя и внешняя валидация

Внутренняя валидация использует повторное разделение одного набора данных. Она оценивает качество в пределах представленной им совокупности.

Внешняя валидация проводится на независимо собранных данных: из другой организации, региона, периода или технической системы.

Внешняя проверка лучше выявляет зависимость модели от источника данных. Она также не доказывает универсальность, но проверяет более сильное утверждение, чем случайное разделение одной базы.

Сдвиг распределения

Валидация имеет смысл только тогда, когда контрольные данные представляют будущие условия применения.

Изменяться могут распределение признаков, доли классов, связь между признаками и ответом, оборудование и правила сбора данных. При ожидаемом сдвиге схема проверки должна его воспроизводить.

Для временного сдвига используется более поздний период, для географического — другой регион, для организационного — данные другой организации. Случайное перемешивание часто скрывает такие различия и создаёт завышенную оценку.

Типичные ошибки

Наиболее серьёзные ошибки связаны не с выбором числа фолдов, а с неверным устройством эксперимента:

  • оценивание на обучающих данных;
  • использование тестовой выборки при настройке;
  • предварительная обработка до разделения;
  • попадание связанных объектов в разные части;
  • перемешивание временных наблюдений;
  • сравнение моделей на разных фолдах;
  • выбор схемы разделения по наибольшей метрике;
  • сообщение среднего результата без анализа отдельных групп и периодов.

Каждая из этих ошибок меняет смысл оценки. Увеличение числа запусков не исправляет некорректную схему.

Выбор схемы

При большом числе независимых объектов обычно достаточно hold-out-разделения.

При малой или средней выборке применяется k-блочная перекрёстная проверка.

Для несбалансированной классификации используется стратификация.

Если записи относятся к одним сущностям, требуется групповое разделение.

Для временных данных используется последовательная проверка без перемешивания.

При активном подборе гиперпараметров и отсутствии независимого тестового набора применяется вложенная перекрёстная проверка.

Главный критерий выбора — соответствие способу появления новых данных после внедрения. Формальное название метода вторично.

Ограничения интерпретации

Валидационная метрика не устанавливает истинность модели и не подтверждает правильность описываемого ею механизма. Она показывает качество предсказаний на данных определённого происхождения согласно выбранному критерию.

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

Корректное разделение также не исправляет нерепрезентативную выборку. Если данные систематически исключают часть целевой совокупности, валидация точно измерит качество только внутри уже смещённого набора.

Неизвестное будущее в валидации заменяется конечным множеством прошлых наблюдений. Это необходимая эмпирическая процедура, но не гарантия будущего результата.

См. также

Примечания


Литература

  • Bengio Y., Grandvalet Y. No Unbiased Estimator of the Variance of K-Fold Cross-Validation // Journal of Machine Learning Research. 2004. Vol. 5. P. 1089–1105.
  • Bishop C. M. Pattern Recognition and Machine Learning. New York: Springer, 2006.
  • Cawley G. C., Talbot N. L. C. On Over-fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation // Journal of Machine Learning Research. 2010. Vol. 11. P. 2079–2107.
  • Efron B., Tibshirani R. J. An Introduction to the Bootstrap. New York: Chapman & Hall, 1993.
  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. 2nd ed. New York: Springer, 2009.
  • Kohavi R. A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection // Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence. 1995. Vol. 2. P. 1137–1143.
  • Vapnik V. N. Statistical Learning Theory. New York: Wiley, 1998.