Привет, ребята, я суровый Джайн, и в этой статье я собираюсь объяснить модели повышения в машинном обучении. Мы рассмотрим простое объяснение и работу каждой модели с последующей ее практической реализацией.
Итак, что такое повышение? Как работают алгоритмы повышения? какие модели бустеров? На все эти вопросы я постараюсь ответить в этой статье.
Что такое бустинг?
Повышение — это подход к обучению с учителем (то есть включает несколько деревьев), который начинается с более слабого решения и продолжает строить модели таким образом, что окончательный прогноз представляет собой взвешенную сумму всех более слабых лиц, принимающих решения. В Boosting обучение выполняется последовательно, а тестирование — параллельно.
Проще говоря, он превращает слабых учеников (высокая предвзятость) в сильных для достижения лучших результатов / производительности. Здесь слабые ученики — это не что иное, как базовые модели, которые немного лучше, чем случайное угадывание.
В Boosting обучение выполняется последовательно, а тестирование — параллельно. Алгоритмы повышения в первую очередь обрабатывают данные с выбросами и дисперсией.
Как работает повышение?
Давайте разберемся с потоком/работой бустинга моделей, выполнив 3 простых шага:
- Инициализируйте базовую модель F0, чтобы предсказать целевую переменную.
- Новая модель m1 соответствует остаткам предыдущей модели.
- Теперь модели F0 и m1 объединены, чтобы создать окончательную мощную модель F1 с усиленным усилием.
Алгоритмы повышения:
1. АдаБуст ✅
AdaBoost — это итеративный алгоритм усиления ансамбля, который создает сильный классификатор, объединяя множество слабых классификаторов для достижения большей точности/производительности. Этот алгоритм фокусируется на обучении на ошибочно классифицированных наблюдениях.
Давайте разберемся с работой алгоритма AdaBoost с использованием деревьев решений следующим образом:
- Допущения: Обучающие выборки – -> N, Без итераций – → M и Вывод Y – →{-1, 1}
- Первый шаг: инициализировать веса w(i) = 1/N, где i = 1, 2, ….., N для всех наблюдений.
- Для m = от 1 до M Подберите классификатор C(m) к обучающим данным, используя веса w(i), Вычислите ошибку и Рассчитайте новые веса
- Нормализуйте новые веса так, чтобы их сумма была равна 1.
- Постройте новое дерево, используя новые веса, чтобы повысить производительность модели.
Практическая реализация:
Прежде чем погрузиться в код, давайте посмотрим на параметры модели AdaBoost. Параметры:
base_estimator, n_estimators, Learning_rate, алгоритм, random_state.
Для объяснения этих параметров вы можете перейти на официальный сайт sklearn. ансамбль. АдаБуст.
✔ ПРЕИМУЩЕСТВА:
- Низкая ошибка обобщения.
- Это быстро, просто и легко реализовать.
- Он работает с широким спектром алгоритмов, то есть его можно комбинировать с любыми алгоритмами машинного обучения.
- Этот алгоритм можно использовать как с числовыми, так и с текстовыми данными.
✔ НЕДОСТАТКИ:
- Слишком слабые классификаторы могут привести к низкой марже и переобучению.
- AdaBoost может быть чувствителен к зашумленным данным и выбросам.
2. ГБМ✅
Gradient Boosting также является типом алгоритма Ensembling Boosting. Как и AdaBoost, его работа заключается в объединении слабых учеников/моделей для создания сильной модели, которая обеспечивает лучшую производительность/точность. Этот алгоритм обучается на основе минимизации функции потерь (т.е. остатков).
Есть три основных компонента Gradient Boosting: аддитивная модель, функция потерь и слабый ученик.
Давайте разберемся с работой алгоритма GBM следующим образом:
- Создайте базовую модель M1, используя целевую переменную «Y».
- Рассчитайте ошибку построения модели, которая в дальнейшем будет использоваться в качестве цели для следующей модели.
- Постройте модель M2, используя ошибки в качестве целевых значений, и сделайте новые прогнозы.
- Обновите предсказания модели M1 на основе выходных данных шага 3.
- Мы будем повторять шаги со 2 по 4, пока значение ошибки не станет равным нулю или не достигнет критерия остановки.
Практическая реализация:
Прежде чем погрузиться в код, давайте посмотрим на параметры модели GBM. Параметры:
потеря, скорость обучения, n_оценки, подвыборка, критерий, min_samples_split, min_samples_leaf и многие другие.
Для объяснения этих параметров вы можете перейти на официальный сайт sklearn. ГБМ.
✔ ПРЕИМУЩЕСТВА:
- Это дает очень хорошую точность.
- Гибкий характер. Может работать с различными функциями потерь (регрессия, классификация и т. д.).
- Предварительная обработка данных не требуется.
- Доступны многие параметры настройки гиперпараметров, что еще больше повышает производительность.
✔ НЕДОСТАТКИ:
- Дальнейшая минимизация ошибок может привести к переобучению, а также к увеличению выбросов.
- GBM требует большого количества деревьев (> 1000), что требует значительных вычислительных ресурсов.
3. Легкий ГБМ✅
LightGBM расшифровывается как Light Gradient Boosting Machine. Он популярен, потому что может обрабатывать большие объемы данных с небольшим объемом памяти для выполнения. Его можно использовать как для постановки задачи регрессии, так и для классификации. LGBM растет по листам, тогда как другие алгоритмы, такие как AdaBoost, GBM растут по уровням.
Давайте поймем работу алгоритма LGBM следующим образом (простыми словами):
- Light GBM использует две техники, отличные от других моделей. Это односторонняя выборка на основе градиента и специальный пакет переменных. Эти методы направлены на сокращение количества выборок данных, переменных без ущерба для точности модели, а также на повышение эффективности модели.
- LightGBM разбивает дерево по листам, в отличие от других алгоритмов повышения, которые растут по уровням дерева. Он выбирает для роста лист с максимальными дельта-потерями. Поскольку лист фиксирован, листовой алгоритм имеет меньшие потери по сравнению с уровневым алгоритмом.
Практическая реализация:
Прежде чем погрузиться в код, давайте посмотрим на параметры модели LGBM. Параметры:
boosting_type, num_leaves, max_depth, learning_rate, n_estimators, subsample_for_bin, target, class_weight и т. д.
Для объяснения этих параметров вы можете перейти на официальный сайт sklearn. ЛГБМ.
✔ ПРЕИМУЩЕСТВА:
- Light GBM называется «Light» из-за его вычислительной мощности и получения более быстрых и лучших результатов по сравнению с другими моделями.
- Может работать с большими наборами данных и требует меньше памяти для выполнения.
✔ МИНУСЫ:
- Рост дерева по листу может увеличить сложность модели и может привести к переоснащению в небольших наборах данных.
4. XGBOOST✅
XGBOOST расшифровывается как Extreme Gradient Boosting Model, которая улучшает машину повышения градиента (GBM). Это модель машинного обучения на основе дерева решений, в которой используется структура GBM. Он лучше упорядочивает данные по сравнению с GBM.
Две основные причины использования этой модели такие же, как и у LGBM: быстрое выполнение, отличная производительность модели.
Работа XGBoost похожа на Gradient Boosting Machine вместе с техникой «Регуляризация».
Практическая реализация:
Прежде чем погрузиться в код, давайте посмотрим на параметры модели XGBOOST. Параметры:
данные, метка, вес, base_margin и т. д.
Для объяснения этих параметров вы можете перейти на официальный сайт XGBOOST.
✔ ПРЕИМУЩЕСТВА:
- XGBoost используется в обучении с учителем (проблемы регрессии и классификации).
- Поддерживает параллельную обработку.
- Может обрабатывать пропущенные значения.
- В некоторой степени заботится о выбросах.
✔ МИНУСЫ:
- XGBoost — невероятно сложный алгоритм, но, как и другие древовидные алгоритмы, он не справляется с задачами, связанными с экстраполяцией.
Конечные примечания
В конце концов, я прихожу к выводу, что алгоритмы повышения производительности — гораздо лучший вариант для работы над проектами машинного обучения по сравнению с другими моделями.
Если у вас есть какие-либо отзывы об этой статье или у вас есть какие-либо сомнения/вопросы, пожалуйста, поделитесь ими в разделе комментариев ниже. Спасибо :)
Вы также можете связаться со мной в LinkedIn @HarshJain