Какую меру ошибки обучения сообщать для случайных лесов?

15

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

Моя ошибка обучения близка к 0%, когда я вычисляю ее, используя прогнозы, которые я получаю с помощью команды:

predict(model, data=X_train)

где X_trainданные обучения.

В ответ на связанный с этим вопрос я прочитал, что следует использовать ошибку обучения « вне сумки» (OOB) в качестве показателя ошибки обучения для случайных лесов. Эта величина вычисляется из прогнозов, полученных с помощью команды:

predict(model)

В этом случае ошибка обучения OOB намного ближе к средней ошибке теста 10-CV, которая составляет 11%.

Мне интересно:

  1. Общепринято ли сообщать об ошибке обучения OOB как меру ошибки обучения для случайных лесов?

  2. Правда ли, что традиционная мера ошибки обучения искусственно низка?

  3. Если традиционная мера ошибки обучения искусственно низка, то какие две меры я могу сравнить, чтобы проверить, не превышает ли РФ?

Берк У.
источник

Ответы:

10

Добавить в ответ @ Сорен Х. Веллинг.

1. Общепринято ли сообщать об ошибке обучения OOB в качестве меры ошибки обучения для случайных лесов?

Нет. Ошибка OOB на обученной модели не совпадает с ошибкой обучения. Это может, однако, служить мерой точности прогнозирования.

2. Правда ли, что традиционная мера ошибки обучения искусственно низка?

Это верно, если мы запускаем задачу классификации, используя настройки по умолчанию. Точный процесс описан в сообщении на форуме Энди Лиу , который поддерживает randomForestпакет в R, следующим образом:

По большей части, производительность на тренировочном наборе не имеет смысла. (Это относится к большинству алгоритмов, но особенно к RF.) При настройке по умолчанию (и рекомендуемой) деревья растут до максимального размера, что означает, что вполне вероятно, что в большинстве терминальных узлов имеется только одна точка данных, и прогнозирование в терминальных узлах определяется по мажоритарному классу в узле или одиночной точке данных. Предположим, что это всегда так; во всех деревьях все терминальные узлы имеют только одну точку данных. Конкретная точка данных будет «в сумке» примерно в 64% деревьев в лесу, и каждое из этих деревьев имеет правильный прогноз для этой точки данных. Даже если все деревья, на которых эти точки данных находятся вне допустимых пределов, дали неверный прогноз, большинством голосов всех деревьев, Вы все равно получите правильный ответ в конце. Таким образом, в целом, идеальный прогноз по составу поездов для РФ - «по замыслу».

nodesize > 1sampsize < 0.5N(Икся,Yя)

3. Если традиционная мера ошибки обучения искусственно низка, то какие две меры я могу сравнить, чтобы проверить, не превышает ли РФ?

Если мы запускаем RF с nodesize = 1и sampsize > 0.5, то ошибка обучения RF всегда будет около 0. В этом случае единственный способ определить, подходит ли модель, - это сохранить некоторые данные в качестве независимого набора проверки. Затем мы можем сравнить ошибку теста 10-CV (или ошибку теста OOB) с ошибкой в ​​независимом наборе проверки. Если ошибка теста 10-CV намного ниже, чем ошибка в независимом наборе проверки, то модель может быть переоснащена.

Берк У.
источник
2

[отредактировано 21.7.15 8:31 CEST]

Я полагаю, вы использовали RF для классификации. Потому что в этом случае алгоритм создает полностью выращенные деревья с чистыми терминальными узлами только одного целевого класса.

predict(model, data=X_train)

Эта линия кодирования подобна собаке, преследующей [~ 66%] своего хвоста. Предсказание любой обучающей выборки - это класс самой обучающей выборки. Для регрессии RF останавливается, если в узле 5 или менее выборок, или если узел чистый. Здесь ошибка прогнозирования будет небольшой, но не 0%.

В машинном обучении мы часто работаем с большими пространствами гипотез. Это означает, что всегда будет много еще не сфальсифицированных гипотез / объяснений / моделей для структуры данных нашего обучающего набора. В классической статистике пространство гипотез часто невелико, и поэтому прямая подборка моделей является информативной в соответствии с некоторой предполагаемой теорией вероятностей. В машинном обучении прямое несоответствие относится к смещению модели. Смещение - это «негибкость» модели. Это нев любом случае обеспечим приблизительное обобщение мощности (способность прогнозировать новые события). Для алгоритмических моделей перекрестная проверка является наилучшим инструментом для аппроксимации мощности обобщения, поскольку теория не сформулирована. Однако, если допущения модели о независимой выборке не удаются, модель может быть бесполезной в любом случае, даже если хорошо выполненная перекрестная проверка предложила иное. В конце самое сильное доказательство состоит в том, чтобы удовлетворительно предсказать количество внешних тестовых наборов различного происхождения.

Вернуться к CV: «Out-of-bag» часто является общепринятым типом CV. Я лично считаю, что OOB-CV дает результаты, аналогичные 5-кратному CV, но это очень маленькая неприятность. Если сравнить, скажем, RF с SVM, то OOB-CV бесполезен, так как мы обычно избегаем использовать SVM. Вместо этого и SVM, и RF будут встроены в одну и ту же схему перекрестной проверки, например, 10-кратные 10-повторные с соответствующими разделами для каждого повторения. Любые этапы разработки функций часто также необходимо пересекать. Если держать вещи в чистоте, весь конвейер данных может быть встроен в резюме.

Если вы настраиваете свою модель с помощью набора тестов (или перекрестной проверки), вы снова накачиваете свое пространство гипотез, и подтвержденная эффективность прогнозирования, вероятно, будет чрезмерно оптимистичной. Вместо этого вам понадобится набор калибровки (или калибровочная CV-петля) для настройки и тестовый набор проверки (или валидационная CV-петля) для оценки вашей окончательной оптимальной модели.

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

Сорен Хавелунд Веллинг
источник
Спасибо тебе за это. Два вопроса: (1) Как прогноз любой обучающей выборки является классом самой обучающей выборки? Должны быть деревья, которые не используют обучающий образец, которые используются в процедуре большинства голосов? (2) Итак, как бы вы оценили, если мера RF переоснащение?
Берк У.
(1) ну да, я был немного быстр, я отредактировал ответ. Любая выборка будет содержаться в ~ 66% деревьев. Если образец в дереве был инбаг во время обучения, он окажется в том же узле во время прогнозирования в ~ 66%, и этого достаточно, чтобы каждый раз получать большинство голосов. Подтвердите это, уменьшив размер выборки, например, до 30% выборок поезда, и обратите внимание на повышение с 0% ошибки классификации. (2) Я думаю, что я ответил на это. RF само по себе не подходит, но вы можете создать контекст, например, при настройке, где вы получите слишком оптимистичный результат OOB-CV. Вложите весь процесс в новое резюме, чтобы знать наверняка.
Сорен Хавелунд Веллинг