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

XGBoost

XGBoost

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

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

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

  • Использует градиент и гессиан для выбора оптимального разбиения.
  • Штрафы за число листьев и величину весов встроены в критерий.
  • Автоматически обрабатывает пропуски, выбирая оптимальное направление ветвления.

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

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

1

Второй порядок и разложение Тейлора

Чем XGBoost отличается от классического бустинга математически.

Классический бустинг использует только градиент. XGBoost раскладывает функцию потерь по Тейлору до второго порядка, поэтому учитывает и кривизну.

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

Регуляризация и работа с пропусками

Штраф за сложность прямо в критерии разбиения.

Обозначения
  • сила регуляризации
  • параметр ядра RBF: радиус влияния объекта
  • веса модели — то, что подбирается при обучении
  • суммирование по всем перечисленным элементам
— число листьев; штрафует за их количество, — за величину весов
  • Разбиение делается только если выигрыш превышает — встроенная предобрезка.
  • Sparsity-aware split: для объектов с пропуском алгоритм выучивает, в какую ветвь их отправлять.
  • Гистограммный режим (tree_method="hist") убирает необходимость сортировать признаки на каждом шаге.

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

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

Decision Trees85%

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

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

Random Forest85%

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

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

Gradient Boosting85%

Градиентный бустинг · Классическое машинное обучение

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

LightGBM85%

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

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

CatBoost85%

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

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

SHAP85%

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

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

Encoding85%

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

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