Разница между случайным лесом и чрезвычайно рандомизированными деревьями

44

Я понял, что Случайный Лес и Чрезвычайно Рандомизированные Деревья отличаются в том смысле, что расщепления деревьев в Случайном Лесу являются детерминированными, тогда как они случайны в случае Чрезвычайно Рандомизированных Деревьев (чтобы быть более точным, следующее разделение является лучшим разделением среди случайных равномерных расщеплений в выбранных переменных для текущего дерева). Но я не до конца понимаю влияние этого разделения в различных ситуациях.

  • Как они сравниваются с точки зрения смещения / дисперсии?
  • Как они сравниваются при наличии не относящихся к делу переменных?
  • Как они сравниваются при наличии коррелированных переменных?
RUser4512
источник
2
(a) ERT иногда может быть более предвзятым из-за менее оптимального разделения / ERT иногда уменьшает дисперсию из-за дальнейшей декорреляции деревьев; (б) я думаю, то же самое, не уверен; (с) Я думаю, то же самое, не уверен. Дополнительно: я бы не назвал расщепление RF детерминированным из-за случайной выборки переменных, и деревья, конечно же, не из-за начальной загрузки.
Сорен Хавелунд Веллинг
Что это uniform split?
Октябрь

Ответы:

31

Внебюджетные (рандомизированное) -деревьев (ЕТ) статья содержит анализ диагонально-дисперсии. На странице 16 вы можете увидеть сравнение с несколькими методами, включая RF для шести тестов (древовидная классификация и три регрессии).

Оба метода примерно одинаковы, с ET немного хуже, когда имеется большое количество шумных функций (в наборах данных большого размера).

Тем не менее, при условии, что (возможно, ручной) выбор функций близок к оптимальному, производительность примерно одинакова, однако, ET могут быть вычислительно быстрее.

Из самой статьи:

Анализ алгоритма и определение оптимального значения K по нескольким вариантам тестовой задачи показали, что значение в принципе зависит от специфики задачи, в частности от доли нерелевантных атрибутов . [...] Анализ смещения / дисперсии показал, что Extra-Trees работают, уменьшая дисперсию , в то же время увеличивая смещение . [...] Когда рандомизация увеличивается выше оптимального уровня, дисперсия немного уменьшается, а систематическая ошибка часто значительно увеличивается.

Нет серебряной пули как всегда.


Пьер Гёртс, Дэмиен Эрнст, Луи Вехенке. «Чрезвычайно рандомизированные деревья»

сюрикен х синий
источник
3
Какие-либо ссылки (эмпирические или теоретические) относительно того, что ET немного хуже при большом количестве шумных функций? Или это основано на опыте?
ramhiser
1
По моему опыту, верно и обратное: Extra-Trees лучше справляется со многими шумными функциями. С оговоркой, что у вас должен быть большой лес (множество оценщиков, n_estimators в sklearn) и настройка количества функций, рассматриваемых при каждом разделении (max_features в sklearn), чтобы это работало. Одно дополнительное дерево будет соответствовать более, чем одному случайному лесному дереву, но если у вас есть много дополнительных деревьев, они будут склонны подходить по-разному, а не по-другому. Я часто получаю существенное улучшение до 3000 оценок.
Дэнсон
Как отметил @ramhiser, ET, похоже, сохраняет более высокую производительность при наличии шумных функций. Можете ли вы добавить ссылки на ваш ответ?
Гонсало Перес поддерживает Монику
3

Ответ в том, что это зависит. Я предлагаю вам попробовать как случайный лес, так и дополнительные деревья по вашей проблеме. Попробуйте большой лес (1000 - 3000 деревьев / оценщиков, n_estimators в sklearn) и настройте количество объектов, рассматриваемых при каждом разделении (max_features в sklearn), а также минимальное количество выборок на разделение (min_samples_split в sklearn) и максимальную глубину дерева ( max_depth в sklearn). Тем не менее, вы должны иметь в виду, что перестройка может быть формой переоснащения.

