Переобучение, синтетика и разбиение данных
Как бороться с переобучением модели? Чем может быть опасна синтетика и зачем нужен разбиение данных?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Борьба с overfitting: регуляризация, early stopping, контроль емкости модели, больше качественных данных, аугментации, корректный validation split и проверка leakage. Синтетика опасна, если не похожа на real distribution.
Полный разбор
Классический набор против переобучения: L1/L2 или weight decay, dropout, early stopping, уменьшение capacity, data augmentation, больше real data, аккуратные features и проверка leakage. Для деревьев и бустинга это depth, min samples, learning rate, subsampling и регуляризация листьев; для нейросетей - weight decay, dropout, augmentation, normalization как optimization helper и validation-based early stopping.
Синтетические данные могут помочь, но опасны distribution mismatch: модель учится на артефактах генератора, которых нет в продакшене. Поэтому синтетику надо валидировать отдельно, смешивать осторожно, смотреть метрики на real validation/test и проверять slice quality.
Validation split нужен для оценки качества на unseen data, выбора hyperparameters, thresholds и момента early stopping. Split должен повторять production setting: time-based для временных задач, group/user split для избежания leakage, одинаковая population и label availability.
Теория
Validation нужен не для красоты эксперимента, а для честной оценки generalization до запуска модели.
Типичные ошибки
- Добавить synthetic data без проверки на real validation.
- Использовать random split там, где нужен time или group split.
- Путать train quality с production-readiness.
Как отвечать на собеседовании
- Разделите методы регуляризации, данные и validation protocol.
- Обязательно скажите про leakage и production-like split.