Бэггинг деревьев со случайными подвыборками объектов и : усреднение резко снижает .
Ключевые тезисы
- Деревья строятся независимо, поэтому обучение легко параллелится.
- OOB-оценка даёт качество без отдельной валидационной выборки.
- Надёжный : почти не требует настройки .
Какую задачу решает
Одно дерево неустойчиво: оно улавливает не только сигнал, но и случайности конкретной выборки. использует это как ресурс — обучает сотни деревьев на разных бутстрэп-подвыборках и усредняет их ответы. Ошибки, вызванные случайностью, у разных деревьев разные и при усреднении гасят друг друга; сигнал остаётся.
Второй источник разнообразия — случайное подмножество в каждом разбиении. Без него все деревья дружно выбрали бы один и тот же сильный признак в корень и оказались бы слишком похожими. Именно двойная рандомизация делает лес моделью, которая почти не требует настройки и почти не переобучается с ростом числа деревьев.
Пусть каждое дерево ошибается независимо с . среднего таких ошибок равна — со ста деревьями разброс падает в сто раз. На практике деревья скоррелированы, и формула превращается в : остаётся неустранимая часть, пропорциональная . Отсюда прямой практический вывод — вся конструкция направлена на снижение : разные подвыборки, разные в узлах. Именно поэтому увеличение числа деревьев после некоторого предела перестаёт помогать.
Подробный разбор
— выборка того же размера с возвращением. Каждое дерево обучается на своей такой выборке, поэтому деревья получаются разными. Их усреднение гасит случайные ошибки отдельных деревьев.
- дисперсия — мера разброса значений
- стандартное отклонение — разброс величины
- суммирование по всем перечисленным элементам
Именно поэтому дополнительно выбирает случайное подмножество в каждом узле: это снижает между деревьями и делает усреднение эффективнее.
При примерно объектов не попадают в выборку дерева. На них можно измерить качество без отдельной валидации — это и есть OOB-оценка.
- Встроенная важность (по снижению неоднородности) смещена в пользу с большим числом уникальных значений.
- Перестановочная важность честнее: перемешиваем и смотрим падение качества на OOB.
- Коррелированные делят важность между собой — не читайте важности как «вклад в причину».
почти не переобучается с ростом числа деревьев: добавление деревьев только стабилизирует ответ. Ограничивать нужно глубину и минимальный размер листа, а не количество деревьев.
Где применяется
- Надёжная Работает почти из коробки на любых табличных данных — с этого начинают, если настраивать некогда.
- Оценка Быстрый способ понять, что вообще влияет на цель, до построения финальной модели.
- Шумные данныеУсреднение делает лес устойчивым к выбросам и ошибкам разметки.
- вырос из той же идеи случайных деревьев.
- Многоклассовые задачиРаботает с десятками классов без специальных ухищрений.
Плюсы, минусы и альтернативы
Плюсы
- Почти не требует настройки: значения по умолчанию обычно уже неплохи.
- Практически не переобучается с ростом числа деревьев.
- OOB даёт честную оценку качества бесплатно, без отложенной выборки.
- Параллелится идеально: деревья независимы.
- Устойчив к выбросам, шуму и нерелевантным признакам.
Минусы
- Обычно уступает градиентному бустингу на 1–3% метрики.
- Модель тяжёлая: сотни деревьев в памяти, медленнее .
- Интерпретируемость отдельного дерева потеряна.
- Плохо работает с очень разреженными признаками (текст) — там линейные модели лучше.
- Не экстраполирует: предсказание всегда внутри диапазона обучающих значений.
Брать, если
- Нужна крепкая модель без времени на настройку.
- Данные шумные, с и ошибками разметки.
- Нужна быстрая оценка .
- Отложенной выборки нет, а честная оценка нужна — используйте OOB.
Не брать, если
- Борьба идёт за десятые доли метрики — берите .
- Данные разрежены и высокоразмерны () — линейная модель дешевле и точнее.
- Нужен прогноз за пределами диапазона обучающих значений.
Чем заменяют
Связанные темы
Ансамблирование · Переобучение и регуляризация · Деревья и ансамбли
Gradient Boosting98%
Градиентный бустинг · Классическое машинное обучениеПоследовательное построение деревьев, каждое из которых исправляет ошибки предыдущего ансамбля.
Variance97%
Дисперсия · Математический справочникМера разброса значений вокруг среднего.
Stacking and Blending85%
Стекинг и блендинг · Классическое машинное обучениеАнсамбль из разнородных моделей, поверх которых обучается мета-модель. Стандартный приём соревнований и способ выжать последние проценты.
Cross-validation85%
Кросс-валидация · Оценка моделейМногократное разбиение выборки, дающее оценку качества вместе с её разбросом.
Decision Trees85%
Решающие деревья · Классическое машинное обучениеПоследовательность вопросов «признак > порог», разбивающая пространство на прямоугольные области.
XGBoost85%
XGBoost · Классическое машинное обучениеРеализация бустинга с регуляризацией в функции потерь, вторым порядком оптимизации и продуманной работой с разреженностью.
LightGBM85%
LightGBM · Классическое машинное обучениеБыстрый бустинг от Microsoft: гистограммное разбиение и рост дерева по листьям вместо по уровням.
CatBoost85%
CatBoost · Классическое машинное обучениеБустинг от Яндекса с упорядоченным кодированием категорий и упорядоченным бустингом против смещения.
SHAP85%
SHAP · Интерпретируемость моделейРаспределение вклада признаков на основе значений Шепли из теории игр — с гарантиями аддитивности и согласованности.
Encoding85%
Кодирование категорий · ДанныеПеревод категориальных признаков в числа: one-hot, ordinal, target encoding, хеширование, эмбеддинги.
Regularization80%
Регуляризация · Оптимизация обученияЛюбое ограничение сложности модели, снижающее переобучение.
Weight Decay80%
Затухание весов · Оптимизация обученияПостепенное сжатие весов к нулю на каждом шаге оптимизации.
Early Stopping80%
Ранняя остановка · Оптимизация обученияОбучение останавливается, когда валидационная метрика перестала улучшаться.
Overfitting80%
Переобучение · Практика MLМодель запомнила обучающую выборку вместе с шумом: train-метрика отличная, val — плохая.
Underfitting80%
Недообучение · Практика MLМодель слишком проста или недоучена: ошибка велика и на train, и на валидации.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Бэггинг
Обучение на бутстрэп-подвыборках с возвращением: каждое дерево видит свои примерно 63% данных.
Разбор ниже: Бэггинг и бутстрэпСлучайные признаки в разбиении
В каждом узле рассматривается лишь подмножество — это и делает деревья непохожими.
Разбор ниже: Бэггинг и бутстрэпOOB-оценка
Каждое дерево тестируется на не попавших в его выборку объектах: честная оценка качества без отдельной валидации.
Разбор ниже: OOB-оценка и важности признаковСнижение дисперсии
Усреднение слабо скоррелированных моделей уменьшает ошибки, не трогая смещение.
Разбор ниже: Бэггинг и бутстрэпPermutation importance
Насколько падает качество, если перемешать значения . Честнее встроенной важности.
Разбор ниже: OOB-оценка и важности признаковПрофильная компетенция для ролей: Data Scientist, ML Engineer, Инженер рекомендаций.
Усиливает профиль: Аналитик данных, Продуктовый инженер.
Глава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.