В чем разница градиентного бустинга и случайного леса
Что проверяют
Понимаете ли вы идею последовательного исправления ошибок и отличаете ли бустинг от бэггинга.
Как отвечать
Бустинг строит ансамбль последовательно: каждая следующая модель учится на ошибках предыдущих. В градиентном варианте новое дерево обучается предсказывать антиградиент функции потерь, то есть направление, в котором ошибку нужно уменьшить.
Схема простая: начинаем с константы, считаем остатки, обучаем на них неглубокое дерево, добавляем его к ансамблю с коэффициентом learning rate, повторяем.
Отличие от случайного леса принципиальное. Лес это бэггинг: деревья независимы, обучаются параллельно, глубокие, результат усредняется. Бустинг: деревья зависимы, обучаются по очереди, мелкие (глубина примерно от трёх до шести), результат складывается.
Реализации и за что их берут: XGBoost (проверенный, много регуляризации), LightGBM (быстрый на больших данных, рост дерева по листьям), CatBoost (сам работает с категориальными признаками, упорядоченный бустинг против утечки целевой переменной).
Гиперпараметры, которые решают: learning rate и число деревьев (обменивают друг друга), глубина, доля строк и признаков на дерево.
Где спотыкаются
Путают с бэггингом и говорят, что деревья обучаются параллельно.
Ставят и большой learning rate, и много деревьев, после чего удивляются переобучению.
Не пользуются early stopping по валидации, хотя он встроен во все три библиотеки.
Не могут объяснить, почему на табличных данных бустинг обычно обыгрывает нейросети.