Я читал вокруг о случайных лесах, но я не могу найти окончательного ответа о проблеме переоснащения. Согласно оригинальной статье Бреймана, они не должны переодеваться при увеличении количества деревьев в лесу, но, похоже, по этому поводу нет единого мнения. Это создает мне некоторую путаницу по этому вопросу.
Может быть, кто-то более опытный, чем я, может дать мне более конкретный ответ или указать правильное направление, чтобы лучше понять проблему.
machine-learning
random-forest
markusian
источник
источник
Ответы:
Каждый алгоритм ML с высокой сложностью может соответствовать. Тем не менее, ОП спрашивает, не будет ли РФ превышать при увеличении количества деревьев в лесу.
В общем, методы ансамбля практически сводят к нулю дисперсию прогноза, повышая точность ансамбля. Если мы определим дисперсию ожидаемой ошибки обобщения отдельной рандомизированной модели как:
От здесь , дисперсия ожидаемой погрешности генерализации ансамбля соответствует:
где
p(x)
- коэффициент корреляции Пирсона между предсказаниями двух рандомизированных моделей, обученных на одних и тех же данных из двух независимых семян. Если мы увеличим число DT в RF, большеM
, дисперсия ансамбля уменьшается, когдаρ(x)<1
. Следовательно, дисперсия ансамбля строго меньше, чем дисперсия отдельной модели.Одним словом, увеличение количества отдельных рандомизированных моделей в ансамбле никогда не приведет к увеличению ошибки обобщения.
источник
Вы можете проверить перекрестную проверку - веб-сайт stachexchange для многих вещей, включая машинное обучение.
В частности, на этот вопрос (с точно таким же названием) уже отвечали несколько раз. Проверьте эти ссылки: /stats//search?q=random+forest+overfit
Но я могу дать вам краткий ответ на него: да, это действительно подходит, и иногда вам нужно контролировать сложность деревьев в вашем лесу, или даже обрезать, когда они растут слишком много - но это зависит от библиотеки, которую вы используете для строим лес. Например, в
randomForest
R вы можете контролировать только сложностьисточник
Я сделал очень простой эксперимент. Я сгенерировал синтетические данные:
Я тренировал две модели Random Forest:
Модель с полными деревьями имеет меньшую ошибку поезда, но более высокую погрешность теста, чем модель с обрезанными деревьями. Ответы обеих моделей:
Это явное свидетельство переоснащения. Затем я взял гиперпараметры переоборудованной модели и проверил ошибку, добавляя на каждом шаге 1 дерево. Я получил следующий сюжет:
Как видите, ошибка наложения не меняется при добавлении большего количества деревьев, но модель переоснащается. Вот ссылка на эксперимент, который я провел.
источник
СТРУКТУРНАЯ БАЗА ДАННЫХ -> НЕПРАВИЛЬНЫЕ ОШИБКИ OOB
Я обнаружил интересный случай переоснащения RF в моей практике. Когда данные структурированы, RF переходит на OOB-наблюдения.
Деталь:
Я пытаюсь предсказать цены на электроэнергию на спотовом рынке электроэнергии для каждого отдельного часа (каждая строка набора данных содержит цену и системные параметры (нагрузка, мощность и т. Д.) За этот единственный час).
Цены на электроэнергию создаются партиями (24 цены создаются на рынке электроэнергии за один фиксинг в один момент времени).
Таким образом, OOB для каждого дерева являются случайными подмножествами часов, но если вы прогнозируете следующие 24 часа, вы делаете все это сразу (в первый момент вы получаете все системные параметры, затем вы прогнозируете 24 цены, затем происходит исправление, которое производит эти цены), поэтому делать прогнозы OOB проще, чем на весь следующий день. Объекты OOB не содержатся в 24-часовых блоках, а распределены равномерно, так как существует автокорреляция ошибок прогнозирования, проще предсказать цену за один час, которая отсутствует для всего блока отсутствующих часов.
легче предсказать в случае автокорреляции ошибок:
известный, известный, прогноз, известный, прогноз - случай OBB
сложнее:
известный, известный, известный, прогноз, прогноз - случай реального мира
Я надеюсь, что это интересно
источник