Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Бустинг и Алгоритмы бустинга в системах ИИ

Лекция



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

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

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

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

Некоторые из популярных алгоритмов бустинга включают:

  1. AdaBoost (Adaptive Boosting): Он использует взвешивание обучающих данных, чтобы модели фокусировались на объектах, на которых предыдущие модели допустили ошибки. Веса объектов обновляются на каждой итерации, чтобы учесть предыдущие ошибки.

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

  3. XGBoost (Extreme Gradient Boosting): Это оптимизированная версия градиентного бустинга, которая использует ряд оптимизаций и эвристик для улучшения производительности и точности моделей.

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

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

Бустинг основан на вопросе, поднятом Кернсом и Вэлиантом (1988, 1989) : «Может ли набор слабых обучающих алгоритмов создать сильный обучающий алгоритм?». Слабый обучающий алгоритм определяется как классификатор, который слабо коррелирует с правильной классификацией (может пометить примеры лучше, чем случайное угадывание). В отличие от слабого алгоритма, сильный обучающий алгоритм является классификатором, хорошо коррелирующим с верной классификацией.

Положительный ответ Роберта Шапирe в статье 1990 года на вопрос Кернса и Вэлианта имел большое значение для теории машинного обучения и статистики, и привел к созданию широкого спектра алгоритмов бустинга .

Гипотеза о бустинге относилась к процессу настройки алгоритма слабого обучения для получения строгого обучения. Неформально, спрашивается, вытекает ли из существования эффективного алгоритма обучения, выходом которого служит гипотеза, эффективность которой лишь слегка лучше случайного гадания (то есть слабое обучение), существование эффективного алгоритма, который дает гипотезу произвольной точности (то есть сильное обучение) . Алгоритмы, которые получают быстро такую гипотезу, становятся известны просто как «бустинг». Алгоритм «arcing» Фройнда и Шапире (Adaptive Resampling and Combining) , как общая техника, является более-менее синонимом бустингу

Алгоритмы бустинга

В то время как бустинг алгоритмически не ограничен, большинство алгоритмов бустинга состоит из итеративного обучения слабых классификаторов с целью сборки их в сильный классификатор. Когда они добавляются, им обычно приписываются некоторым образом веса, которые, обычно, связаны с точностью обучения. После того, как слабый классификатор добавлен, веса пересчитываются, что известно как «пересчет весовых коэффициентов». Об этом говорит сайт https://intellect.icu . Неверно классифицированные входные данные получают больший вес, а правильно классифицированные экземпляры теряют вес[nb 1]. Тем самым последующее слабое обучение фокусируется больше на примерах, где предыдущие слабые обучения дали ошибочную классификацию.

Есть много алгоритмов бустинга. Исходные алгоритмы, предложенные Робертом Шапире (рекурсивное доминирование, англ. recursive majority gate formulation) и Йоавом Фройндом (бустинг по доминированию) , не были адаптивными и не могли дать полного преимущества слабых обучений. Шапире и Фройнд затем разработали AdaBoost (Adaptive Boosting) — адаптивный алгоритм бустинга, который выиграл престижную премию Геделя.

Только алгоритмы, для которых можно доказать, что они являются алгоритмами бустинга в формулировке приближенно правильного обучения, могут быть точно названы алгоритмами бустинга. Другие алгоритмы, близкие по духу алгоритмам бустинга, иногда называются «алгоритмами максимального использования» (англ. leveraging algorythms), хотя они иногда также неверно называются алгоритмами бустинга .

Основное расхождение между многими алгоритмами бустинга заключается в методах определения весовых коэффициентов точек тренировочных данных и гипотез. Алгоритм AdaBoost очень популярен и исторически наиболее знаменателен, так как он был первым алгоритмом, который смог адаптироваться к слабому обучению. Алгоритм часто используется как базовое введение в алгоритмы бустинга в курсах обучения машин в университетах . Есть много недавно разработанных алгоритмов, таких как LPBoost, TotalBoost, BrownBoost, xgboost, MadaBoost, LogitBoost и др.. Многие алгоритмы бустинга попадают в модель AnyBoost , это показывает, что бустинг осуществляет градиентный спуск в пространстве функций используя выпуклую функцию потерь.

Бустинг и Алгоритмы бустинга в системах ИИ

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

Классификация признаков в компьютерном зрении

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

Задача классификации объектов

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

Статус кво для классификации объектов

