В этой статье будет представлен обзор известного метода ансамбля и даже затронута тема случайных лесов.

Краткие темы, которые мы рассмотрим:

  1. Введение в ансамблевое обучение
  2. Бэгинг и его псевдокод
  3. Условия использования мешков
  4. Плюсы и минусы мешков
  5. Случайный лес и его псевдокод
  6. Гиперпараметры в случайных лесах
  7. Примеры из жизни
  8. Построение мешковатых деревьев и классификатора случайных лесов с использованием scikitlearn

Итак, приступим!

Обучение ансамблем:

Изучение ансамбля — отличный способ улучшить производительность вашей модели. Из самого названия видно, что мы используем набор (или ансамбль) различных моделей или базовых обучаемых, а затем комбинируем их прогнозы, чтобы получить лучший окончательный прогноз.

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

Бэггинг и бустинг — наиболее распространенные методы ансамблевого обучения. Бэггинг происходит параллельно, бустинг — это последовательный процесс.

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

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

Представьте, что вы хотите найти самую избранную профессию в мире. Чтобы представить население, вы выбираете выборку из 10000 человек. Теперь представьте, что этот образец помещен в сумку. Вы каждый раз берете из сумки 5000 человек и вводите их в свою модель машинного обучения. Затем вы кладете образцы обратно в сумку. Как только результаты предсказаны, вы используете максимальное голосование, чтобы выбрать лучшие результаты. Это не что иное, как основа бэггинга. Теперь давайте рассмотрим его более подробно.

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

После этого слабые или базовые учащиеся обучаются независимо на этих образцах (называемых начальными образцами). Весь процесс обучения происходит параллельно.

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

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

На этом изображении показаны три основных этапа упаковки в пакеты.

Псевдокод для упаковки:

КОГДА МОЖНО ИСПОЛЬЗОВАТЬ УПАКОВКУ?

Бэггинг эффективно снижает дисперсию отдельного базового ученика (т. е. усреднение уменьшает дисперсию); но бэггинг не обязательно улучшает индивидуального базового учащегося из-за процесса агрегирования. Некоторые модели имеют большую дисперсию, чем другие.

Бэггинг чрезвычайно эффективен для учащихся с нестабильной базой с высокой дисперсией.

Теперь, что такое нестабильные классификаторы?

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

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

Модели с высокой дисперсией, такие как C) Деревья решений больше всего выигрывают от бэггинга по сравнению с моделями с низкой дисперсией, такими как A) Полиномиальная регрессия, которая почти не показывает улучшения

ПРЕИМУЩЕСТВА ИСПОЛЬЗОВАНИЯ УПАКОВКИ

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

ii) Это помогает уменьшить дисперсию, а также избежать переобучения.

iii) Это обеспечивает согласованность и повышает точность алгоритмов машинного обучения, используемых в статистической классификации и регрессии.

iv) Мы выбираем данные путем повторной выборки с заменой, поэтому есть повторы/повторяющиеся значения. Выборки, которые не использовались ни в одном наборе выборочных данных, называются готовыми к использованию (OOB). Это можно использовать для проверки.

НЕДОСТАТКИ УПАКОВКИ

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

ii) Если это не смоделировано должным образом, это может привести к большому смещению и, следовательно, к недостаточной подгонке.

Концепция параллелизации

Бэггинг может быть довольно затратным в вычислительном отношении, но, поскольку он включает полностью независимые обучающие модели, мы можем использовать распараллеливание.

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

СЛУЧАЙНЫЕ ЛЕСА

Теперь мы изучим алгоритм случайных лесов, основанный на теории, которую мы изучили при бэггинге. Давайте рассмотрим реальную аналогию случайных лесов.

Рахул хочет пригласить свою девушку на свидание в День святого Валентина, но не знает, куда ее отвести. Поэтому он просит совета у людей, которые знают ее лучше всего. Первый друг, которого он ищет, спрашивает его о ее прошлых путешествиях. Основываясь на ответах, он даст Рахулу несколько советов.

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

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

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

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

Ниже показан простой классификатор случайного леса, который использует 3 дерева решений:

Источник изображения: средний

Случайные леса выполняют рандомизацию разделенных переменных, где каждый раз, когда необходимо выполнить разделение, поиск разделяемой переменной ограничивается случайным подмножеством из 'm' признаков среди всего 'p' объектов. Ниже приведен его псевдокод:

ГИПЕРПАРАМЕТРЫ В СЛУЧАЙНЫХ ЛЕСАХ

Теперь давайте углубимся в некоторые гиперпараметры, связанные со случайными лесами:

i)Количество деревьев

Количество деревьев должно быть достаточно большим, чтобы стабилизировать ошибку. Общее эмпирическое правило состоит в том, чтобы начать с ( p x 10) деревьев, а затем соответствующим образом изменить.

Большее количество деревьев обеспечивает надежные и стабильные оценки ошибок, но вычислительные затраты также увеличиваются линейно.

На этом изображении показано, как ошибка зависит от количества деревьев в наборе данных Эймса. Набор данных Эймса имеет 80 функций, и начало с 80 x 10 дает хорошие результаты.

ii) Количество функций, которые следует учитывать при любом разделении

Пусть « будет гиперпараметром, управляющим функцией рандомизации разделенной переменной. Это количество случайных объектов, выбранных из общего числа « объектов.

Когда релевантных предикторов мало, лучше работает более высокое значение m, поскольку оно обеспечивает выбор более сильного предиктора. Когда сильных предикторов слишком много, предпочтительнее меньшее значение m. Обычно m = p/3 для регрессии и m = √p для задач классификации.

На этом изображении показано, как ошибка зависит от m для набора данных Ames Housing. Мы видим, что m=21 работает лучше всего для этих данных.

iii)Сложность дерева

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

Это влияет на время выполнения больше, чем на оценку ошибки. Это видно из графиков ниже:

Примеры из реальной жизни

i) Здравоохранение. Бэггинг использовался для прогнозирования медицинских данных. Методы ансамбля используются для отбора генов и/или белков, чтобы идентифицировать интересующий конкретный признак. Случайные леса используются для различных целей в области здравоохранения, таких как прогнозирование заболеваний с использованием истории болезни пациента.

ii) Банковская отрасль.Бэггинг и случайный лес можно использовать для классификации и регрессионных задач, таких как риск дефолта по кредиту, обнаружение сбоев кредитных карт.

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

Давайте немного программировать!

Импорт библиотек

Загрузка набора данных и нормализация

Разделение набора данных

Обучение дерева решений на нормализованном наборе данных

Обучение дерева в мешках

Обучение случайного леса

Я надеюсь, что эта статья дала вам четкое представление об этой теме. Если у вас есть какие-либо предложения или вопросы, поделитесь ими в разделе комментариев ниже.

Итак, пересматривайте, кодируйте и следите за нашей следующей статьей!

Подпишитесь на нас в:

  1. Фейсбук
  2. Инстаграм
  3. Линкедин
  4. "YouTube"

Спасибо за прочтение! ❤