Что будет, если применить bagging к линейным алгоритмам?
Что проверяют
Понимаете ли вы, за счёт чего работает бэггинг, и готовы ли сказать, что метод не поможет, вместо перечисления общих достоинств ансамблей. Вопрос с подвохом, и правильный ответ здесь отрицательный.
Как отвечать
Изменится почти ничего. Бэггинг снижает разброс предсказаний, усредняя модели, обученные на бутстрепных подвыборках. Смысл это имеет для неустойчивых алгоритмов с низким смещением: глубокое решающее дерево на двух почти одинаковых выборках даёт два совершенно разных разбиения, и усреднение гасит этот шум. Линейная модель устойчива: выкиньте и продублируйте часть объектов, коэффициенты сдвинутся незначительно.
Есть и более сильный аргумент, который ценят на собеседовании: среднее линейных моделей это снова линейная модель. Усреднённое предсказание совпадает с предсказанием модели по усреднённым коэффициентам, то есть класс гипотез не расширяется и нелинейность так не появится. Качество останется тем же, а обучение и предсказание подорожают во столько раз, сколько моделей в ансамбле.
Когда это всё-таки осмысленно:
- объектов мало, признаков много, есть мультиколлинеарность: оценки коэффициентов там как раз неустойчивы;
- внутри модели идёт отбор признаков, скажем через регуляризацию с занулением, и усреднение даёт более надёжный итоговый набор;
- нужна оценка разброса предсказаний или оценка качества по объектам вне подвыборки.
Где спотыкаются
Говорят, что бэггинг улучшает любую модель. Он лечит разброс, а не смещение: недообученная линейная модель на нелинейной зависимости останется недообученной, сколько её ни усредняй.
Второе: путают бэггинг с бустингом. Бустинг строит модели последовательно, каждая исправляет ошибки предыдущих, и он снижает именно смещение, поэтому простые базовые модели в нём работают осмысленно.
Третье: приписывают бэггингу риск переобучения от числа моделей. Увеличение ансамбля не переобучает: усреднение только уменьшает разброс, а переобучение приходит от сложности базового алгоритма.