В этой серии статей мы представили ансамблевые методы обучения и увидели, как мы можем реализовать эти методы с помощью языка программирования Python. Одна вещь, которую мы планировали обсудить позже, — это повышение техники в ансамблевом обучении. Ансамблевое обучение можно рассматривать как объединенные результаты нескольких алгоритмов машинного обучения, которые можно разделить на две части в зависимости от уровней сложности:

  • Простое ансамблевое обучение
  • Продвинутое обучение ансамблю

Глядя на сложность алгоритмов повышения, мы можем думать о них как о части продвинутых методов обучения ансамбля. Тем не менее, многие моделисты неправильно понимают термин «буст». В этой статье мы кратко объясним это и узнаем, как повышающие методы ансамблевого обучения дают возможность процессу машинного обучения повысить точность прогнозов.

Содержание

  • Что такое бустинг?
  • Зачем использовать алгоритмы повышения?
  • Ключевые этапы повышения алгоритмов
  • Типы алгоритмов повышения

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

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

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

Понимание бустинга на примере

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

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

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

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

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

Зачем использовать алгоритмы повышения?

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

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

Ключевые этапы повышения алгоритмов

Методы повышения обычно следуют этим компактным шагам:

  1. Инициализируйте веса для обучающих примеров.
  2. Обучите слабого ученика на взвешенном наборе данных.
  3. Оцените работу слабого ученика.
  4. Обновите веса на основе результатов слабого ученика.
  5. Создайте следующего слабого ученика, чтобы исправить предыдущие ошибки.
  6. Повторите шаги 3–5 для нескольких итераций.
  7. Объедините слабых учеников в сильную ансамблевую модель.
  8. Используйте модель ансамбля, чтобы сделать прогнозы.
  9. При желании повторите дальнейшие действия или завершите процесс повышения.

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

Типы алгоритмов повышения

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

  1. Адаптивное повышение (AdaBoost). Люди, занимающиеся наукой о данных и машинным обучением, знают этот алгоритм как один из первых алгоритмов повышения. Он работает, присваивая более высокие веса неправильно классифицированным примерам, позволяя последующим слабым учащимся сосредоточиться на этих примерах. AdaBoost объединяет прогнозы нескольких слабых учеников для создания сильной модели ансамбля, или мы можем сказать, что объясненный выше пример похож на стиль работы AdaBoost.
  2. Повышение градиента. Как следует из названия, этот метод использует оптимизацию градиентного спуска для минимизации функции потерь. Он последовательно строит слабых учеников, каждый из которых стремится минимизировать ошибки предыдущих моделей. Популярные реализации повышения градиента включают XGBoost и LightGBM, которые вносят дополнительные улучшения и оптимизации.
  3. CatBoost (категориальное повышение).Этот алгоритм повышения представляет собой общую структуру, которая в основном ориентирована на эффективную обработку категориальных переменных. По сути, он использует упорядоченную схему повышения и использует уникальные методы для обработки категориальных признаков, не требуя обширной предварительной обработки. Одним из основных преимуществ CatBoost является то, что он обеспечивает высококачественные прогнозы с устойчивостью к переоснащению.
  4. LightGBM (LightGradient Boosting Machine). Этот алгоритм основан на методах повышения градиента, но использование специализированного алгоритма обучения на основе дерева отличает его от общего алгоритма повышения градиента. Как следует из названия, он ориентирован на достижение высокой эффективности и скорости при сохранении точности. LightGBM реализует передовые методы, такие как рост дерева по листам и вычисления на основе гистограмм для более быстрого обучения.
  5. XGBoost (Extreme Gradient Boosting). Этот алгоритм также основан на методах повышения градиента и популярен благодаря своей масштабируемости и производительности. С технической точки зрения, он использует регуляризованную целевую функцию и включает в себя такие методы, как обрезка деревьев, подвыборка столбцов и параллельная обработка.
  6. Стохастическое повышение градиента. Этот метод повышения также известен как регрессия случайного леса, поскольку он сочетает в себе идею повышения градиента и случайного выбора признаков, как в алгоритме случайного леса. Из-за этой комбинации он становится способным вводить случайность, используя подмножество признаков на каждой итерации, увеличивая разнообразие моделей ансамбля и уменьшая переоснащение.

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

Заключение

В статье мы обсудили базовое понимание алгоритмов повышения. Это важная часть методов ансамблевого обучения, поскольку она позволяет создавать высокоточные и надежные прогностические модели. Используя силу слабых учеников и фокусируясь на сложных случаях, повышающие алгоритмы создают ансамблевые модели с повышенной прогностической силой. Понимание принципов повышения и изучение популярных алгоритмов, таких как AdaBoost, Gradient Boosting, CatBoost и Stochastic Gradient Boosting, может помочь инженерам машинного обучения эффективно использовать методы повышения в своих проектах. Расширение возможностей ансамблевого обучения открывает двери для повышения точности, надежности и интерпретируемости, что в конечном итоге приводит к более эффективному принятию решений и эффективным решениям в различных областях.

О нас

DSW, специализирующаяся на искусственном интеллекте и науке о данных, предоставляет платформы и решения для использования данных с помощью ИИ и расширенной аналитики. С офисами, расположенными в Мумбаи, Индия, и Дублине, Ирландия, компания обслуживает широкий круг клиентов по всему миру.

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

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