Интуитивно понятные объяснения различий между Gradient Boosting Trees (GBM) и Adaboost


48

Я пытаюсь понять разницу между GBM и Adaboost.

Вот что я понял до сих пор:

  • Существуют оба алгоритма повышения, которые учатся на ошибках предыдущей модели и, наконец, составляют взвешенную сумму моделей.
  • GBM и Adaboost очень похожи, за исключением функций потери.

Но мне все еще трудно понять идею различий между ними. Может кто-нибудь дать мне интуитивные объяснения?

Ответы:


34

Я обнаружил, что это введение может дать некоторые интуитивные объяснения.

  • В Gradient Boosting «недостатки» (существующих слабых учеников) определяются градиентами .
  • В Adaboost «недостатки» идентифицируются точками данных с большим весом .

В моем понимании, экспоненциальная потеря Adaboost дает больший вес для тех образцов, которые установлены хуже. В любом случае, Adaboost рассматривается как особый случай повышения градиента с точки зрения функции потерь, как показано в истории повышения градиента, представленной во введении.

  1. Изобретите Adaboost, первый успешный алгоритм повышения [Freund et al., 1996, Freund and Schapire, 1997]
  2. Сформулируйте Adaboost как градиентный спуск со специальной функцией потерь [Breiman et al., 1998, Breiman, 1999]
  3. Обобщение Adaboost к Gradient Boosting для обработки множества функций потерь [Friedman et al., 2000, Friedman, 2001]

11

Интуитивное объяснение алгоритма AdaBoost

Позвольте мне опираться на превосходный ответ @ Randel с иллюстрацией следующего пункта


  • В Adaboost «недостатки» идентифицируются точками данных с большим весом

Резюме AdaBoost

Gm(x) m=1,2,...,M

G(x)=sign(α1G1(x)+α2G2(x)+...αMGM(x))=sign(m=1MαmGm(x))
  • Окончательный прогноз представляет собой комбинацию прогнозов всех классификаторов путем взвешенного большинства голосов.

  • αmGm(x)

  • w1,w2,...,wNm
  • m=1wi=1/N

AdaBoost на игрушечном примере

M=10

введите описание изображения здесь

Визуализация последовательности слабых учеников и выборочных весов

m=1,2...,6

введите описание изображения здесь

Первая итерация:

  • Граница принятия решения очень проста (линейна), так как это ученики
  • Все точки имеют одинаковый размер, как и ожидалось
  • 6 синих точек находятся в красной области и неправильно классифицированы

Вторая итерация:

  • Граница линейного решения изменилась
  • Ранее неправильно классифицированные синие точки теперь больше (больше sample_weight) и влияют на границу решения
  • 9 синих точек теперь неправильно классифицированы

Окончательный результат после 10 итераций

αm

([1,041, 0,875, 0,837, 0,781, 1,04, 0,938 ...

Как и ожидалось, первая итерация имеет самый большой коэффициент, поскольку она имеет наименьшее количество неправильных классификаций.

Следующие шаги

Интуитивное объяснение повышения градиента - будет завершено

Источники и дальнейшее чтение:

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.