Как работает градиентный бустинг
Классический алгоритм machine learning строит одну модель сразу. Бустинг работает иначе: он собирает ансамбль слабых моделей, последовательно исправляющих ошибки друг друга.
Процесс:
1. Первое дерево строится как грубое приближение целевой переменной
2. Вычисляются остатки — насколько дерево ошиблось на каждом объекте
3. Следующее дерево обучается предсказывать эти остатки
4. Итоговый прогноз — взвешенная сумма всех деревьев
«Градиент» в названии — потому что выбор направления каждого следующего дерева определяется градиентом функции потерь (обобщение на произвольные дифференцируемые потери, не только MSE).
Итоговый прогноз = T₁(x) + η·T₂(x) + η·T₃(x) + ...
где η — learning rate (скорость обучения, 0.01–0.3)
Важно: чем меньше learning rate, тем больше деревьев нужно — и тем устойчивее модель к переобучению. Стандартная практика: learning rate 0.05–0.1 + ранняя остановка по валидационной выборке.
Применение в e-commerce
Предиктивная аналитика
Бустинг — де-факто стандарт для задач бинарной классификации и регрессии на табличных данных:
— Предсказание оттока (churn prediction)
— Скоринг вероятности покупки в сессии
— Предсказание вероятности возврата товара
— Динамическая оценка кредитного риска (BNPL, рассрочка)
Ранжирование в рекомендациях
В двухэтапных рекомендательных пайплайнах бустинг занимает второй этап — реранкинг. После того как embedding-модель (two-tower, item2vec) отобрала 100–500 кандидатов, LightGBM/XGBoost переупорядочивает их с учётом:
| Признак | Описание |
|---|---|
| Контекст сессии | Просмотренные товары, категория текущей страницы |
| Пользовательские атрибуты | Сегмент, RFM, история покупок |
| Товарные атрибуты | Маржа, наличие, рейтинг, новинка |
| Мерчандайзинговые правила | Буст приоритетных позиций |
Поисковое ранжирование
В e-commerce поиске бустинг ранжирует результаты, обучаясь на кликах и покупках (Learning to Rank: LambdaMART — разновидность бустинга для задач ранжирования).
Регуляризация и переобучение
Основные параметры, защищающие от переобучения:
— max_depth — глубина дерева (3–6 для бустинга, не нужна большая)
— min_child_samples — минимум объектов в листе
— subsample / colsample_bytree — случайная подвыборка данных и признаков
— reg_alpha, reg_lambda — L1/L2 регуляризация весов листьев
При правильной настройке градиентный бустинг на хорошо подготовленных признаках конкурирует с нейросетями на большинстве e-commerce табличных задач.