Как устроен процесс обучения

Обучение модели — итеративный цикл из трёх шагов. Сначала модель делает предсказание на батче данных. Затем функция потерь измеряет, насколько предсказание расходится с истинным значением. Наконец, алгоритм оптимизации (чаще всего градиентный спуск) корректирует параметры модели, чтобы уменьшить ошибку. Цикл повторяется тысячи или миллионы раз.

Батч данных → Предсказание → Потери → Градиент → Обновление весов → ↺

Обучение завершается, когда потери перестают снижаться (сходимость) или достигается заданное число эпох.

Типы обучения по времени

Офлайн-обучение (batch training) — модель обучается на фиксированном наборе исторических данных. Стандарт для большинства рекомендательных систем: обучение запускается по расписанию (например, раз в неделю), а новая версия модели заменяет старую.

Онлайн-обучение (incremental/streaming) — модель обновляется по мере поступления новых данных. Позволяет реагировать на быстрые изменения спроса: трендовые товары, вирусные события. Требует сложнее инфраструктуры.

Важно: чем реже модель переобучается, тем больше она «устаревает». Для e-commerce с активными промоакциями рекомендуется пересчитывать модели не реже раза в неделю, а для сессионных рекомендаций — поддерживать онлайн-компонент.

Переобучение и регуляризация

Главный риск обучения — переобучение (overfitting): модель «запоминает» обучающую выборку и теряет способность обобщать на новых данных. Симптом — высокое качество на train-выборке и низкое на hold-out или в продакшене.

Методы борьбы: регуляризация L1/L2 (штраф за крупные веса), дропаут (случайное отключение нейронов при обучении), ранняя остановка (прекращение при росте ошибки на валидации).

Типичные ошибки

  • Data leakage — включение в обучение данных из будущего. Классический пример: использование для обучения информации о покупках, которая произошла после события, которое модель должна предсказывать.
  • Несбалансированная выборка — если 98% товаров никогда не покупались вместе, модель учится предсказывать «не купят» с высокой точностью, но это бесполезно.
  • Редкое переобучение — модель, не видевшая новых товаров, не умеет рекомендовать их. Cold start проблема усугубляется при редких циклах переобучения.