Классическое машинное обучение

Gradient Boosting

Градиентный бустинг

актуальноТекущий рабочий стандарт

Направления: Машинное обучение · Классический ML

Последовательное построение деревьев, каждое из которых исправляет ошибки предыдущего .

Что означает каждый компонент
  • ансамбль после m-й итерации
  • то, что уже построено на прошлых шагах — оно не переобучается заново
  • скорость обучения: доля, с которой новое дерево входит в ансамбль (обычно 0.01–0.1)
  • новое дерево; оно приближает антиградиент потерь — для MSE это просто остатки

Ключевые тезисы

  • Каждое дерево аппроксимирует антиградиент .
  • и число деревьев связаны обратно: меньше шаг — больше итераций.
  • Стандарт де-факто для табличных задач при наличии достаточного объёма данных.

Какую задачу решает

строит не параллельно, как лес, а последовательно: каждое новое дерево обучается исправлять ошибки предыдущих. Формально оно приближает антиградиент на текущих предсказаниях — отсюда и название.

Разница с лесом принципиальна. Лес усредняет сильные модели и снижает ; складывает слабые (деревья глубины 3–6) и снижает смещение. Именно поэтому бустинг систематически точнее на табличных данных — и именно поэтому он переобучается, если не остановиться вовремя: каждое следующее дерево продолжает подгонку, включая подгонку под шум.

Связка learning rate и числа деревьев

Правило простое: произведение примерно постоянно для одного уровня качества. При хватит 100 деревьев, при понадобится около 1000, но результат обычно окажется чуть лучше и стабильнее. Рабочий рецепт: возьмите , поставьте заведомо большое число деревьев (5000) и включите раннюю остановку с терпением в 50 итераций — алгоритм сам подберёт нужное количество. Настраивать руками при наличии бессмысленно.

Подробный разбор

3 подтемы — объяснения, формулы, примеры и интерактивные графики.

Обозначения
  • истинное значение целевой переменной
  • объект: вектор признаков
  • функция потерь — то, что минимизируется при обучении
  • частная производная — чувствительность к одному аргументу

Для антиградиент — это просто остаток , поэтому первое объяснение всегда звучит как «второе дерево предсказывает ошибку первого». Для других вместо остатка стоит их .

Числовой пример

, среднее . Остатки: . Первое дерево предсказывает их приближённо, скажем . При новый ответ: , остатки уменьшились до .

-3-113-202xy
моделей в ансамбле5
MSE на обучении0.205
типбустинг (последовательно)
Ансамбль
Режим «Бустинг»: добавляйте модели по одной и смотрите, как ступенчатая функция всё точнее повторяет данные

ПараметрЭффектТипичные значения
learning_rate νвклад каждого дерева0.01–0.1
n_estimatorsчисло деревьевподбирается по
max_depthсложность базовой модели3–8
subsampleдоля объектов на дерево0.7–1.0
colsampleдоля на дерево0.7–1.0
На практике

ν и число деревьев связаны обратно: уменьшили шаг вдвое — увеличивайте число деревьев примерно вдвое. Практика: зафиксировать небольшой ν, поставить заведомо большое число деревьев и остановиться по валидации.

Обозначения
  • дисперсия — мера разброса значений
  • стандартное отклонение — разброс величины
  • объект: вектор признаков
  • Бэггинг берёт глубокие деревья (малое смещение, большой разброс) и усредняет — падает Var.
  • берёт неглубокие деревья (большое смещение, малый разброс) и складывает — падает Bias.
  • Поэтому переобучается при слишком большом числе итераций, а — почти нет.
-3-113-4-2024xy
степень полинома3
ошибка на train0.568
ошибка на test0.395
диагнозбаланс
Крайности сложности: слева систематическая ошибка, справа — подгонка под шум

Где применяется

  • Табличные данныеСтандарт индустрии: скоринг, отток, спрос, рекомендации, антифрод — и большинство соревнований.
  • РанжированиеLambdaMART и его наследники — базовая технология поисковых и рекомендательных выдач.
  • Прогноз временных рядовНа признаках-лагах конкурентен классическим моделям и легко учитывает внешние факторы.
  • Сильная база для сравненияПрежде чем строить на таблице, стоит убедиться, что уже проиграл.

Плюсы, минусы и альтернативы

Плюсы

  • Лучшее качество на табличных данных среди распространённых моделей.
  • Не требует , работает с разномасштабными и категориальными признаками.
  • Автоматически ловит нелинейности и взаимодействия.
  • Поддерживает разные : регрессия, классификация, ранжирование, квантили.
  • Зрелые быстрые реализации с обработкой пропусков и категорий.

