Есть ли случайный лес наряд?


24

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

Может быть, кто-то более опытный, чем я, может дать мне более конкретный ответ или указать правильное направление, чтобы лучше понять проблему.


3
Все алгоритмы будут в некоторой степени соответствовать. Речь идет не о выборе чего-то, что не подходит, а о тщательном рассмотрении количества переоснащения и формы проблемы, которую вы решаете, чтобы максимизировать более релевантные показатели.
Индика

1
ISTR, что Брейман имел доказательства, основанные на законе больших чисел. Кто-то обнаружил изъян в этом доказательстве?
JenSCDC

Ответы:


22

Каждый алгоритм ML с высокой сложностью может соответствовать. Тем не менее, ОП спрашивает, не будет ли РФ превышать при увеличении количества деревьев в лесу.

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

От здесь , дисперсия ожидаемой погрешности генерализации ансамбля соответствует:

где p(x)- коэффициент корреляции Пирсона между предсказаниями двух рандомизированных моделей, обученных на одних и тех же данных из двух независимых семян. Если мы увеличим число DT в RF, больше M, дисперсия ансамбля уменьшается, когдаρ(x)<1 . Следовательно, дисперсия ансамбля строго меньше, чем дисперсия отдельной модели.

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


1
Это определенно то, что говорят Лео Брейман и теория, но эмпирически кажется, что они определенно переодеваются. Например, в настоящее время у меня есть модель с 10-кратным CV MSE 0,02, но при сравнении с истинной величиной CV MSE составляет 0,4. OTOH, если я уменьшу глубину дерева и номер дерева, производительность модели значительно улучшится.
Hack-R

4
Если вы уменьшите глубину дерева, это будет другой случай, потому что вы добавляете регуляризацию, что уменьшит переоснащение. Попробуйте построить MSE, когда вы увеличиваете количество деревьев, оставляя остальные параметры неизменными. Итак, у вас есть MSE по оси Y и num_tress по оси X. Вы увидите, что при добавлении большего количества деревьев ошибка быстро уменьшается, а затем появляется плато; но это никогда не увеличится.
Ташухка

9

Вы можете проверить перекрестную проверку - веб-сайт stachexchange для многих вещей, включая машинное обучение.

В частности, на этот вопрос (с точно таким же названием) уже отвечали несколько раз. Проверьте эти ссылки: /stats//search?q=random+forest+overfit

Но я могу дать вам краткий ответ на него: да, это действительно подходит, и иногда вам нужно контролировать сложность деревьев в вашем лесу, или даже обрезать, когда они растут слишком много - но это зависит от библиотеки, которую вы используете для строим лес. Например, в randomForestR вы можете контролировать только сложность


3
  1. Случайный Лес действительно подходит.
  2. Случайный лес не увеличивает ошибку обобщения, когда в модель добавляется больше деревьев. Обобщающая дисперсия стремится к нулю с использованием большего количества деревьев.

Я сделал очень простой эксперимент. Я сгенерировал синтетические данные:

y = 10 * x + noise

Я тренировал две модели Random Forest:

  • один с полными деревьями
  • один с обрезанными деревьями

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

ответы

Это явное свидетельство переоснащения. Затем я взял гиперпараметры переоборудованной модели и проверил ошибку, добавляя на каждом шаге 1 дерево. Я получил следующий сюжет:

растущие деревья

Как видите, ошибка наложения не меняется при добавлении большего количества деревьев, но модель переоснащается. Вот ссылка на эксперимент, который я провел.


1

СТРУКТУРНАЯ БАЗА ДАННЫХ -> НЕПРАВИЛЬНЫЕ ОШИБКИ OOB

Я обнаружил интересный случай переоснащения RF в моей практике. Когда данные структурированы, RF переходит на OOB-наблюдения.

Деталь:

Я пытаюсь предсказать цены на электроэнергию на спотовом рынке электроэнергии для каждого отдельного часа (каждая строка набора данных содержит цену и системные параметры (нагрузка, мощность и т. Д.) За этот единственный час).
Цены на электроэнергию создаются партиями (24 цены создаются на рынке электроэнергии за один фиксинг в один момент времени).
Таким образом, OOB для каждого дерева являются случайными подмножествами часов, но если вы прогнозируете следующие 24 часа, вы делаете все это сразу (в первый момент вы получаете все системные параметры, затем вы прогнозируете 24 цены, затем происходит исправление, которое производит эти цены), поэтому делать прогнозы OOB проще, чем на весь следующий день. Объекты OOB не содержатся в 24-часовых блоках, а распределены равномерно, так как существует автокорреляция ошибок прогнозирования, проще предсказать цену за один час, которая отсутствует для всего блока отсутствующих часов.

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

Я надеюсь, что это интересно

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.