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

Как вы помните из Bagging Post, ансамблевое обучение использует мешки как один из методов работы с очень сложными моделями для уменьшения их дисперсии. Что Random Forest делает в дополнение к рандомизированному созданию наборов данных, он также выполняет случайно выбранные переменные-предикторы. (Случайное подпространство)

Давайте просто рассмотрим псевдокод Random Forest.

  • b → B, представляет количество бутстрапов (1 → B количество бутстрапов)
    — образец бутстрапа Z* будет иметь строку N (получена из данных обучения)
  • Модель дерева будет сгенерирована с использованием следующей логики:
  1. m переменных-предикторов будут выбраны случайным образом из pпеременных
    (из pразных столбцов m > столбцы будут выбраны для данной модели дерева). mвсегда меньше p
  2. Выбор лучшей переменной для разделения среди m выбранных переменных.
    Пример. Логика разделения будет идентична дереву решений, где мы можем использовать примеси Джини, энтропию или прирост информации. Таким образом, из m выбранных предикторов путем вычисления метрики для меры разделения будет выбран один признак для разделения в этом узле.
  3. Каждый раз, когда происходит разделение, случайным образом выбирайте переменные-предикторы из mпеременных
    Пример. На рисунке ниже при первом разделении для разделения выбираются x2,10,23,17,9, и его дочерний узел также получает возможность выбрать m признаков из p. переменные (* Помните, что переменные p взяты из начальной загрузки, а не из исходного набора данных)
  4. Повторяйте процесс до тех пор, пока не будет достигнут минимальный размер узла (другими словами, когда больше не будет выборок для разделения.

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

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

Ошибка обобщения

Когда мы строим модель, мы должны быть уверены, что она также будет хорошо работать с другими наборами данных, с которыми она никогда раньше не сталкивалась. Ошибка обобщения — это ошибка, которая может возникнуть в модели при столкновении с новыми наборами данных.

Для случайного леса мы можем предположить:

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

P hat: среднее значение коэффициентов корреляции между отдельными деревьями.

: функция маржи (средние пропорции разницы между правильными и неправильными деревьями по всем обучающим данным).

Есть два способа уменьшить ошибку обобщения:

  1. Увеличить S² (функция маржи)
    Этого можно добиться, если модель обладает высокой точностью (больше правильных прогнозов по сравнению с неправильными).
  2. Уменьшить полосу P (корреляция)
    Корреляцию можно уменьшить за счет случайности (бэгинг + случайное подпространство), но должен быть предел степени корреляции, потому что процесс бэггинга исходит из исходного набора данных.

Давайте посмотрим на пример ниже, у нас есть три модели из трех разных наборов данных (бутстрапы).

Средняя корреляция может быть рассчитана путем умножения вероятностей каждой модели. Среднее значение (A&B, A&C, B&C) → 0,9027

Средняя маржа — это общее среднее значение средней маржи отдельной модели. → 0,7460

В результате ошибка обобщения составляет 0,9027(1–0,7460)/0,7460 = 0,3074. )

Важность переменной/функции

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

Процесс оценки важности функции

  1. Вычислить ошибку OOB для данных OOB каждой начальной загрузки
    Ошибка OOB для каждой начальной загрузки = ei
  2. Используйте перестановку, чтобы перепутать точки данных для определенной переменной-предиктора xi
    OOB Error из перестановочной начальной загрузки = pi
  3. Вычислите важность переменной на основе среднего значения и стандартного отклонения (pi-ei) по всем деревьям в популяции.

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

Давайте посмотрим на математику, стоящую за объяснением выше:

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

Также возможно, что даже при перестановке погрешность невелика. Это можно интерпретировать как то, что переменные не всегда используются при разделении. Поскольку разделение также использует метрики для выбора наиболее оптимальной функции, когда pi-ei дает значение, близкое к 0, функция вообще не используется, и, следовательно, pi = ei

Рассмотрим более подробно показатели оценки:

d bar i: Средняя ошибка OOB по всем моделям для функции i
* Когда это значение высокое, это означает, что при замене функции i другой функцией будет предлагаться высокая ошибка в прогнозе.

s²i: стандартное отклонение для всех древовидных моделей для признака i.
Это просто коэффициент масштабирования при расчете важности признака.
Чем важнее признак, тем меньше это распределение.

Общая важность функции ith может быть рассчитана по формуле:

Важность можно повысить с помощью:

  1. Высокий столбец d i: когда модель часто использует функцию для разделения и ошибка перестановки высока.
  2. Низкий si: поскольку это считается штрафным фактором, он может понизить показатель важности, однако из-за характера уравнения очень важная функция имеет тенденцию иметь низкий si

Гиперпараметры случайного леса

Немного углубившись в модель, гиперпараметры играют решающую роль в оптимизации производительности. Я сосредоточусь на наиболее важных гиперпараметрах случайного леса.

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

2. Количество выборок для m переменных из p переменных

  • Предлагаемые числа не являются фиксированными, но общие числа могут быть следующими:
    Регрессия: переменные p/ 3
    Классификация: переменные √p

Заключение

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