Истинный риск — средняя потеря на будущих объектах. Таблица даёт лишь конечное среднее. Для заранее фиксированной модели оно честно колеблется вокруг риска; для модели, выбранной по той же таблице, возникает систематический оптимизм.
Одна функция, много возможных выборок
Сервис прогнозирует длительность поездки. Зафиксируем правило до просмотра тестовых данных и loss . Истинный риск
усредняет по неизвестному распределению будущих поездок. По независимой выборке вычисляется
Если строки независимы и распределены как будущее, то . Но конкретная оценка выше или ниже истины. Её стандартный разброс убывает примерно как , если дисперсия loss конечна.
Вертикальная линия — фиксированный . Три кривые показывают по множеству независимых test-выборок. Центр сохраняется, ширина уменьшается с , но ни одна отдельная выборка не обязана попасть точно в линию.
Выбранная функция отличается от фиксированной
Пусть обучены сто моделей и выбрана та, у которой минимален validation loss. Даже если все имеют одинаковый истинный риск, победит модель с удачным отрицательным шумом оценки:
Поэтому оптимистична как оценка . Чем больше кандидатов и шумнее validation, тем сильнее эффект. Независимая test-часть оценивает уже выбранную процедуру один раз.
Серые точки показывают истинные риски кандидатов, вертикальные отрезки — шумные validation-оценки. Красным отмечен минимум наблюдаемых оценок. Он выбран одновременно за качество и за случайное отклонение вниз.
Train, validation, test
Train используется для оценки параметров. Validation — для выбора гиперпараметров, признаков, архитектуры и порога. Test — для финальной оценки замороженной процедуры. Если данных мало, cross-validation циклически меняет validation-fold, но внешняя test-часть остаётся отдельной.
Предобработка входит в процедуру обучения. Среднее для стандартизации, словарь категорий, отбор признаков и заполнение пропусков оцениваются только на train. Иначе validation сообщает алгоритму статистику будущих объектов и риск становится заниженным.
Концентрация среднего
Если loss ограничен , неравенство Хёффдинга для фиксированной даёт
Оно не требует нормальности и показывает экспоненциальное уменьшение вероятности большого отклонения. Чтобы правая часть была не больше , достаточно
Оценка грубая, зато явно связывает точность, уверенность и объём.
Лаборатория Монте-Карло
Сначала наблюдайте риск одной фиксированной функции на повторных выборках. Затем добавляйте кандидатов и выбирайте минимум. Разница между validation победителя и его истинным риском растёт, хотя распределение каждого кандидата не изменилось. Увеличьте validation — шум выбора уменьшится.
Независимость строк — содержательное условие
В NYC Taxi одна машина совершает много поездок, соседние поездки делят погоду и пробки, данные одного дня имеют общий режим. Случайное перемешивание строк помещает почти одинаковые условия в train и test. Метрика отвечает на вопрос «предсказать ещё одну строку из того же дня», а не «предсказать следующую неделю».
Если цель — будущее время, используют хронологический split. Если цель — новый водитель, группы водителей не должны пересекаться. Если развёртывание в новом городе, test должен содержать города, отсутствующие в train. Единица разделения следует из единицы обобщения.
Слева случайный split перемешивает дни и водителей. В центре последние недели образуют test. Справа целые водители удерживаются вне train. Под каждой схемой подписан объект обобщения: новая поездка в знакомом режиме, будущий период или новый водитель.
Offline и online риск
Offline test использует исторические метки и фиксированное распределение. После запуска модель меняет среду: рекомендательная система влияет на клики, маршрутизатор — на пробки, фильтр — на то, какие обращения увидит оператор. Online-эксперимент измеряет риск внутри этого контура.
Есть ещё shadow-режим: новая модель получает production-поток и строит прогнозы, но не управляет действиями. Он проверяет задержку, пропуски и сдвиг признаков без причинного влияния на пользователя. Shadow не заменяет A/B, если нужно узнать реакцию людей, зато обнаруживает инженерные расхождения между offline pipeline и реальным сервисом.
Метрики тоже могут иметь задержку. Возврат товара известен через месяц; ранний proxy «клик» способен улучшиться при ухудшении долгосрочной цели. Нужна цепочка proxy → outcome и guardrails, как в уроке об экспериментах.
Выбор loss определяет популяцию ошибок
Средняя RMSE сильно весит крупные ошибки; MAE — линейно; средний процентный loss взрывается около нулевого ответа. Урок 57 объяснял смысл функций потерь, а здесь важно: выбранная величина становится случайной переменной, чей средний риск оценивает test.
Помимо среднего показывают распределение: медиану, квантили, worst-group risk. Две модели с одинаковым средним могут различаться хвостом. Если редкая авария критична, среднее по миллионам обычных объектов её растворяет.
Сдвиг распределения
Равенство относится к тому же , из которого пришла выборка. При covariate shift меняется , при label shift — частота классов, при concept shift — . Исторический test больше не оценивает будущий риск.
Importance weighting пытается пересчитать среднее с весами , но большие веса увеличивают variance. Надёжнее собирать свежую размеченную выборку и строить карту применимости.
От оценки к гарантии
Эмпирический риск — наблюдение, не печать качества. К нему добавляют интервал, описание split, состав популяции, дату, метрики групп и список решений, принятых по validation. Для адаптивного перебора моделей нужна цена выбора; её формально обсудит oracle inequality.
Хороший отчёт позволяет воспроизвести вопрос: на каких будущих объектах, какую потерю и при какой процедуре оценивает число. Без этих трёх частей «test error 4,2%» почти лишён смысла.
Как validation выбирает счастливчика
Пусть сто правил на самом деле имеют одинаковый риск . Каждое проверили на независимых объектах. Для одного заранее выбранного правила стандартное отклонение наблюдаемой доли ошибок примерно равно
Оценка около вполне возможна. Если же взять минимум из ста шумных оценок, почти наверняка найдётся особенно удачное правило. Его уже условно на победе и систематически занижает риск, хотя каждая отдельная validation была несмещённой.
Разделим работу на два слоя. Validation выбирает правило и становится частью алгоритма обучения. Один нетронутый test применяется к победителю ровно один раз и оценивает всю процедуру поиска. Если после test команда меняет признаки или гиперпараметры, набор фактически превращается в новую validation; нужна свежая проверка.
Есть ещё зависимость кандидатов: сто соседних значений одного learning rate не равны ста независимым лотерейным билетам. Но считать поиск бесплатным тоже нельзя. В отчёте указывают пространство перебора, число решений, правило остановки и все просмотры контрольных метрик.