Минусы

  • Переобучается без и подобранных .
  • Обучение последовательно и хуже параллелится, чем бэггинг.
  • Больше , и они взаимозависимы.
  • Не интерпретируется напрямую — нужен или permutation importance.
  • Чувствителен к шуму в разметке: усердно подгоняется под ошибочные метки.
  • Не экстраполирует за пределы обучающего диапазона.

Брать, если

  • Данные табличные и нужна максимальная метрика.
  • Есть для .
  • разнородны: числа, категории, пропуски вперемешку.

Не брать, если

  • Данные — изображения, звук или длинный текст: там правят .
  • Нужна прямая интерпретируемость модели без дополнительных инструментов.
  • Разметка сильно зашумлена и почистить её нельзя.
  • Нужен прогноз далеко за пределами наблюдавшихся значений (тренд во времени).

Чем заменяют

Связанные темы

Ансамблирование · Деревья и ансамбли

Random Forest98%

Случайный лес · Классическое машинное обучение

Бэггинг деревьев со случайными подвыборками объектов и признаков: усреднение резко снижает дисперсию.

Stacking and Blending85%

Стекинг и блендинг · Классическое машинное обучение

Ансамбль из разнородных моделей, поверх которых обучается мета-модель. Стандартный приём соревнований и способ выжать последние проценты.

Variance85%

Дисперсия · Математический справочник

Мера разброса значений вокруг среднего.

Cross-validation85%

Кросс-валидация · Оценка моделей

Многократное разбиение выборки, дающее оценку качества вместе с её разбросом.

Decision Trees85%

Решающие деревья · Классическое машинное обучение

Последовательность вопросов «признак > порог», разбивающая пространство на прямоугольные области.

XGBoost85%

XGBoost · Классическое машинное обучение

Реализация бустинга с регуляризацией в функции потерь, вторым порядком оптимизации и продуманной работой с разреженностью.

LightGBM85%

LightGBM · Классическое машинное обучение

Быстрый бустинг от Microsoft: гистограммное разбиение и рост дерева по листьям вместо по уровням.

CatBoost85%

CatBoost · Классическое машинное обучение

Бустинг от Яндекса с упорядоченным кодированием категорий и упорядоченным бустингом против смещения.

SHAP85%

SHAP · Интерпретируемость моделей

Распределение вклада признаков на основе значений Шепли из теории игр — с гарантиями аддитивности и согласованности.

Encoding85%

Кодирование категорий · Данные

Перевод категориальных признаков в числа: one-hot, ordinal, target encoding, хеширование, эмбеддинги.

Кому эта тема нужна

Профильная компетенция для ролей: Data Scientist, ML Engineer, Инженер рекомендаций.

Усиливает профиль: Аналитик данных, Продуктовый инженер.

Спрашивают на собеседовании: Яндекс — Classic ML, Сбер — Скоринг и риски, Т-Банк — Антифрод и риски, Ozon — Спрос и логистика, Wildberries — Спрос, цены и акции, МТС — Отток и персональные предложения, Альфа-Банк — Скоринг и кредитные риски, Альфа-Банк — Персонализация и CVM, ВТБ — Риск-модели, Газпромбанк — Корпоративные риски, Совкомбанк — Скоринг и взыскание, Точка — Антифрод и комплаенс, ЮMoney — Антифрод платежей, X5 Tech — Спрос и пополнение, X5 Tech — Цены и промо, Магнит — Ассортимент и спрос, Магнит — Лояльность и персонализация, Самокат — Спрос и ассортимент даркстора, Самокат — Логистика и сроки доставки, Dodo Brands — Прогноз заказов и планирование смен, Спортмастер — Закупка и ассортимент, Спортмастер — Рекомендации и омниканальность, Циан — Оценка недвижимости, Авиасейлс — Прогноз цен и подсказки, Авиасейлс — Ранжирование предложений, МегаФон — Отток и предложения, билайн — Маркетинг и удержание, Ростелеком — Качество сети и отток, Лаборатория Касперского — Детектирование вредоносного ПО, Positive Technologies — Аналитика событий и приоритизация, BI.ZONE — Антифрод и защита от автоматизации, СКБ Контур — Проверка контрагентов, Selectel — Мощности и надёжность, Т1 — Корпоративный ML, Газпром нефть — Геология и добыча, Газпром нефть — Переработка и оптимизация, СИБУР — Качество и режимы производства, Северсталь — Оптимизация производства, Росатом — Промышленный ИИ.

Проверить себя

Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.

Тема в работе целиком

Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.

Следующий шагПроверить себя: Классический MLТема встречается в этом тесте 2 раза. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.