Бустинг от Яндекса с упорядоченным кодированием категорий и упорядоченным бустингом против смещения.
Ключевые тезисы
- Категориальные признаки передаются как есть — кодирование внутри модели.
- Симметричные (oblivious) деревья дают очень быстрый инференс.
- Часто лучшее качество «из коробки» без тонкой настройки.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Упорядоченное кодирование категорий
Target encoding без утечки — встроенный в алгоритм.
CatBoost берёт случайную перестановку объектов и для каждого объекта считает статистику категории только по тем, кто идёт раньше него. Значение цели самого объекта в его признак не попадает.
- истинное значение целевой переменной
- объект: вектор признаков
- вероятность (или плотность распределения)
- суммирование по всем перечисленным элементам
Из-за этого CatBoost часто выигрывает «из коробки» на данных с большим числом категориальных признаков: ручное кодирование обычно либо слабее, либо протекает.
2Ordered boosting и симметричные деревья
Борьба со смещением предсказаний и очень быстрый инференс.
В обычном бустинге остатки считаются моделью, которая уже видела эти объекты — возникает смещение (prediction shift). Ordered boosting строит для каждого объекта оценку по модели, обученной без него.
Симметричные (oblivious) деревья используют один и тот же предикат на всём уровне. Такое дерево превращается в маленькую таблицу поиска: инференс становится в разы быстрее и легко векторизуется.
- Симметричность работает и как регуляризация: модель менее склонна к переобучению.
- Обучение на GPU и поддержка текстовых и эмбеддинг-признаков идут «из коробки».
Связанные темы
Деревья и ансамбли
Decision Trees85%
Решающие деревья · Классическое машинное обучениеПоследовательность вопросов «признак > порог», разбивающая пространство на прямоугольные области.
Random Forest85%
Случайный лес · Классическое машинное обучениеБэггинг деревьев со случайными подвыборками объектов и признаков: усреднение резко снижает дисперсию.
Gradient Boosting85%
Градиентный бустинг · Классическое машинное обучениеПоследовательное построение деревьев, каждое из которых исправляет ошибки предыдущего ансамбля.
XGBoost85%
XGBoost · Классическое машинное обучениеРеализация бустинга с регуляризацией в функции потерь, вторым порядком оптимизации и продуманной работой с разреженностью.
LightGBM85%
LightGBM · Классическое машинное обучениеБыстрый бустинг от Microsoft: гистограммное разбиение и рост дерева по листьям вместо по уровням.
SHAP85%
SHAP · Интерпретируемость моделейРаспределение вклада признаков на основе значений Шепли из теории игр — с гарантиями аддитивности и согласованности.
Encoding85%
Кодирование категорий · ДанныеПеревод категориальных признаков в числа: one-hot, ordinal, target encoding, хеширование, эмбеддинги.