Bagging vs boosting и переобучение
Чем bagging отличается от boosting, где применяются random forest и gradient boosting, и что сказать про склонность к переобучению?
Короткий ответ
Bagging обучает независимые модели на bootstrap-подвыборках и снижает variance; boosting строит последовательный ансамбль, исправляющий ошибки, и сильнее зависит от регуляризации.
Полный разбор
Bagging, например random forest, обучает много базовых моделей независимо на bootstrap-подвыборках и агрегирует ответы. Это особенно полезно для unstable high-variance моделей вроде глубоких деревьев: усреднение снижает variance.
Boosting обучает модели последовательно: каждая следующая модель фокусируется на ошибках текущего ансамбля или градиенте loss. Он часто дает лучшее качество на табличных задачах, но может переобучаться при слишком большой глубине деревьев, большом числе итераций, высокой learning rate и слабой регуляризации.
Корректный ответ не должен сводиться к "boosting всегда/никогда переобучается". Нужно говорить через bias-variance, сложность базовых моделей, learning rate, early stopping и качество валидации.
Теория
Bagging в основном уменьшает variance, boosting последовательно уменьшает bias, но контролируется регуляризацией и early stopping.
Типичные ошибки
- Говорить, что boosting не переобучается по определению.
- Не упомянуть bootstrap в bagging.
- Сравнивать только по популярности на Kaggle.
Как отвечать на собеседовании
- Скажи "bootstrap aggregation" полностью.
- Про boosting сразу добавь learning rate и early stopping.