Какие модели минимизируют bias, а какие variance, сравнивая бустинг и бэггинг
Что проверяют
Понимаете ли вы механизм, а не заученную фразу «бэггинг против variance, бустинг против bias». Следом обычно спрашивают, почему в случайном лесе деревья глубокие, а в бустинге мелкие, и что будет, если добавить ещё сто деревьев.
Как отвечать
Начните с разложения ошибки: ожидаемая ошибка равна bias² + variance + неустранимый шум. Bias это систематический промах слишком простой модели, variance это чувствительность к конкретной обучающей выборке.
- бэггинг: обучает независимые модели на бутстрэп-выборках и усредняет. Усреднение почти не меняет bias, но снижает variance. Поэтому базовые модели берут с низким bias и высоким variance: глубокие деревья без обрезки;
- случайный лес: бэггинг плюс случайное подмножество признаков в каждом сплите (
max_features). Дисперсия среднего по B деревьям с попарной корреляцией ρ равнаρσ² + (1 - ρ)σ²/B, и выбор признаков нужен, чтобы уменьшить ρ. Рост B гасит только второе слагаемое, поэтому лес от лишних деревьев не переобучается, он просто перестаёт улучшаться; - бустинг: строит модели последовательно, каждая подгоняется под антиградиент ошибки предыдущих. Это снижает bias, поэтому базовые модели слабые: неглубокие деревья или деревья с ограниченным числом листьев. С ростом числа итераций variance растёт, и модель переобучается.
Бустинг держат в узде learning_rate, ранней остановкой по валидации, подвыборкой строк и признаков (subsample, colsample_bytree) и регуляризацией листьев. Подвыборка здесь работает как элемент бэггинга и снижает variance.
Где спотыкаются
Говорят, что больше деревьев в случайном лесе ведёт к переобучению. Это верно для бустинга, а в лесе ошибка с ростом числа деревьев выходит на плато.
Утверждают, что бустинг всегда лучше. На маленьких шумных данных лес часто устойчивее и почти не требует настройки.
Не связывают глубину базовой модели с методом. Лес на пнях глубины 1 почти ничего не выигрывает от усреднения, потому что усреднение не лечит bias, а бустинг на очень глубоких деревьях переобучается за несколько итераций.