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


110

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

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


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, используемый вами термин неуместен.


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 классификатор обучается независимо от остальных.

3
Будет ли справедливым вывод из вашего ответа, что РФ подходит больше, чем GBM?
— 8forty

4
@ 8 К счастью, я бы не стал делать такой вывод - хотя одно дерево в RF будет перекрывать больше, чем одно дерево в GBM (потому что они намного меньше), в RF это превышение будет усреднено при использовании большого количества деревьев, в то время как в GBM: чем больше деревьев вы добавите, тем выше риск переоснащения. Короче говоря, поскольку N (количество используемых деревьев) уходит в бесконечность, я ожидаю, что RF будет соответствовать гораздо меньшему, чем GBM
— Ant
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.