Я понял, что Случайный Лес и Чрезвычайно Рандомизированные Деревья отличаются в том смысле, что расщепления деревьев в Случайном Лесу являются детерминированными, тогда как они случайны в случае Чрезвычайно Рандомизированных Деревьев (чтобы быть более точным, следующее разделение является лучшим разделением среди случайных равномерных расщеплений в выбранных переменных для текущего дерева). Но я не до конца понимаю влияние этого разделения в различных ситуациях.
- Как они сравниваются с точки зрения смещения / дисперсии?
- Как они сравниваются при наличии не относящихся к делу переменных?
- Как они сравниваются при наличии коррелированных переменных?
uniform split
?Ответы:
Внебюджетные (рандомизированное) -деревьев (ЕТ) статья содержит анализ диагонально-дисперсии. На странице 16 вы можете увидеть сравнение с несколькими методами, включая RF для шести тестов (древовидная классификация и три регрессии).
Оба метода примерно одинаковы, с ET немного хуже, когда имеется большое количество шумных функций (в наборах данных большого размера).
Тем не менее, при условии, что (возможно, ручной) выбор функций близок к оптимальному, производительность примерно одинакова, однако, ET могут быть вычислительно быстрее.
Из самой статьи:
Нет серебряной пули как всегда.
Пьер Гёртс, Дэмиен Эрнст, Луи Вехенке. «Чрезвычайно рандомизированные деревья»
источник
Ответ в том, что это зависит. Я предлагаю вам попробовать как случайный лес, так и дополнительные деревья по вашей проблеме. Попробуйте большой лес (1000 - 3000 деревьев / оценщиков, n_estimators в sklearn) и настройте количество объектов, рассматриваемых при каждом разделении (max_features в sklearn), а также минимальное количество выборок на разделение (min_samples_split в sklearn) и максимальную глубину дерева ( max_depth в sklearn). Тем не менее, вы должны иметь в виду, что перестройка может быть формой переоснащения.
Вот две проблемы, над которыми я работал лично, когда дополнительные деревья оказались полезными с очень шумными данными:
Решающие леса для машинного обучения классификации больших, шумных наборов характеристик морского дна
Эффективное предсказание распределенного нарушения белка с помощью вставленных образцов
источник
Большое спасибо за ответы! Поскольку у меня все еще оставались вопросы, я выполнил некоторые численные моделирования, чтобы получить больше информации о поведении этих двух методов.
На рисунке ниже показана производительность (оцененная с помощью перекрестной проверки), поскольку в набор данных добавляются случайные столбцы, не имеющие отношения к цели. Цель - это просто линейная комбинация первых трех столбцов.
Когда все переменные релевантны, оба метода, похоже, достигают одинаковой производительности,
Дополнительные деревья кажутся в три раза быстрее, чем случайный лес (по крайней мере, в реализации scikit learn)
источники
Ссылка на полную статью: случайный лес против лишних деревьев .
источник
ExtraTreesClassifier похож на брата в RandomForest, но с двумя важными отличиями.
Мы строим несколько деревьев решений. Для построения нескольких деревьев нам нужно несколько наборов данных. Лучшая практика заключается в том, что мы не обучаем деревья решений по всему набору данных, а обучаем только части данных (около 80%) для каждого дерева. В случайном лесу мы рисуем наблюдения с заменой. Таким образом, мы можем повторять наблюдения в случайном лесу. В ExtraTreesClassifier мы рисуем наблюдения без замены, поэтому у нас не будет повторения наблюдений, как в случайном лесу.
Разделение - это процесс преобразования неоднородного родительского узла в 2 однородных дочерних узла (наилучший из возможных). В RandomForest он выбирает лучшее разделение, чтобы преобразовать родительский элемент в два наиболее однородных дочерних узла. В ExtraTreesClassifier он выбирает случайное разделение, чтобы разделить родительский узел на два случайных дочерних узла.
Давайте рассмотрим некоторые методы ансамбля, упорядоченные от высокой к низкой дисперсии, заканчивающиеся на ExtraTreesClassifier.
1. Дерево решений (высокая дисперсия)
Единое дерево решений обычно перекрывает данные, которые оно изучает, потому что оно учитывает только один путь принятия решений. Прогнозы из единого дерева решений обычно не дают точных прогнозов для новых данных.
2. Случайный лес (средняя дисперсия)
Модели случайных лесов снижают риск переобучения путем введения случайности путем:
3. Дополнительные деревья (низкая дисперсия)
Дополнительные деревья похожи на случайный лес в том смысле, что он строит несколько деревьев и разделяет узлы, используя случайные подмножества объектов, но с двумя ключевыми отличиями: он не запускает наблюдения (то есть выборки без замены), а узлы разбиваются на случайные разбиения, не лучшие расколы. Итак, в заключение, ExtraTrees:
В Extra Trees случайность не возникает из-за начальной загрузки данных, а скорее из случайного разделения всех наблюдений. ExtraTrees назван в честь (чрезвычайно рандомизированных деревьев).
источник