Вопрос с собеседования · AI и LLM

Чем различаются XGBoost, LightGBM и CatBoost и как настраивать градиентный бустинг?

MiddleМодели машинного обучения
Ещё спрашивают так:
  • Какие гиперпараметры у градиентного бустинга самые важные?
Коротко

Все три — реализации градиентного бустинга на деревьях. XGBoost — регуляризация в функции потерь и быстрая точная реализация; LightGBM — рост деревьев по листьям и гистограммы, очень быстрый на больших данных; CatBoost (Яндекс) — встроенная работа с категориальными признаками и симметричные деревья, хорош «из коробки».

  • Главные параметры: learning rate и число деревьев (вместе), глубина или число листьев, subsample и colsample, регуляризация
  • Число деревьев подбирают ранней остановкой по валидации
  • Маленький learning rate + много деревьев = точнее, но дольше

А ещё Для категорий с высокой кардинальностью CatBoost обычно проще всего

Подробно

Общая схема настройки:

  1. Зафиксировать learning rate (0,05–0,1) и включить раннюю остановку на валидации — число деревьев подберётся само.
  2. Настроить сложность дерева: max_depth (XGBoost, CatBoost) или num_leaves (LightGBM), минимум объектов в листе.
  3. Добавить стохастичность: доля строк (subsample) и признаков (colsample_bytree) на дерево — снижает переобучение.
  4. Регуляризация: L1 и L2 на веса листьев.
  5. В конце уменьшить learning rate и увеличить число деревьев для финального прироста.

Отличия реализаций:

  • XGBoost — растит дерево по уровням, сильная регуляризация, поддержка GPU, отличная документация.
  • LightGBM — растит дерево по листьям (быстрее сходится, но легче переобучается — ограничивают num_leaves), гистограммное разбиение, очень быстрый.
  • CatBoost — ordered target statistics для категорий (без утечки целевой переменной), симметричные (oblivious) деревья — быстрый инференс, хорошие параметры по умолчанию.

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

Что хотят услышать

  • Различия трёх библиотек.
  • Порядок настройки и ключевые параметры.
  • Ранняя остановка.

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

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗CatBoost не умеет работать с категориальными признаками
  • ✗LightGBM строит симметричные деревья, а CatBoost растит их по листьям; число деревьев фиксируют заранее
  • ✓CatBoost силён в категориях, LightGBM — рост по листьям; число деревьев — ранней остановкой
  • ✗Число деревьев подбирают независимо от learning rate

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

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

Разбор собеседования