МОДУЛЬ 22 · Middle+ · 3 час

Полчаса чтения ошибок дают больше, чем неделя тюнинга

Лосс, офлайн-метрика, онлайн-метрика и деньги — это четыре разные вещи. Выстраиваем их в пирамиду и строим лестницу бейзлайнов снизу вверх.

Пройти модуль в симуляторе Все 23 урока

Первые два модуля бесплатны, без карты. Остальные — по подписке $20/мес.

🏢 Ситуация

Design doc для «СуперМегаРитейла» одобрен. Лена:

«Теперь наполняем его инженерным содержанием. Четыре раздела, которые в книге называют "ранней стадией": метрики и лоссы, датасет, схема валидации, бейзлайны. Каждый — с обоснованием, почему именно так. Помни: ошибка на этой стадии стоит месяцы, потому что всё, что дальше, строится на этих решениях.»

🎯 Ваша задача

  1. Построить иерархию метрик: от лосса до бизнес-метрики.
  2. Спроектировать датасет и понять, «сколько данных достаточно».
  3. Выбрать схему валидации (включая нетривиальные: nested, adversarial).
  4. Построить лестницу бейзлайнов и понять, зачем нужен константный.

📚 Теория

Иерархия метрик

Одна метрика не описывает систему. В зрелом design doc метрики выстроены в пирамиду — от того, что оптимизирует градиент, до того, что видит CFO:

Бизнес-метрика $ потерь на разрыве поставка−продажа, SLA полки Онлайн-метрики (A/B) списания скоропорта, доля out-of-stock, маржа магазина Офлайн-метрики модели WAPE, bias (пере/недопрогноз), quantile loss на валидации Лосс-функция то, что оптимизирует градиент: quantile/MSE/log loss — согласована с метрикой выше
Пирамида метрик: каждый уровень — прокси для уровня выше. Разрывы между уровнями (оптимизируем одно, докладываем другое) — источник «модель лучше, бизнесу хуже».

Правила пирамиды:

Датасет: сколько данных достаточно?

Разделы дока про данные: источники, ETL, фильтрация, разметка, метаданные.

Схемы валидации: стандартные и нетривиальные

Схема Когда
Holdout много данных, быстрые итерации
K-fold CV мало данных, нужна оценка разброса
Time-series (rolling) всё со временем — как наш прогноз спроса
Nested CV одновременно тюним гиперпараметры и честно оцениваем качество: внутренний цикл тюнит, внешний — меряет
Adversarial validation проверка «train похож на test?»: обучаем классификатор отличать train от test. AUC ≈ 0.5 — выборки из одного мира; AUC → 1 — распределения разные, ваша валидация врёт

Adversarial validation — недооценённый приём: он же показывает, какие признаки отличают train от prod (топ-фичи классификатора) — это будущие источники дрейфа.

Лестница бейзлайнов

Константа Правило / seasonal naive Простая модель (линейная, один буст) Целевая система (ансамбль, иерархия, квантили) Каждая ступень должна ЗАМЕТНО бить предыдущую — иначе остаёмся на простой
Лестница бейзлайнов: константа → правило → простая модель → целевая система. Побеждает самая простая ступень, которую не удалось значимо превзойти.

Что запомнить

  • Метрики — это пирамида: лосс → офлайн → онлайн → бизнес; разрывы уровней чинят раньше модели.
  • «Хватит ли данных» — вопрос к sample-wise learning curve, а не к интуиции.
  • Adversarial validation отвечает, похож ли train на test/prod, и заранее называет источники дрейфа.
  • Лестница бейзлайнов: константа за 5 минут — обязательна; побеждает простейшее из непобеждённого.

Дальше в модуле: Практика

Пошаговый разбор решения, код и квиз на 5 вопросов.

Открыть модуль →

Соседние уроки

21 Advanced · Прежде чем писать код: Design Doc 23 Advanced · Интеграция, A/B, мониторинг, владение

Программа целиком — 23 урока