Многие из нас встречали название Random Forest, когда читали о методах машинного обучения. Это один из самых популярных алгоритмов машинного обучения, в котором используется ансамблевая техника. В этом блоге мы собираемся обсудить, что такое ансамблевые методы, что такое бэггинг, чем полезен бэггинг, что такое случайный лес и его преимущества.

Что такое ансамблевые методы?

В методах ансамбля мы создаем ряд алгоритмов ML, таких как логистическая регрессия, SVM, KNN, деревья решений и т. д., и объединяем эти алгоритмы вместе, чтобы найти прогноз.

Существуют определенные правила, которым мы должны следовать при создании модели ансамбля.

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

Как мы объединяем разные модели вместе?

Если рассматривать 100 моделей М1,М2,М3…..М100, то для классификации мы идем по большинству голосов. Давайте рассмотрим модель бинарной классификации, если 65 моделей дают прогноз точки данных как 1, то это большинство, и поэтому мы продолжим с 1 в качестве прогнозируемого результата. В случае регрессионной модели мы можем выбрать среднее значение или моду всех 100 моделей и рассматривать это как прогнозируемый результат.

Каким образом ансамблевая модель будет работать лучше любой отдельной модели?

  1. В ансамблевой модели мы гарантируем, что все модели M1, M2, M3…….M100 являются приемлемыми, что означает, что они имеют точность более 50%. Таким образом, комбинированный результат большинства наверняка будет иметь вероятность более 50%, поэтому модель ансамбля будет работать лучше.
  2. Это также снизит вероятность чрезмерной подгонки. Причина этого в том, что даже если 1 модель подходит больше, вероятность того, что оставшиеся 50% моделей, которые составят большинство, также будут слишком подходящими, очень минимальна.

Что такое бэгинг?

Бэггинг происходит от слов Bootstrap + AGGregatING. У нас есть 3 шага в этом процессе.

  1. Мы берем t выборок, используя выборку строк с заменой (не имеет значения, есть ли в 1 выборке строка 2, может быть другая выборка со строкой 2, которые полностью независимы) из наших исходных обучающих данных, называемых D1, D2… Dt- начальная загрузка .
  2. Когда у нас есть эти образцы, мы строим разные модели классификации для каждого из них C1, C2…..Ct.
  3. Теперь мы объединяем эти классификаторы вместе, принимая большинство голосов за классификацию и среднее/моду для задач регрессии.

Как бэгинг помогает при облегании?

Предположим, что «k» строк в данных поезда способствовали переобучению. Теперь, когда мы разделяем данные поезда на наборы данных «t», вероятность того, что все строки «k» попадут во все наборы данных «t», очень минимальна. Таким образом, маловероятно, что комбинированный классификатор будет переработан.

Что такое случайный лес?

Random Forest использует технику мешков, которую мы обсуждали ранее. Но единственная разница в том, что все модели M1,M2…..M100 являются деревьями решений. Но теперь мы можем подумать, что не во всех моделях есть «разнообразие». Вот как мы решаем эту проблему

  1. Обычно мы рассматриваем только выборку строк для обеспечения разнообразия, но здесь мы также рассмотрим подмножество функций (выборку столбцов).
  2. Если у нас есть обучающие данные с «n» строк и «d» столбцов, то каждый из наших наборов данных в упаковке будет иметь m‹n строк и k‹d столбцов, поэтому размер каждого набора данных будет m*k. Теперь мы сделали все наши модели непохожими друг на друга.

Преимущества случайного леса:

  1. Все деревья в случайном лесу разнообразны и независимы друг от друга
  2. Это очень стабильно, потому что большинство голосов объединяет результаты всех этих деревьев.
  3. Не склонен к чрезмерной подгонке
  4. Он невосприимчив к проклятию размерности - поскольку мы берем только подмножество строк и столбцов, пространство признаков значительно уменьшается.
  5. Это распараллеливается — поскольку все деревья независимы друг от друга, мы можем запускать каждую модель отдельно, и поэтому ее можно распараллелить.
  6. Точки вне сумки. Если у нас есть «n» строк, и «m» из них являются частью одного набора данных, то оставшиеся строки «n-m» являются точками из сумки. Мы можем использовать это в качестве проверочного набора, и нам не нужно создавать новый.

Время выполнения:

  1. Время выполнения зависит от трех факторов: количества деревьев (t), глубины каждого дерева (d) и количества строк в каждом дереве (m).
  2. Время выполнения для обучения составляет O(k*mlogd)