Мотивация за шагами алгоритма случайного леса

11

Метод создания случайного леса, с которым я знаком, заключается в следующем: (из http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm )

Чтобы построить дерево в лесу, мы:

  1. Загрузите образец размера N, где N - размер нашего тренировочного набора. Используйте этот загруженный образец в качестве обучающего набора для этого дерева.
  2. В каждом узле дерева случайным образом выбираем m наших M объектов. Выберите лучшие из этих m функций, чтобы разделить их. (где m - параметр нашего случайного леса)
  3. Вырастите каждое дерево в максимально возможной степени - то есть без обрезки.

Хотя этот алгоритм имеет смысл на процедурном уровне и, безусловно, дает хорошие результаты, мне не ясно, какова теоретическая мотивация за шагами 1, 2 и 3. Может ли кто-нибудь объяснить, что побудило кого-то придумать эту процедуру и почему она так хорошо работает?

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

tSchema
источник

Ответы:

9

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

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

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

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

SimonCB765
источник
Хороший ответ, и связь с теоремой присяжных Кондорсе имеет смысл. Формально, причина того, что это работает хорошо, из-за неравенства Дженсена!
JEquihua