Половина провалов ML-проектов случается до выбора модели: задачу поставили не так, метрика не отражает цель, или модель вообще не нужна. На собесе это проверяют вопросами «как бы вы подошли к задаче» и классикой про переобучение.
Типы задач
- Обучение с учителем: есть целевая переменная. Классификация (класс), регрессия (число), ранжирование (порядок).
- Без учителя: меток нет. Кластеризация, снижение размерности, поиск аномалий.
- Self-supervised: метки строятся из самих данных, например предсказать следующий токен. Так учат большие языковые модели.
- Обучение с подкреплением: агент действует в среде и получает награду.
Прогноз выручки на завтра это регрессия на временном ряду. Признак «уйдёт ли клиент за 30 дней» это бинарная классификация.
От бизнес-задачи к ML-задаче
Продакт говорит: «хотим меньше оттока». Перед моделью нужно ответить на вопросы:
- Какое действие мы сделаем с прогнозом: скидка, звонок, пуш? Без действия прогноз бесполезен.
- Целевая переменная: что считаем оттоком, за какой горизонт.
- Момент прогноза: признаки только из данных до него, иначе утечка.
- Метрики: офлайн (PR-AUC, precision в топе) и бизнес (сохранённая выручка).
- Бейзлайн: простое правило или логистическая регрессия.
- Проверка эффекта: A/B-тест.
Иногда правильная постановка вообще другая. Модель оттока находит тех, кто уйдёт, но скидка нужна тем, на кого она повлияет. Это uplift-моделирование.
Переобучение и недообучение
- Недообучение: ошибка высокая и на трейне, и на валидации. Модель слишком проста или признаки неинформативны.
- Переобучение: трейн почти идеален, валидация заметно хуже. Модель запомнила шум.
Bias и variance
Ожидаемая квадратичная ошибка раскладывается:
E[(y - ŷ)²] = bias² + variance + шум
- Bias: систематическая ошибка из-за слишком простой модели.
- Variance: чувствительность к конкретной обучающей выборке.
- Шум: неустранимая часть, её не уберёт никакая модель.
С ростом сложности bias падает, variance растёт, ошибка на тесте минимальна посередине. У огромных нейросетей наблюдается double descent: после точки, где модель может идеально подогнать трейн, ошибка на тесте снова падает.
Что лечит что
| Симптом | Что поможет |
|---|---|
| Высокий bias | Новые признаки, сложнее модель, слабее регуляризация |
| Высокий variance | Больше данных, регуляризация, проще модель, ансамбли, early stopping |
| Метрика упёрлась в шум разметки | Чистить данные и разметку, а не крутить модель |
Кривые обучения по размеру выборки помогают выбрать: если трейн и валидация сошлись на высоком уровне, новые данные того же вида не помогут.
Бейзлайн
Всегда начинайте с простого: константа, правило, линейная модель. Бейзлайн показывает, есть ли смысл в сложной модели, а подозрительно хорошее качество простой модели часто означает утечку.
Частые ошибки
- Оптимизировать офлайн-метрику, не связанную с решением бизнеса.
- Пропустить вопрос «а что мы сделаем с прогнозом».
- Пытаться лечить недообучение сбором тех же данных.
- Сразу брать сложную модель без бейзлайна.
Что спросят на собесе
- Как поставить задачу оттока, фрода или прогноза спроса.
- Что такое переобучение, как его заметить и чем лечить.
- Разложение ошибки на bias и variance, как они зависят от сложности.
- Зачем бейзлайн и как выбрать метрику под бизнес-цель.