Bagging

Тема дорожной карты · Основы машинного обучения

Bagging (Bootstrap Aggregating) — это ансамблевый метод машинного обучения, который позволяет уменьшить дисперсию модели, обучая несколько моделей на различных случайных подвыборках из обучающей выборки и агрегируя их предсказания через усреднение или голосование. Этот метод особенно эффективен против переобучения в моделях с высокой дисперсией, таких как деревья решений. Самым известным применением bagging является метод случайного леса. Scikit-learn предоставляет BaggingClassifier и BaggingRegressor для реализации этого подхода.

Как это работает

Bagging — это метод, который обучает несколько моделей на различных случайных подвыборках (bootstrap-выборках) из обучающей выборки и агрегирует их предсказания через усреднение или голосование. Это позволяет уменьшить дисперсию модели и повысить её устойчивость к переобучению. В отличие от методов бустинга, где модели последовательно учатся на ошибках предыдущих моделей, bagging обучает несколько моделей параллельно, что делает этот метод особенно подходящим для моделей с высокой дисперсией, таких как деревья решений. Каноническим примером bagging является метод случайного леса.

Когда применять

Bagging особенно полезен, когда требуется уменьшить дисперсию модели и улучшить её устойчивость к переобучению. Для табличных данных часто начинают с использования метода бустинга, таких как LightGBM или XGBoost, которые известны своей скоростью и точностью. Однако, если требуется интерпретируемость фичей и не требуется максимальной производительности, метод случайного леса (Random Forest) может быть более подходящим. Stacking (мета-модель, которая учится комбинировать предсказания базовых моделей) — это метод, который может обеспечить дополнительную маржинальную прибыль, но требует значительных усилий и обычно используется в контексте соревнований, таких как Kaggle. CatBoost, который нативно обрабатывает категориальные фичи без необходимости в кодировании, является хорошим выбором для работы с грязными данными.

Типичные ошибки

Типичные ошибки при использовании bagging включают создание ансамбля из 50 моделей, когда одна усиленная модель может обеспечить ту же производительность. Другой распространенной ошибкой является игнорирование параметра early_stopping_rounds при использовании метода бустинга, что может привести к переобучению и замедлению обучения. Также важно учитывать монотонные ограничения, чтобы модель не делала контринтуитивных предсказаний, например, предсказание, что увеличение цены приведет к снижению оттока клиентов. Наконец, необходимо проверять разнообразие членов ансамбля, чтобы убедиться, что они действительно добавляют ценность к модели.

Связанные понятия

Полезные ресурсы