Градиентное дерево против случайного леса

110

Повышение градиентного дерева, предложенное Фридманом, использует деревья решений в качестве базовых учеников. Мне интересно, должны ли мы сделать базовое дерево решений настолько сложным, насколько это возможно (полностью выросло) или проще? Есть ли объяснение выбора?

Случайный лес - это еще один метод ансамбля, использующий деревья решений в качестве базовых учащихся. Исходя из моего понимания, мы обычно используем почти полностью выросшие деревья решений в каждой итерации. Я прав?

FihopZz
источник
1
Вы можете найти еще одну очень хорошую ссылку для повышенных деревьев здесь: xgboost.readthedocs.io/en/latest/model.html
Naghmeh
@Naghmeh - Мертвая ссылка; Похоже, что он перешел на xgboost.readthedocs.io/en/latest/tutorials/model.html
mlibby

Ответы:

149

error = bias + variance

  • Повышение основано на слабых учениках (высокий уклон, низкая дисперсия). С точки зрения деревьев решений слабые учащиеся - это мелкие деревья, иногда даже такие же маленькие, как пни решений (деревья с двумя листьями). Повышение снижает погрешность в основном за счет уменьшения смещения (а также до некоторой степени дисперсии путем агрегирования выходных данных многих моделей).
  • С другой стороны, Random Forest использует, как вы сказали, полностью выросшие деревья решений (низкий уклон, высокая дисперсия). Он решает задачу уменьшения ошибок противоположным образом: уменьшая дисперсию. Деревья сделаны некоррелированными, чтобы максимизировать уменьшение дисперсии, но алгоритм не может уменьшить смещение (которое немного выше, чем смещение отдельного дерева в лесу). Отсюда необходимость в больших необрезанных деревьях, чтобы изначально смещение было как можно ниже.

Обратите внимание, что в отличие от Boosting (который является последовательным), RF выращивает деревья параллельно . Таким образом iterative, используемый вами термин неуместен.

Antoine
источник
1
«Деревья сделаны некоррелированными, чтобы максимизировать уменьшение дисперсии, но алгоритм не может уменьшить смещение (которое немного выше, чем смещение отдельного дерева в лесу)» - часть о «немного выше, чем смещение отдельного человека дерево в лесу "кажется неправильным. См. Web.stanford.edu/~hastie/Papers/ESLII.pdf раздел 15.4.2: «Как и в случае с мешками, уклон случайного леса такой же, как у любого отдельного образца деревьев». Может быть, вы имеете в виду «чуть выше, чем уклон одного взрослого дерева, подходящего к исходным данным»?
Адриан
1
@gung Я думаю, что в OP есть ключевой вопрос, который остается без ответа: почему бы не использовать полностью выросшее дерево на первом этапе GBM? Почему использовать последовательность слабого ученика лучше, чем одно полностью выросшее дерево? Мне интересно об этом
ftxx
55

Этот вопрос рассматривается в этом очень хорошем посте. Пожалуйста, посмотрите на него и ссылки в нем. http://fastml.com/what-is-better-gradient-boosted-trees-or-random-forest/

Обратите внимание, что в статье говорится о калибровке, и ссылки на другой (хороший) пост в блоге об этом. Тем не менее, я обнаружил, что статья « Получение калиброванных вероятностей от повышения» дает вам лучшее понимание того, что такое калибровка в контексте повышенных классификаторов и каковы стандартные методы ее выполнения.

И, наконец, отсутствует один аспект (немного более теоретический). И RF, и GBM являются методами ансамбля, что означает, что вы строите классификатор из большого количества меньших классификаторов. Теперь принципиальное отличие заключается в используемом методе:

  1. RF использует деревья решений, которые очень склонны к переоснащению. Чтобы достичь более высокой точности, RF решает создать большое их количество на основе упаковки . Основная идея состоит в том, чтобы многократно повторять выборку данных, и для каждой выборки обучать новый классификатор. Различные классификаторы по-разному дополняют данные, и посредством голосования эти различия усредняются.
  2. GBM - это метод повышения, основанный на слабых классификаторах . Идея состоит в том, чтобы добавлять классификатор за раз, чтобы следующий классификатор обучался совершенствованию уже обученного ансамбля. Обратите внимание, что для каждой итерации RF классификатор обучается независимо от остальных.
jpmuc
источник
3
Будет ли справедливым вывод из вашего ответа, что РФ подходит больше, чем GBM?
8forty
4
@ 8 К счастью, я бы не стал делать такой вывод - хотя одно дерево в RF будет перекрывать больше, чем одно дерево в GBM (потому что они намного меньше), в RF это превышение будет усреднено при использовании большого количества деревьев, в то время как в GBM: чем больше деревьев вы добавите, тем выше риск переоснащения. Короче говоря, поскольку N (количество используемых деревьев) уходит в бесконечность, я ожидаю, что RF будет соответствовать гораздо меньшему, чем GBM
Ant