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

LightGBM

LightGBM

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

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

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

  • Leaf-wise рост даёт меньшую ошибку при том же числе листьев, но легче переобучается.
  • GOSS и EFB ускоряют обучение на больших и разреженных данных.
  • Обычно самый быстрый вариант на выборках в миллионы строк.

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

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

1

Leaf-wise рост и биннинг

Две идеи, которые дают LightGBM его скорость.

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

  • Плюс: меньше листьев на ту же ошибку, быстрее обучение.
  • Минус: деревья получаются несбалансированными и легче переобучаются — обязательно ограничивайте num_leaves и min_data_in_leaf.
  • Биннинг: непрерывные признаки заранее разбиваются на 255 корзин; поиск порога идёт по корзинам, а не по всем значениям.
На практике

Эмпирическое правило: num_leaves заметно меньше , иначе leaf-wise рост воспроизводит переобученное глубокое дерево.

2

GOSS и EFB

Как ускорить обучение, почти не теряя качества.

  • GOSS (Gradient-based One-Side Sampling): объекты с большим градиентом (там, где модель ошибается) берутся все, из остальных — случайная часть с поправочным весом.
  • EFB (Exclusive Feature Bundling): разреженные признаки, которые почти никогда не бывают ненулевыми одновременно (например, столбцы one-hot), объединяются в один — размерность падает без потери информации.

Вместе эти приёмы дают ускорение в разы на выборках в миллионы строк — именно поэтому LightGBM часто выбирают для больших табличных данных.

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

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

Decision Trees85%

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

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

Random Forest85%

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

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

Gradient Boosting85%

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

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

XGBoost85%

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

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

CatBoost85%

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

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

SHAP85%

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

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

Encoding85%

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

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