Случайный лес - это алгоритм повышения?


51

Краткое определение повышения :

Может ли группа слабых учеников создать одного сильного ученика? Слабый ученик определяется как классификатор, который лишь незначительно коррелирует с истинной классификацией (он может маркировать примеры лучше, чем случайные догадки).

Краткое определение случайного леса :

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

Еще одно краткое определение случайного леса :

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

Как я понимаю, Random Forest - это алгоритм повышения, который использует деревья в качестве слабых классификаторов. Я знаю, что он также использует другие методы и улучшает их. Кто-то поправил меня, что Random Forest не является алгоритмом повышения?

Может кто-нибудь уточнить, почему Random Forest не является алгоритмом повышения?


13
Случайные леса - это алгоритм сумок: en.wikipedia.org/wiki/Bootstrap_aggregating . Я предлагаю вам прочитать больше краткого описания повышения, чтобы увидеть разницу. В бустинге стратегия повторной выборки не случайна.
Марк Клазен

12
Забавный факт: в оригинальной статье «Случайный лес» Брейман предполагает, что AdaBoost (безусловно, алгоритм повышения) в основном выполняет случайный лес, когда после нескольких итераций его пространство оптимизации становится настолько шумным, что просто попросту дрейфует.

Ответы:


81

Случайный лес - это алгоритм сумок, а не алгоритм повышения. Это два противоположных способа достижения низкой ошибки.

Мы знаем, что ошибка может быть составлена ​​из смещения и дисперсии. Слишком сложная модель имеет низкое отклонение, но большую дисперсию, в то время как слишком простая модель имеет низкое отклонение, но большое отклонение, оба приводят к высокой ошибке, но по двум различным причинам. В результате у людей возникают два разных способа решения проблемы (возможно, Брейман и другие): уменьшение дисперсии для сложной модели или уменьшение смещения для простой модели, которая относится к случайному лесу и форсированию.

Случайный лес уменьшает дисперсию большого количества «сложных» моделей с низким смещением. Мы видим, что элементы композиции - это не «слабые» модели, а слишком сложные модели. Если вы читаете об алгоритме, нижележащие деревья посажены «как можно больше», насколько это возможно. Базовые деревья являются независимыми параллельными моделями. И дополнительный случайный выбор переменных вводится в них, чтобы сделать их еще более независимыми, что делает его более эффективным, чем обычная упаковка, и дает название «случайный».

При этом бустинг уменьшает уклон большого количества «маленьких» моделей с низкой дисперсией. Это "слабые" модели, как вы цитировали. Базовые элементы как-то похожи на «цепную» или «вложенную» итеративную модель смещения каждого уровня. Таким образом, они не являются независимыми параллельными моделями, но каждая модель строится на основе всех прежних небольших моделей путем взвешивания. Это так называемое «повышение» от одного за другим.

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


26

Случайный лес не считается ускоряющим типом алгоритма.

Как объясняется в вашей ссылке повышения:

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

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

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


7

Это расширение мешков. Процедура заключается в следующем: вы берете образец начальной загрузки ваших данных и затем используете его для построения дерева классификации или регрессии (CART). Это делается заранее определенное количество раз, и тогда прогноз является агрегацией прогнозов отдельных деревьев, это может быть большинство голосов (для классификации) или среднее (для регрессии). Этот подход называется упаковкой (Брейман 1994). Кроме того, переменная-кандидат для каждого разделения каждогоДерево берется из случайной выборки всех доступных независимых переменных. Это вносит еще большую изменчивость и делает деревья более разнообразными. Это называется методом случайных подпространств (Ho, 1998). Как уже упоминалось, это производит деревья, которые очень разнообразны, что приводит к деревьям, которые очень независимы друг от друга. Из- за неравенства Дженсена мы знаем, что среднее значение ошибок прогнозов этих деревьев будет меньше или равно ошибке среднего дерева, выращенного из этого набора данных. Другой способ взглянуть на это - посмотреть на среднеквадратичную ошибку и заметить, как ее можно разложить на части смещения и дисперсии (это связано с проблемой контролируемого обучения, называемой компромиссом смещения дисперсии).). Случайный лес достигает большей точности за счет уменьшения дисперсии путем усреднения прогноза ортогональных деревьев. Следует отметить, что он наследует смещение своих деревьев, что является довольно обсуждаемой проблемой, проверьте, например, этот вопрос.


5

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

Джон Элдер и Джованни Сени. Методы ансамбля в интеллектуальном анализе данных: повышение точности путем комбинирования прогнозов . (2010)


3

Случайный лес - это техника упаковки, а не техника повышения. Повышая, как следует из названия, один учится у другого, что, в свою очередь, ускоряет обучение.

Деревья в случайных лесах идут параллельно. Между этими деревьями нет взаимодействия при строительстве деревьев. Как только все деревья построены, тогда голосование или среднее значение берется по предсказанию всех деревьев в зависимости от того, является ли проблема классификационной или регрессионной проблемой.

Деревья в алгоритмах повышения мощности, таких как GBM-Gradient Boosting machine, обучаются последовательно.

Допустим, первое дерево было обучено, и оно сделало некоторые прогнозы по тренировочным данным. Не все эти прогнозы будут правильными. Скажем, из 100 предсказаний первое дерево сделало ошибку за 10 наблюдений. Теперь этим 10 наблюдениям будет уделено больше внимания при построении второго дерева. Обратите внимание, что изучение второго дерева ускорилось благодаря изучению первого дерева. Отсюда и термин бустинг. Таким образом, каждое из деревьев строится последовательно на уроках прошлых деревьев.

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