Вот две проблемы, над которыми я работал лично, когда дополнительные деревья оказались полезными с очень шумными данными:

Решающие леса для машинного обучения классификации больших, шумных наборов характеристик морского дна

Эффективное предсказание распределенного нарушения белка с помощью вставленных образцов

Денсон
источник
3

Большое спасибо за ответы! Поскольку у меня все еще оставались вопросы, я выполнил некоторые численные моделирования, чтобы получить больше информации о поведении этих двух методов.

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

На рисунке ниже показана производительность (оцененная с помощью перекрестной проверки), поскольку в набор данных добавляются случайные столбцы, не имеющие отношения к цели. Цель - это просто линейная комбинация первых трех столбцов. случайный лес против лишних деревьев при наличии нерелевантных переменных

  • Когда все переменные релевантны, оба метода, похоже, достигают одинаковой производительности,

  • Дополнительные деревья кажутся в три раза быстрее, чем случайный лес (по крайней мере, в реализации scikit learn)

источники

Ссылка на полную статью: случайный лес против лишних деревьев .

RUser4512
источник
1
Из вашей связанной статьи: «Синим цветом представлены результаты случайного леса и красным для дополнительных деревьев».
Томсв
2

ExtraTreesClassifier похож на брата в RandomForest, но с двумя важными отличиями.

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

Мы строим несколько деревьев решений. Для построения нескольких деревьев нам нужно несколько наборов данных. Лучшая практика заключается в том, что мы не обучаем деревья решений по всему набору данных, а обучаем только части данных (около 80%) для каждого дерева. В случайном лесу мы рисуем наблюдения с заменой. Таким образом, мы можем повторять наблюдения в случайном лесу. В ExtraTreesClassifier мы рисуем наблюдения без замены, поэтому у нас не будет повторения наблюдений, как в случайном лесу.

Разделение - это процесс преобразования неоднородного родительского узла в 2 однородных дочерних узла (наилучший из возможных). В RandomForest он выбирает лучшее разделение, чтобы преобразовать родительский элемент в два наиболее однородных дочерних узла. В ExtraTreesClassifier он выбирает случайное разделение, чтобы разделить родительский узел на два случайных дочерних узла.

Давайте рассмотрим некоторые методы ансамбля, упорядоченные от высокой к низкой дисперсии, заканчивающиеся на ExtraTreesClassifier.

1. Дерево решений (высокая дисперсия)

Единое дерево решений обычно перекрывает данные, которые оно изучает, потому что оно учитывает только один путь принятия решений. Прогнозы из единого дерева решений обычно не дают точных прогнозов для новых данных.

2. Случайный лес (средняя дисперсия)

Модели случайных лесов снижают риск переобучения путем введения случайности путем:

  • построение нескольких деревьев (n_estimators)
  • рисование наблюдений с заменой (т. е. загруженный образец)
  • разделение узлов на лучшее разделение между случайным подмножеством объектов, выбранных на каждом узле. Разделение - это процесс преобразования неоднородного родительского узла в 2 однородных дочерних узла (наилучший из возможных).

3. Дополнительные деревья (низкая дисперсия)

Дополнительные деревья похожи на случайный лес в том смысле, что он строит несколько деревьев и разделяет узлы, используя случайные подмножества объектов, но с двумя ключевыми отличиями: он не запускает наблюдения (то есть выборки без замены), а узлы разбиваются на случайные разбиения, не лучшие расколы. Итак, в заключение, ExtraTrees:

  • строит несколько деревьев с Bootstrap = False по умолчанию, что означает, что выборки без замены
  • узлы разделены на основе случайного разделения среди случайного подмножества объектов, выбранных на каждом узле

В Extra Trees случайность не возникает из-за начальной загрузки данных, а скорее из случайного разделения всех наблюдений. ExtraTrees назван в честь (чрезвычайно рандомизированных деревьев).

Ашиш Ананд
источник