Привет, ребята, я суровый Джайн, и в этой статье я собираюсь объяснить модели повышения в машинном обучении. Мы рассмотрим простое объяснение и работу каждой модели с последующей ее практической реализацией.

Итак, что такое повышение? Как работают алгоритмы повышения? какие модели бустеров? На все эти вопросы я постараюсь ответить в этой статье.

Что такое бустинг?

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

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

В Boosting обучение выполняется последовательно, а тестирование — параллельно. Алгоритмы повышения в первую очередь обрабатывают данные с выбросами и дисперсией.

Как работает повышение?

Давайте разберемся с потоком/работой бустинга моделей, выполнив 3 простых шага:

  1. Инициализируйте базовую модель F0, чтобы предсказать целевую переменную.
  2. Новая модель m1 соответствует остаткам предыдущей модели.
  3. Теперь модели F0 и m1 объединены, чтобы создать окончательную мощную модель F1 с усиленным усилием.

Алгоритмы повышения:

1. АдаБуст ✅

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

Давайте разберемся с работой алгоритма AdaBoost с использованием деревьев решений следующим образом:

  1. Допущения: Обучающие выборки – -> N, Без итераций – → M и Вывод Y – →{-1, 1}
  2. Первый шаг: инициализировать веса w(i) = 1/N, где i = 1, 2, ….., N для всех наблюдений.
  3. Для m = от 1 до M Подберите классификатор C(m) к обучающим данным, используя веса w(i), Вычислите ошибку и Рассчитайте новые веса
  4. Нормализуйте новые веса так, чтобы их сумма была равна 1.
  5. Постройте новое дерево, используя новые веса, чтобы повысить производительность модели.

Практическая реализация:

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

base_estimator, n_estimators, Learning_rate, алгоритм, random_state.

Для объяснения этих параметров вы можете перейти на официальный сайт sklearn. ансамбль. АдаБуст.

✔ ПРЕИМУЩЕСТВА:

  1. Низкая ошибка обобщения.
  2. Это быстро, просто и легко реализовать.
  3. Он работает с широким спектром алгоритмов, то есть его можно комбинировать с любыми алгоритмами машинного обучения.
  4. Этот алгоритм можно использовать как с числовыми, так и с текстовыми данными.

✔ НЕДОСТАТКИ:

  1. Слишком слабые классификаторы могут привести к низкой марже и переобучению.
  2. AdaBoost может быть чувствителен к зашумленным данным и выбросам.

2. ГБМ✅

Gradient Boosting также является типом алгоритма Ensembling Boosting. Как и AdaBoost, его работа заключается в объединении слабых учеников/моделей для создания сильной модели, которая обеспечивает лучшую производительность/точность. Этот алгоритм обучается на основе минимизации функции потерь (т.е. остатков).

Есть три основных компонента Gradient Boosting: аддитивная модель, функция потерь и слабый ученик.

Давайте разберемся с работой алгоритма GBM следующим образом:

  1. Создайте базовую модель M1, используя целевую переменную «Y».
  2. Рассчитайте ошибку построения модели, которая в дальнейшем будет использоваться в качестве цели для следующей модели.
  3. Постройте модель M2, используя ошибки в качестве целевых значений, и сделайте новые прогнозы.
  4. Обновите предсказания модели M1 на основе выходных данных шага 3.
  5. Мы будем повторять шаги со 2 по 4, пока значение ошибки не станет равным нулю или не достигнет критерия остановки.

Практическая реализация:

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

потеря, скорость обучения, n_оценки, подвыборка, критерий, min_samples_split, min_samples_leaf и многие другие.

Для объяснения этих параметров вы можете перейти на официальный сайт sklearn. ГБМ.

✔ ПРЕИМУЩЕСТВА:

  1. Это дает очень хорошую точность.
  2. Гибкий характер. Может работать с различными функциями потерь (регрессия, классификация и т. д.).
  3. Предварительная обработка данных не требуется.
  4. Доступны многие параметры настройки гиперпараметров, что еще больше повышает производительность.

✔ НЕДОСТАТКИ:

  1. Дальнейшая минимизация ошибок может привести к переобучению, а также к увеличению выбросов.
  2. GBM требует большого количества деревьев (> 1000), что требует значительных вычислительных ресурсов.

3. Легкий ГБМ✅

LightGBM расшифровывается как Light Gradient Boosting Machine. Он популярен, потому что может обрабатывать большие объемы данных с небольшим объемом памяти для выполнения. Его можно использовать как для постановки задачи регрессии, так и для классификации. LGBM растет по листам, тогда как другие алгоритмы, такие как AdaBoost, GBM растут по уровням.

Давайте поймем работу алгоритма LGBM следующим образом (простыми словами):

  1. Light GBM использует две техники, отличные от других моделей. Это односторонняя выборка на основе градиента и специальный пакет переменных. Эти методы направлены на сокращение количества выборок данных, переменных без ущерба для точности модели, а также на повышение эффективности модели.
  2. LightGBM разбивает дерево по листам, в отличие от других алгоритмов повышения, которые растут по уровням дерева. Он выбирает для роста лист с максимальными дельта-потерями. Поскольку лист фиксирован, листовой алгоритм имеет меньшие потери по сравнению с уровневым алгоритмом.

Практическая реализация:

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

boosting_type, num_leaves, max_depth, learning_rate, n_estimators, subsample_for_bin, target, class_weight и т. д.

Для объяснения этих параметров вы можете перейти на официальный сайт sklearn. ЛГБМ.

ПРЕИМУЩЕСТВА:

  1. Light GBM называется «Light» из-за его вычислительной мощности и получения более быстрых и лучших результатов по сравнению с другими моделями.
  2. Может работать с большими наборами данных и требует меньше памяти для выполнения.

МИНУСЫ:

  1. Рост дерева по листу может увеличить сложность модели и может привести к переоснащению в небольших наборах данных.

4. XGBOOST✅

XGBOOST расшифровывается как Extreme Gradient Boosting Model, которая улучшает машину повышения градиента (GBM). Это модель машинного обучения на основе дерева решений, в которой используется структура GBM. Он лучше упорядочивает данные по сравнению с GBM.

Две основные причины использования этой модели такие же, как и у LGBM: быстрое выполнение, отличная производительность модели.

Работа XGBoost похожа на Gradient Boosting Machine вместе с техникой «Регуляризация».

Практическая реализация:

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

данные, метка, вес, base_margin и т. д.

Для объяснения этих параметров вы можете перейти на официальный сайт XGBOOST.

ПРЕИМУЩЕСТВА:

  1. XGBoost используется в обучении с учителем (проблемы регрессии и классификации).
  2. Поддерживает параллельную обработку.
  3. Может обрабатывать пропущенные значения.
  4. В некоторой степени заботится о выбросах.

МИНУСЫ:

  1. XGBoost — невероятно сложный алгоритм, но, как и другие древовидные алгоритмы, он не справляется с задачами, связанными с экстраполяцией.

Конечные примечания

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

Если у вас есть какие-либо отзывы об этой статье или у вас есть какие-либо сомнения/вопросы, пожалуйста, поделитесь ими в разделе комментариев ниже. Спасибо :)

Вы также можете связаться со мной в LinkedIn @HarshJain