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

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

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

Пакетирование может улучшить прогнозы и особенно полезно в деревьях решений. На практике мы используем большую букву B, чтобы ошибки утихли. Существует также очень простой способ оценить ошибку теста модели с пакетом даже при выполнении перекрестной проверки. Это известно как out-of-bag (OOB). Это происходит из того факта, что ключ к созданию пакетов повторяется для загруженных подмножеств наблюдений, и того факта, что дерево с пакетами обычно использует около 2/3 наблюдений, а оставшаяся 1/3 не используется для соответствия дереву с пакетами. .

Одним из самых больших преимуществ дерева решений является его графическое представление. Однако это искажается, когда мы собираем большое количество деревьев. Повышая точность прогнозов, мы отказываемся от интерпретируемости. Хотя коллекцию упакованных деревьев гораздо сложнее интерпретировать, чем одно дерево, мы можем получить хорошее обобщение важности каждого предиктора, используя RSS в случае дерева регрессии или индекса Джини в случае дерева классификации. Для деревьев регрессии мы рассчитываем общую сумму, на которую RSS уменьшилось из-за разбиений по набору и усреднены по всем B-деревьям. Большое значение означает, что это важный предсказатель. В то время как в случае дерева классификации мы получаем индексы Джини и усредняем его по всем деревьям B.

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

Это также в первую очередь связано с тем, что усреднение многих сильно коррелированных величин не приводит к значительному уменьшению дисперсии, так как усреднение многих некоррелированных величин и, таким образом, не приведет к существенному уменьшению дисперсии. Если мы сможем управлять каждым разбиением для работы с подмножеством набора данных, мы, возможно, сможем решить эту проблему. И это то, что обычно делает случайный лес. Мы декоррелируем деревья, тем самым делая среднее значение менее изменчивым и более надежным. Основное различие между бэггингом и случайным лесом - это выбор размера подмножества предикторов m. Когда m = p - это мешки, а когда m = √p - случайный лес.

Таким образом, случайный лес можно рассматривать как набор деревьев решений. Он строит и объединяет несколько деревьев решений для повышения точности. Имя случайное, потому что предикторы выбираются случайным образом, и лес, потому что для прогнозирования / принятия решения используются несколько деревьев решений. Случайный лес помогает преодолеть переоснащение и сделать модель надежной благодаря своим характеристикам.

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

  1. Возьмите случайную выборку из m наблюдений из обучающей выборки.
  2. Составьте дерево решений из примера начальной загрузки.
  3. На каждом узле случайным образом выберите функции f.
  4. Разделите узел на основе функции, которая лучше всего разделяет в соответствии с целевой функцией, например, прирост информации,
  5. Повторите вышеуказанные шаги k раз (k - количество деревьев, которые мы хотим создать, используя подмножество)
  6. Агрегируйте предсказанные значения, полученные из каждого дерева, для новой точки данных, чтобы сформировать новую точку данных, чтобы назначить метку класса большинством голосов.

Некоторые преимущества и недостатки Random Forest

  1. Легко вычислить
  2. Может эффективно обрабатывать данные
  3. Отсутствующие значения, Outliners, не мешают выходу

Однако: Докажите, что переобучаете и не можете предсказать значение за пределами диапазона обучающего набора данных.

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

Повышение имеет три параметра настройки:

  1. Количество деревьев B. Мы используем перекрестную проверку, чтобы выбрать B.
  2. Параметры усадки (лямбда): небольшое положительное число, которое контролирует скорость обучения модели.
  3. Количество d разбиений в каждом дереве.

— — — — — — — — — — — — @ — — — — — — — — — — — — — — — -