Простое введение в случайные леса
Когда взаимосвязь между набором переменных-предикторов и переменной отклика очень сложна, мы часто используем нелинейные методы для моделирования взаимосвязи между ними.
Одним из таких методов являются деревья классификации и регрессии (часто сокращенно CART), которые используют набор переменных-предикторов для создания деревьев решений , прогнозирующих значение переменной ответа.
Преимущество деревьев решений в том, что их легко интерпретировать и визуализировать. Проблема в том, что они, как правило, страдают от высокой дисперсии . То есть, если мы разделим набор данных на две половины и применим дерево решений к обеим половинам, результаты могут сильно отличаться.
Один из способов уменьшить дисперсию деревьев решений — использовать метод, известный как пакетирование , который работает следующим образом:
1. Возьмите b самозагружаемых выборок из исходного набора данных.
2. Создайте дерево решений для каждого образца начальной загрузки.
3. Усредните прогнозы каждого дерева, чтобы получить окончательную модель.
Преимущество этого подхода заключается в том, что кластерная модель обычно обеспечивает снижение частоты ошибок при тестировании по сравнению с одним деревом решений.
Обратной стороной является то, что прогнозы на основе коллекции деревьев в мешках могут быть сильно коррелированы, если в наборе данных есть очень сильный предиктор. В этом случае большинство или все упакованные деревья будут использовать этот предиктор для первого разделения, в результате чего деревья будут похожи друг на друга и будут иметь сильно коррелированные прогнозы.
Поэтому, когда мы усредняем прогнозы каждого дерева, чтобы прийти к окончательной модели, возможно, что эта модель на самом деле не уменьшит дисперсию по сравнению с одним деревом решений.
Один из способов обойти эту проблему — использовать метод, известный как случайные леса .
Что такое случайные леса?
Подобно сборке в пакеты, случайные леса также берут самозагружаемые выборки из исходного набора данных.
Однако при построении дерева решений для каждой бутстреп-выборки каждый раз, когда рассматривается разделение дерева, только случайная выборка из m предикторов считается кандидатом на разделение среди полного набора p предикторов.
Итак, вот полный метод, который случайные леса используют для создания модели:
1. Возьмите b самозагружаемых выборок из исходного набора данных.
2. Создайте дерево решений для каждого образца начальной загрузки.
- При построении дерева каждый раз, когда рассматривается расщепление, только случайная выборка из m предикторов считается кандидатами на расщепление из полного набора p предикторов.
3. Усредните прогнозы каждого дерева, чтобы получить окончательную модель.
Используя этот метод, коллекция деревьев в случайном лесу декорируется по отношению к деревьям, полученным методом упаковки в мешки.
Поэтому, когда мы берем средние прогнозы из каждого дерева, чтобы прийти к окончательной модели, она, как правило, имеет меньшую вариативность и приводит к более низкой частоте ошибок при тестировании, чем пакетная модель.
При использовании случайных лесов мы обычно рассматриваем предикторы m = √ p как кандидатов на разделение каждый раз, когда мы разделяем дерево решений.
Например, если у нас всего p = 16 предикторов в наборе данных, мы обычно рассматриваем только m = √16 = 4 предикторов в качестве потенциальных кандидатов для каждого разделения.
Техническое примечание:
Интересно, что если мы выберем m = p (т.е. мы рассматриваем все предикторы как кандидаты в каждом разбиении), это просто эквивалентно использованию мешков.
Оценка ошибок «вне сумки»
Подобно пакетированию, мы можем вычислить ошибку тестирования модели случайного леса, используя оценку вне пакета .
Можно показать, что каждая бутстреп-выборка содержит примерно 2/3 наблюдений из исходного набора данных. Оставшаяся треть наблюдений, не используемых для соответствия дереву, называется наблюдениями вне мешка (OOB) .
Мы можем предсказать значение i-го наблюдения в исходном наборе данных, взяв среднее предсказание для каждого из деревьев, в которых это наблюдение было OOB.
Мы можем использовать этот подход, чтобы сделать прогноз для всех n наблюдений в исходном наборе данных и, таким образом, рассчитать коэффициент ошибок, который является достоверной оценкой ошибки тестирования.
Преимущество использования этого подхода для оценки ошибки теста заключается в том, что он намного быстрее, чем перекрестная проверка в k-кратном размере , особенно когда набор данных большой.
Преимущества и недостатки случайных лесов
Случайные леса имеют следующие преимущества :
- В большинстве случаев случайные леса обеспечивают повышение точности по сравнению с пакетными моделями и особенно с одиночными деревьями решений.
- Случайные леса устойчивы к выбросам.
- Для использования случайных лесов не требуется никакой предварительной обработки.
Однако случайные леса имеют следующие потенциальные недостатки:
- Их трудно интерпретировать.
- Они могут требовать больших вычислительных ресурсов (т.е. медленных) при работе с большими наборами данных.
На практике ученые, работающие с данными, обычно используют случайные леса для максимизации точности прогнозирования, поэтому тот факт, что их нелегко интерпретировать, обычно не является проблемой.