Как loss учитывается при выборе split в бустинге
Как дерево в gradient boosting выбирает split с учетом loss function?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Boosting аппроксимирует изменение loss через градиенты, а иногда и гессианы. Split выбирается по gain: насколько разбиение улучшает сумму оптимальных leaf values.
Полный разбор
В gradient boosting новое дерево учится исправлять ошибки текущего ансамбля. Для каждого объекта считается градиент loss по текущему prediction. В second-order вариантах используется еще гессиан. Loss рядом с текущим prediction раскладывается в ряд Тейлора.
Для candidate split алгоритм смотрит, как объекты разделятся по листьям, и оценивает, насколько уменьшится аппроксимированный loss после выбора оптимальных значений в листьях. Split с лучшим gain выбирается, если он проходит регуляризацию и ограничения.
В разных библиотеках детали отличаются, но смысл общий: дерево строится не по "чистой" impurity вроде Gini само по себе, а по тому, как split помогает уменьшить выбранную objective function ансамбля.
Теория
Boosting строит дерево как шаг оптимизации loss, используя градиентную информацию текущего ансамбля.
Типичные ошибки
- Объяснять gradient boosting как независимый random forest.
- Не связывать split gain с objective function.
- Забывать про регуляризацию leaf values.