Интерактивная статистика

56 бесплатных интерактивных уроков: от среднего и медианы до A/B-тестов и Байеса. Двигайте графики и стройте интуицию. Без регистрации.

Модуль 8 «Классификация»

Переобучение и честная проверка (train/test)

Модель можно сделать сколь угодно сложной и заставить идеально пройти через все обучающие точки. Но цель не в этом: модель должна работать на НОВЫХ данных, которых ещё не видела. Здесь прячется главная ловушка машинного обучения — и причина, почему все метрики (AUC, RMSE) надо мерить правильно.

⚪ обучение🟡 новые данные (тест)
Ошибка на обучении: 51Ошибка на новых данных: 9973

Белые точки — данные, на которых модель учится. Бирюзовая кривая — сама модель. Жёлтые точки — новые данные, которых модель не видела. Ползунок задаёт сложность модели (гибкость кривой).

Что это значит

Разделение на обучение и тест (а надёжнее — кросс-валидация) — базовая гигиена машинного обучения. Все метрики из прошлых уроков (AUC, precision/recall, RMSE) имеют смысл только на отложенных данных. Модель, которую хвалят за точность на обучающих данных, в проде может быть бесполезна.

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

Где это встречается

Переобучение объясняет, почему «гениальная» торговая стратегия, идеально описывающая прошлое, теряет деньги на будущем — она заучила случайности истории.

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

Определения
Переобучение (overfitting)
модель заучила случайный шум обучающих данных и плохо работает на новых.
По-простому: модель зазубрила шум и валится на новых данных.
Недообучение (underfitting)
модель слишком проста и не ловит даже реальную закономерность.
Train / test
разделение данных: на обучающей модель учится, на тестовой — честно проверяется качество.
По-простому: на одной части учимся, на отложенной честно проверяем.
Кросс-валидация
k-кратное разбиение: каждая часть по очереди тестовая, оценки усредняются — устойчивая оценка качества.
По-простому: по очереди каждая часть — тестовая; оценки усредняют для надёжности.
Когда метод врёт (допущения)

Честность train/test держится на том, что тест НИКАК не участвовал в обучении и подборе. Утечка данных (тест просочился в обучение, или признак «из будущего») рисует красивую, но фальшивую оценку — об этом отдельный урок в «Ловушках».

Деление должно сохранять структуру: для временных рядов тест берут ПОЗЖЕ обучения (нельзя учиться на будущем); для групп (один пользователь — много строк) делят по группам, иначе оценка завышена.

Подробный разбор: математика и механизм (необязательно)

Под капотом — компромисс смещения и разброса (bias-variance). Простая модель имеет большое смещение (систематически мимо), но малый разброс (стабильна между выборками). Сложная — малое смещение, но большой разброс (виляет от выборки к выборке). Ошибка на новых данных ≈ смещение² + разброс + неустранимый шум, и минимум — посередине по сложности.

Бороться с переобучением помогают не только train/test: регуляризация (штраф за сложность), больше данных, упрощение модели, ранняя остановка. Все они сдвигают баланс bias-variance к оптимуму.

Дальше →
Понравились материалы?

Эти материалы делает канал «Кусочек пиццы» — аналитика данных простыми словами: разборы реальных кейсов, метрики, карьера. Подпишитесь, чтобы не потерять.

Подписаться на «Кусочек пиццы»