Есть ли смысл бустить линейную регрессию методом наименьших квадратов на ошибках предыдущей модели
Что проверяют
Понимаете ли вы математику бустинга, а не только слово «ансамбль». Это вопрос с подвохом: интервьюер ждёт, что вы заметите, почему идея в лоб не работает. Следом обычно спрашивают, в каком виде бустинг линейных моделей всё же имеет смысл.
Как отвечать
Короткий ответ: если на тех же признаках обучить МНК на остатках МНК, вы не получите ничего. Второй модели учить нечего.
Причина в геометрии метода. Остатки МНК e = y - Xβ ортогональны всем столбцам матрицы признаков, Xᵀe = 0. Поэтому регрессия остатков на те же X даёт нулевые коэффициенты. К тому же сумма линейных моделей остаётся линейной моделью, так что никакой нелинейности бустинг линейных моделей не добавляет, сколько итераций ни делай.
Где идея всё же работает:
- слабый ученик вместо полного МНК: покомпонентный L2-бустинг на каждой итерации сдвигает один коэффициент с маленьким шагом. С ранней остановкой это регуляризация, похожая на forward stagewise и близкая по поведению к Lasso, модель получается разреженной;
- другие признаки на втором шаге: если вторая модель видит признаки, которых не было у первой, остатки уже не ортогональны её пространству;
- регуляризованная первая модель: у Ridge или Lasso остатки не ортогональны
X, и дообучение на них частично снимает сжатие коэффициентов; - линейная модель плюс деревья: линейная часть берёт тренд и экстраполяцию, деревья на остатках ловят нелинейность. Это уже гибрид, а не бустинг линейной регрессии.
Для практики упомяните booster='gblinear' в XGBoost: это бустинг линейных моделей с L1 и L2 регуляризацией, и на выходе у него тоже линейная модель.
Где спотыкаются
Отвечают «да, бустинг всегда повышает точность» и пересказывают общие плюсы ансамблей. Ровно на этот ответ вопрос и рассчитан.
Утверждают, что бустинг линейной регрессии уловит нелинейные зависимости. Сумма линейных функций линейна, для нелинейности нужны нелинейные базовые модели или новые признаки.
Путают снижение смещения с устойчивостью к шуму. Бустинг борется со смещением, а шумные данные он скорее переобучит, если вовремя не остановить.