Мои вопросы о случайных лесах. Концепция этого красивого классификатора мне ясна, но все же есть много практических вопросов использования. К сожалению, мне не удалось найти никакого практического руководства по ВЧ (я искал что-то вроде «Практического руководства по обучению машин Больцмана с ограничениями» Джеффри Хинтона, но для «Случайных лесов»!)
Как можно настроить RF на практике?
Правда ли, что большее количество деревьев всегда лучше? Существует ли разумное ограничение (кроме, конечно, вычислительной мощности) на увеличение количества деревьев и как его оценить для данного набора данных?
А как насчет глубины деревьев? Как выбрать разумный? Есть ли смысл экспериментировать с деревьями разной длины в одном лесу и каково руководство для этого?
Есть ли какие-то другие параметры, на которые стоит обратить внимание при обучении RF? Альгос для построения отдельных деревьев может быть?
Когда они говорят, что RF устойчивы к переоснащению, насколько это правда?
Я буду благодарен за любые ответы и / или ссылки на руководства или статьи, которые я мог пропустить при поиске.
источник
Ответы:
Я не авторитетная фигура, поэтому рассмотрим следующие краткие заметки практикующего:
Чем больше деревьев, тем лучше с убывающей отдачей. Более глубокие деревья почти всегда лучше требуют большего количества деревьев для аналогичной производительности.
Вышеупомянутые два пункта являются прямым результатом компромисса смещения дисперсии. Более глубокие деревья уменьшают уклон; больше деревьев уменьшает дисперсию.
Самый важный гиперпараметр - это количество объектов, которые нужно протестировать для каждого разделения. Чем больше бесполезных функций, тем больше возможностей вы должны попробовать. Это нужно настроить. Вы можете настроить его с помощью оценок OOB, если вы просто хотите узнать свои результаты на тренировочных данных, а двойников нет (~ повторные измерения). Несмотря на то, что это самый важный параметр, его оптимум все еще обычно довольно близок к исходным значениям по умолчанию (sqrt (p) или (p / 3) для классификации / регрессии).
Сравнительно недавние исследования показывают, что вам даже не нужно делать исчерпывающий разделенный поиск внутри функции, чтобы получить хорошую производительность. Просто попробуйте несколько точек разреза для каждой выбранной функции и двигаться дальше. Это делает обучение еще быстрее. Чрезвычайно Случайные Леса / Деревья.
источник
mtry
лучше, никаких доказательств или эмпирических доказательств не требуется, чтобы это увидеть.Количество деревьев : чем больше, тем лучше: да. Один из способов оценить и узнать, когда следует остановиться, - отслеживать частоту ошибок при построении леса (или любые другие критерии оценки, которые вы можете использовать) и определять, когда он сходится. Вы можете сделать это на самом учебном наборе или, если возможно, на независимом тестовом наборе. Кроме того, следует отметить, что количество тестовых узлов в ваших деревьях ограничено верхним числом объектов, поэтому, если у вас много переменных и не так много обучающих объектов, настоятельно рекомендуется использовать более крупный лес, чтобы увеличить шансы оценить все дескрипторы хотя бы один раз в вашем лесу.
Глубина дерева : есть несколько способов контролировать, насколько глубоки ваши деревья (ограничить максимальную глубину, ограничить количество узлов, ограничить количество объектов, необходимых для разделения, прекратить разделение, если разделение недостаточно улучшает подгонку, ... ). В большинстве случаев рекомендуется обрезать (ограничить глубину) деревья, если вы работаете с зашумленными данными. Наконец, вы можете использовать свои полностью разработанные деревья для вычисления производительности более коротких деревьев, поскольку они являются «подмножеством» полностью разработанных деревьев.
Сколько функций для тестирования на каждом узле : перекрестная проверка вашего опыта с широким диапазоном значений (включая рекомендуемые), вы должны получить кривую производительности и уметь определить максимум, указывающий, какое значение является лучшим для этого параметра + Ши Паркс ответ.
Ши Паркс упомянул об экстра-деревьях, вот оригинальная статья, подробно описывающая метод: http://orbi.ulg.ac.be/bitstream/2268/9357/1/geurts-mlj-advance.pdf
источник