Middle+
63
questionbank

Что такое back leakage?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Back leakage (обратная утечка) — это ситуация в машинном обучении, когда информация из тестового или валидационного набора данных непреднамеренно попадает в обучающий процесс. Это приводит к переобучению модели на этих данных, из-за чего оценки производительности (метрики качества) на тестовом наборе выглядят завышенными и не отражают реальную способность модели обобщаться на новые, unseen данные.

Причины back leakage:

  • Выполнение предобработки данных (масштабирование, нормализация, кодирование категориальных признаков) на всем наборе данных до его разделения на обучающий, тестовый и валидационный.
  • Использование статистики из тестового или валидационного набора (например, среднее, стандартное отклонение) при обработке обучающего набора.
  • Отбор признаков (feature selection) на основе всего набора данных, включая тестовый.
  • "Ручная" подгонка модели или гиперпараметров на основе наблюдаемой производительности на тестовом наборе данных.

Последствия back leakage:

  • Ненадежные оценки производительности модели.
  • Модель плохо работает на новых данных в продакшене.
  • Трата ресурсов на неэффективную модель.

Предотвращение back leakage:

  • Всегда разделять данные на обучающий, валидационный и тестовый наборы до любой предобработки или анализа.
  • Применять предобработку данных (например, StandardScaler, OneHotEncoder) только к обучающему набору, а затем использовать обученные трансформаторы для преобразования валидационного и тестового наборов.
  • Выполнять отбор признаков только на обучающем наборе данных.
  • Использовать кросс-валидацию на обучающем наборе для настройки гиперпараметров и оценки модели до финального тестирования на отложенном тестовом наборе.

Пример некорректного масштабирования (приводит к back leakage):

python

Пример корректного масштабирования (избегает back leakage):

python