Что такое бустинг в машинном обучении?

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

В чем важность бустинга?

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

Слабые модели

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

Сильные модели

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

Вебинары по встроенному алгоритму Amazon SageMaker: XGBoost

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

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

Деревья решений

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

Бустинг — ансамблевый метод

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

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

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

Как проходит обучение при бустинге?

Метод обучения зависит от типа бустинга, называемого алгоритмом. При этом алгоритм выполняет следующие общие шаги для обучения модели бустинга:

Шаг 1

Алгоритм бустинга присваивает равный вес каждой выборке данных. Он передает данные первой модели, называемой базовым алгоритмом. Для каждой выборки данных базовый алгоритм делает прогнозы.

Шаг 2

Алгоритм бустинга оценивает прогнозы модели и увеличивает вес выборок с более значительной ошибкой. Также вес присваивается на основе производительности модели. Модель с лучшими прогнозами будет иметь большое влияние на окончательное решение.

Шаг 3

Алгоритм передает взвешенные данные следующему дереву решений.

Шаг 4

Алгоритм повторяет шаги 2 и 3 до тех пор, пока ошибки обучения не опустятся ниже определенного порога.

Какие виды бустинга существуют?

Ниже перечислены три основных вида бустинга:

Адаптивный бустинг

Адаптивный бустинг (AdaBoost) — одна из самых ранних моделей бустинга. Он адаптируется и самостоятельно корректирует классификаторы в каждой итерации бустинга. 

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

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

Градиентный бустинг

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

Экстремальный градиентный бустинг

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

В чем заключаются основные преимущества бустинга?

Основными преимуществами бустинга являются:

Простота реализации

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

Уменьшение смещения

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

Эффективность алгоритмов

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

В чем заключаются недостатки бустинга?

Ниже приведены основные недостатки бустинга:

Уязвимость к выбросам в данных

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

Реализация в режиме реального времени

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

Как можно использовать AWS для бустинга?

Сетевые сервисы AWS предназначены для предоставления предприятиям следующих средств:

Amazon SageMaker

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

Amazon SageMaker Autopilot

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

Amazon SageMaker Debugger

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

Amazon SageMaker предлагает быстрые и простые методы обучения больших моделей и наборов данных глубокого обучения. Распределенные учебные библиотеки SageMaker быстрее обучают большие наборы данных.

Создайте учетную запись AWS и начните работу с Amazon SageMaker уже сегодня.

Машинное обучение c AWS: следующие шаги

Дополнительные ресурсы по продукту
Подробнее о сервисах машинного обучения 
Бесплатные сервисы машинного обучения

Получите доступ к бесплатным сервисам машинного обучения с AWS Free Tier.

Бесплатные сервисы машинного обучения 
Начать разработку в консоли

Начните разработку с помощью Sagemaker в Консоли управления AWS.

Регистрация