Распознавание категорий объектов в изображениях является сложной задачей в компьютерном зрении, особенно если число категорий велико. Это является следствием высокой внутренней изменчивости классов и необходимости обобщения различных понятий внутри класса. Объекты в одной категории могут выглядеть совершенно различными. Даже один и тот же предмет может выглядеть непохожим с различных точек обзора, при другом масштабе или освещении. Шум заднего плана и частичные наложения также добавляют сложности в распознавание . Люди способны распознавать тысячи типов объектов, в то время как большинство существующих систем распознавания объектов тренируются для распознавания лишь нескольких, например человеческих лиц, автомобилей, простых объектов и т. д. . Исследования по увеличению числа категорий и возможности добавления новых категорий ведутся активно и, хотя общая проблема пока не решена, разработаны детекторы большого числа категорий (до сотен и тысяч ). Достигается это, в частности, с помощью совместного использования признаков и бустинга.

Бустинг для двоичной классификации

Пакет AdaBoost может быть использован для распознавания лиц как пример двоичной классификации. Две категории — это лица и фон. Общий алгоритм выглядит следующим образом:

  1. Формируем большой набор признаков
  2. Инициализируем веса для тренировочного набора изображений
  3. Делаем T прогонов
    1. Нормализуем веса
    2. Для доступных признаков из набора тренируем классификатор, используя один из признаков и вычисляем ошибку тренировки
    3. Выбираем классификатор с наименьшей ошибкой
    4. Обновляем веса тренировочных изображений: увеличиваем, если классифицировано неверно, и уменьшаем, если верно
  4. Формируем окончательный сильный классификатор как линейная комбинация T классификаторов (коэффициент больше, если ошибка тренировки меньше)

После бустинга классификатор, построенный из 200 признаков, может достигать 95 % успешных распознаваний при Бустинг и Алгоритмы бустинга в системах ИИ ошибок положительного распознавания .

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

Бустинг мультиклассовой классификации

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

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

В статье «Sharing visual features for multiclass and multiview object detection» (Совместное использование визуальных признаков для мультиклассового обнаружения объектов в нескольких проекциях), А. Торральба с соавторами использовали GentleBoost для бустинга и показали, что, если тренировочные данные ограничены, обучение с помощью совместно используемых признаков делает работу много лучше, чем без совместного использования. Также для заданного уровня производительности общее число признаков, требующихся (а потому и время работы классификатора) для обнаружения совместного использования признаков, растет примерно логарифмически от числа классов, то есть медленнее, чем линейно, что наблюдается в случае отсутствия совместного использования. Похожие результаты показаны в статье «Инкрементальное обучение обнаружения объектов, используя алфавит визуальных образов», впрочем, для бустинга авторы использовали AdaBoost.

Выпуклые и невыпуклые алгоритмы бустинга

Алгоритмы бустинга могут основываться на выпуклых или невыпуклых алгоритмах оптимизации. Выпуклые алгоритмы, такие как AdaBoost и LogitBoost, могут «потерпеть крушение» из-за случайного шума, так как не могут обучить базовым и поддающимся научению комбинациям слабых гипотез . На это ограничение указали Лонг и Серведо в 2008. Однако в 2009 несколько авторов продемонстрировали, что алгоритмы бустинга, основанные на невыпуклой оптимизации, такие как BrownBoost, могут быть обучены из данных с шумами и лежащий в основе классификатор Лонг-Серведио для набора данных может быть обучен.

Реализация

  • Scikit-learn, библиотека машинного обучения с открытым кодом для языка Python
  • Orange, a свободно распространяемый программный комплекс для анализа данных, модуль Orange.ensemble
  • Weka — это набор средств для машинного обучения, содержащий ряд реализаций алгоритмов бустинга, таких как AdaBoost и LogitBoost
  • Пакет GBM (Generalized Boosted Regression Models = Обобщенные Модели Бустинга Регрессии) на языке R реализует расширение алгоритма Фройнда и Шапире AdaBoost и градиентного бустинга Фридмана.
  • jboost; AdaBoost, LogitBoost, RobustBoost, Boostexter и чередующиеся решающие деревья
  • Пакет adabag на языке R: Применяет мультиклассовые алгоритмы AdaBoost.M1, AdaBoost-SAMME и Bagging
  • Пакет xgboost на языке R: Реализация градиентного бустинга для линейных основанных на деревьях моделей.
  • Пакет CatBoost

Вау!! 😲 Ты еще не читал? Это зря!

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

создано: 2020-10-10
обновлено: 2023-05-15
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Машинное обучение

Термины: Машинное обучение