Как устроен процесс обучения
Обучение модели — итеративный цикл из трёх шагов. Сначала модель делает предсказание на батче данных. Затем функция потерь измеряет, насколько предсказание расходится с истинным значением. Наконец, алгоритм оптимизации (чаще всего градиентный спуск) корректирует параметры модели, чтобы уменьшить ошибку. Цикл повторяется тысячи или миллионы раз.
Батч данных → Предсказание → Потери → Градиент → Обновление весов → ↺
Обучение завершается, когда потери перестают снижаться (сходимость) или достигается заданное число эпох.
Типы обучения по времени
Офлайн-обучение (batch training) — модель обучается на фиксированном наборе исторических данных. Стандарт для большинства рекомендательных систем: обучение запускается по расписанию (например, раз в неделю), а новая версия модели заменяет старую.
Онлайн-обучение (incremental/streaming) — модель обновляется по мере поступления новых данных. Позволяет реагировать на быстрые изменения спроса: трендовые товары, вирусные события. Требует сложнее инфраструктуры.
Важно: чем реже модель переобучается, тем больше она «устаревает». Для e-commerce с активными промоакциями рекомендуется пересчитывать модели не реже раза в неделю, а для сессионных рекомендаций — поддерживать онлайн-компонент.
Переобучение и регуляризация
Главный риск обучения — переобучение (overfitting): модель «запоминает» обучающую выборку и теряет способность обобщать на новых данных. Симптом — высокое качество на train-выборке и низкое на hold-out или в продакшене.
Методы борьбы: регуляризация L1/L2 (штраф за крупные веса), дропаут (случайное отключение нейронов при обучении), ранняя остановка (прекращение при росте ошибки на валидации).
Типичные ошибки
- Data leakage — включение в обучение данных из будущего. Классический пример: использование для обучения информации о покупках, которая произошла после события, которое модель должна предсказывать.
- Несбалансированная выборка — если 98% товаров никогда не покупались вместе, модель учится предсказывать «не купят» с высокой точностью, но это бесполезно.
- Редкое переобучение — модель, не видевшая новых товаров, не умеет рекомендовать их. Cold start проблема усугубляется при редких циклах переобучения.