Хорошо известно, что случайные леса достаточно хорошо справляются с различными задачами, и их называют кожевниками методов обучения . Существуют ли какие-либо проблемы или особые условия, в которых следует избегать использования случайного леса?
Хорошо известно, что случайные леса достаточно хорошо справляются с различными задачами, и их называют кожевниками методов обучения . Существуют ли какие-либо проблемы или особые условия, в которых следует избегать использования случайного леса?
Ответы:
Думая о конкретном языке цитаты, кожевник - это мультиинструмент: единый элемент оборудования с множеством маленьких штуковин. Это плоскогубцы, нож, отвертка и многое другое! Вместо того, чтобы носить каждый из этих инструментов по отдельности, кожевник - это отдельный предмет, который можно прикрепить к брюкам, чтобы он всегда был под рукой. Это удобно , но компромисс в том, что каждый из компонентов не является лучшим в своей работе. Консервный нож сложен в использовании, биты отвертки обычно имеют неправильный размер, и нож может выполнять чуть больше, чем стрижка. Если выполнение какой-либо из этих задач имеет решающее значение, вам лучше использовать специальный инструмент: настоящий нож, настоящую отвертку или плоскогубцы.
Случайный лес можно рассматривать в тех же терминах. Случайный лес дает хорошие результаты для различных наборов данных и не очень чувствителен к настройке параметров. Но это не идеально. Чем больше вы знаете о проблеме, тем легче создавать специализированные модели для решения вашей конкретной проблемы.
Есть несколько очевидных случаев, когда случайные леса будут бороться:
Разреженность - Когда данные очень разрежены, очень вероятно, что для некоторого узла загруженный образец и случайное подмножество объектов будут сотрудничать, чтобы создать инвариантное пространство объектов. Производительного разделения не будет, поэтому маловероятно, что дочерние элементы этого узла будут вообще полезны. XGBoost может добиться большего успеха в этом контексте.
Данные не выровнены по оси. Предположим, что существует диагональная граница решения в пространстве двух объектов: и . Даже если это единственное релевантное измерение для ваших данных, для описания этой диагональной границы потребуется обычная модель случайного леса с множеством расщеплений. Это связано с тем, что каждое разбиение ориентировано перпендикулярно оси или . (Это должно быть интуитивно понятно, потому что обычная модель случайного леса делает разбиения вида.) Лес преодоления, который выполняет проекцию PCA на подмножество объектов, выбранных для каждого разделения, можно использовать для преодоления этого: проекции на ортогональную основу, в принципе, уменьшат влияние свойства выравнивания по оси, поскольку разделения больше не будет выравниваться по оси в исходной основе.
Это изображение предоставляет еще один пример того, как расщепления по оси влияют на выбор случайных лесов. Граница принятия решения - это круг в начале координат, но обратите внимание, что эта конкретная модель случайного леса рисует прямоугольник для аппроксимации круга. Есть несколько вещей, которые можно сделать, чтобы улучшить эту границу; самое простое - собрать больше данных и построить больше деревьев.
Острые углы. Точность.
Они используют диффузионные методы. Они подходят к кусковой вещи хорошо. Они не подходят для сложных и очень подробных вещей, когда размер выборки невелик. Я полагаю, что они не очень хорошо справляются с многомерными данными временных рядов - когда что-то здесь зависит от этой единственной вещи на расстоянии.
Леса с градиентным усилением могут соответствовать или переполняться, но могут иметь значительно меньшую ошибку для тех же данных.
« Кожевников » не существует. Здесь нет "серебряных пуль". Есть наборы инструментов. Знайте свои инструменты и хорошо заботьтесь о них, чтобы они могли заботиться о вас. Будьте осторожны с «когда вы молоток, тогда каждая проблема выглядит как гвоздь», особенно если у вас нет плотной библиотеки в вашем наборе инструментов.
Пока вы не знаете проблему хорошо, легко представить, что что-то может решить ее, или ваш любимый инструмент может решить ее. Мудрость предполагает углубиться в понимание проблемы и быть хорошо знакомыми с вашими инструментами.
Добавлено: если у вас достаточно вычислительных ресурсов или запаса времени, чтобы использовать что-то еще. РФ не только быстро обучается, но и быстро исполняется. Очень глубокая усиленная структура - меньше этого. Вы должны иметь накладные расходы, чтобы поддержать это.
Это первый раз, когда я на самом деле отвечаю на вопрос, так что не приставайте ко мне ... но я думаю, что смогу ответить на ваш вопрос:
Если вы действительно заинтересованы только в производительности модели, а не в таких вещах, как интерпретируемый случайный лес, действительно часто очень хороший алгоритм обучения, но он работает немного хуже в следующих случаях:
1.) Когда размерность (количество признаков) очень высока по отношению к количеству обучающих выборок, в этих случаях лучше использовать регуляризованную линейную регрессию или SVM.
2.) В случае, если в данных присутствуют представления / сверточные структуры более высокого порядка, как, например, в проблемах компьютерного зрения. В этих случаях компьютерного зрения сверточная нейронная сеть будет превосходить случайный лес (в общем, если есть знания, которые можно включить в обучение, это лучше).
При этом случайный лес - очень хорошая отправная точка. Один из тех, кем я восхищаюсь за его навыки машинного обучения, всегда начинает с изучения случайного леса и регуляризованного линейного регрессора.
Однако, если вы хотите максимально возможную производительность, я считаю, что в настоящее время нейронные сети ака. Глубокое обучение выглядит как очень привлекательный подход. Все больше и больше победителей на таких веб-сайтах, как Kaggle, используют модели Deep Learning для конкуренции. Другим преимуществом нейронных сетей является то, что они могут обрабатывать очень большое количество выборок (> 10 ^ 6 можно обучать их с использованием стохастического градиентного спуска, подавая биты данных за один раз). Лично я считаю, что это очень привлекательный профессионал для глубокого обучения.
Прежде всего, Случайный Лес не может быть применен к следующим типам данных:
Для табличного типа данных всегда полезно проверить случайный лес, потому что: