Знакомство с ансамблевым обучением и его ролью в ИИ и машинном обучении
Узнай, как ансамблевое обучение повышает эффективность моделей ИИ с помощью таких методов, как бэггинг, бустинг и стекинг, обеспечивая более точные и стабильные прогнозы.
Abirami Vina13 мин. чтения
Чтобы наглядно разобраться в концепциях, рассмотренных в этой статье, посмотри видео ниже.
Такие инновации в области ИИ, как рекомендательные системы и системы обнаружения мошенничества, используют алгоритмы и модели машинного обучения для прогнозирования и принятия решений на основе данных. Эти модели выявляют закономерности, прогнозируют тенденции и помогают автоматизировать сложные задачи.
Однако одной модели может быть сложно уловить все особенности реальных данных. В одних случаях она может работать хорошо, а в других — давать сбои, например когда модель обнаружения мошенничества не распознает новые типы транзакций.
С этой проблемой инженеры ИИ часто сталкиваются при создании и развертывании моделей машинного обучения. Одни модели переобучаются, слишком точно подстраиваясь под обучающие данные, а другие недообучаются и упускают важные закономерности. Ансамблевое обучение — это метод ИИ, который помогает справиться с этими проблемами, объединяя несколько моделей, называемых базовыми алгоритмами, в одну более мощную систему.
Представь себе команду экспертов, которые вместе решают задачу. В этой статье мы рассмотрим, что такое ансамблевое обучение, как оно работает и где его можно применять.
Что такое ансамблевое обучение?#
Ансамблевое обучение — это набор методов, которые объединяют несколько моделей для решения одной и той же задачи и получения единого, улучшенного результата. Его можно применять как в обучении с учителем, где модели учатся на размеченных данных, так и в обучении без учителя, где модели находят закономерности в неразмеченных данных.
Вместо того чтобы полагаться на одну модель, ансамбль использует несколько моделей, каждая из которых анализирует данные по-своему. Объединенный результат часто точнее, стабильнее и лучше обобщается, чем результат любой отдельной модели.
Ансамблевое обучение можно сравнить с группой аналитиков, которые разбирают одну и ту же задачу. Каждый аналитик или отдельная модель интерпретирует данные по-своему.
Один может сосредоточиться на закономерностях, другой — на аномалиях, а третий — на контексте. Объединив их мнения, группа может принять более взвешенное и надежное решение, чем любой из участников по отдельности.
Этот подход также помогает справиться с двумя главными проблемами машинного обучения: смещением и разбросом. Модель с большим смещением слишком проста и упускает важные закономерности, а модель с большим разбросом чрезмерно чувствительна и слишком точно подстраивается под обучающие данные. Объединяя модели, ансамблевое обучение находит баланс между этими крайностями и улучшает работу системы на новых данных, которые она еще не видела.
Как работает ансамблевое обучение#
Каждую модель в ансамбле называют базовым алгоритмом или базовой моделью. В зависимости от метода ансамблевого обучения это могут быть алгоритмы одного типа или сочетание разных алгоритмов.
Вот несколько распространенных типов моделей, используемых в ансамблевом обучении:
- Деревья решений: Эти модели разбивают данные на ветви по значениям признаков, чтобы принимать решения. Например, в задачах классификации, таких как прогнозирование покупки товара клиентом, они учитывают такие факторы, как возраст, доход и история просмотров.
- Нейронные сети: Вдохновлённые принципами обработки информации человеческим мозгом, они лежат в основе архитектуры большинства современных моделей AI и машинного обучения.
- Методы опорных векторов (SVM): Эти алгоритмы классифицируют данные, находя оптимальную границу принятия решений — гиперплоскость, которая максимизирует расстояние между разными классами. Иными словами, SVM проводит наилучшую разделяющую группы линию, оставляя между ними максимально широкий промежуток. Например, этот метод позволяет определить, является ли письмо спамом, по таким признакам, как частота слов и структура текста.
- Модели логистической регрессии: Они оценивают вероятности и часто применяются для задач бинарной классификации. Например, с их помощью можно предсказать, является ли транзакция мошеннической или законной.
Объединенную модель-ансамбль обычно называют сильным алгоритмом: она использует преимущества базовых алгоритмов, также называемых слабыми моделями, и сводит к минимуму их недостатки. Для этого модель структурированно объединяет прогнозы каждого алгоритма: в задачах классификации используется голосование большинством, а в задачах регрессии — взвешенное усреднение. Так получается более точный итоговый результат.

Рис. 1. Пример ансамблевого обучения (источник)
Когда применять ансамблевое обучение#
Прежде чем перейти к различным методам ансамблевого обучения, давай разберемся, когда этот подход стоит применять в проекте машинного обучения или ИИ.
Ансамблевое обучение особенно эффективно, когда одной модели сложно делать точные или стабильные прогнозы. Его также можно использовать, если данные сложные, зашумленные или непредсказуемые.
Вот несколько распространенных случаев, в которых ансамблевые методы особенно эффективны:
- Низкая точность модели: Если прогнозы одной модели недостаточно надежны, объединение нескольких моделей может значительно повысить точность и производительность. Например, в оценке кредитоспособности или медицинской диагностике даже небольшое повышение точности прогноза может иметь большое значение.
- Зашумленные или непоследовательные данные: Если набор данных содержит выбросы, ошибки или случайные колебания, ансамблевое обучение помогает сгладить эти отклонения, усредняя прогнозы нескольких моделей или объединяя их голосованием.
- Необходимость в устойчивости: Ансамблевые модели менее чувствительны к небольшим изменениям данных, поэтому они стабильнее и надежнее в производственной среде, где реальные входные данные могут меняться.
- Сложные задачи прогнозирования: В таких задачах, как распознавание изображений, обнаружение мошенничества или прогнозирование временных рядов, ансамбли улавливают больше закономерностей и взаимосвязей, чем отдельная модель.
При этом, если одна модель уже хорошо справляется с задачей, часто лучше выбрать именно её: такую модель проще обучать и интерпретировать, а её поддержку легче организовать. Прежде чем использовать ансамбль, важно сопоставить возможный прирост точности с дополнительными затратами времени, вычислительных ресурсов и сложностью.
Обзор методов ансамблевого обучения#
Теперь рассмотрим основные способы применения ансамблевого обучения в проектах машинного обучения. Существует несколько ключевых методов объединения моделей, каждый из которых по-своему улучшает результаты. Наиболее распространенные методы — бэггинг, бустинг, стекинг и блендинг.
Бэггинг#
Бэггинг — сокращение от «агрегирование с помощью бутстрэпа» — это метод ансамблевого обучения, который повышает стабильность и точность модели, обучая несколько ее вариантов на разных частях данных.
Каждая подвыборка создается с помощью бутстрэп-выборки: точки данных выбираются случайным образом с возвращением. Это значит, что выбранную точку возвращают в набор перед следующим выбором, поэтому одна и та же точка может попасть в выборку несколько раз, а некоторые точки могут не попасть вовсе. Такая случайность гарантирует, что каждая модель обучается на немного отличающемся варианте набора данных.
Во время инференса все обученные модели параллельно делают прогнозы на новых, ранее не встречавшихся данных. Каждая модель выдает свой результат на основе полученных знаний, а затем эти отдельные прогнозы объединяются в итоговый результат.
В задачах регрессии, например при прогнозировании цен на жилье или объема продаж, результаты всех моделей обычно усредняются, чтобы получить более сглаженную оценку. В задачах классификации, например при определении того, является ли транзакция мошеннической, ансамбль часто выбирает итоговый класс большинством голосов.
Бэггинг на практике: алгоритм Random Forest#
Хороший пример эффективного применения бэггинга — деревья решений, которые легко переобучаются при обучении на одном наборе данных. Обучая множество деревьев на немного различающихся выборках и объединяя результаты, бэггинг снижает переобучение и повышает надежность.
Рассмотрим алгоритм Random Forest. Это ансамбль деревьев решений, каждое из которых обучается на случайной подвыборке обучающего набора данных, а также на случайной подвыборке признаков.
Случайный выбор признаков помогает снизить корреляцию между деревьями и сделать всю модель стабильнее и точнее. Алгоритм Random Forest можно применять для классификации изображений, обнаружения мошенничества, прогнозирования оттока клиентов, предсказания продаж или оценки стоимости недвижимости.

Рис. 2. Принцип работы алгоритма Random Forest (источник)
Бустинг#
Бустинг — еще один метод ансамблевого обучения. Он улучшает слабые алгоритмы (модели), обучая их последовательно, один за другим, а не параллельно. Основная идея бустинга заключается в том, что каждая новая модель учится на ошибках предыдущих, постепенно повышая общую производительность модели.
В отличие от бэггинга, который снижает разброс за счет усреднения независимых моделей, бустинг уменьшает смещение: каждая новая модель уделяет больше внимания сложным примерам, с которыми предыдущие справились хуже.
Поскольку модели бустинга обучаются последовательно, их прогнозы в конце объединяются немного иначе, чем в других ансамблевых методах. Каждая модель вносит вклад в итоговый прогноз пропорционально своим результатам во время обучения: более точные модели получают больший вес.
В задачах регрессии итоговый результат обычно представляет собой взвешенную сумму прогнозов всех моделей. В задачах классификации алгоритм объединяет взвешенные голоса моделей, чтобы определить итоговый класс. Благодаря такому подходу бустинг создает сильную модель в целом: более точные модели получают больший вес, но алгоритм при этом продолжает учиться на результатах остальных.
Вот несколько распространенных типов алгоритмов бустинга:
- AdaBoost (адаптивный бустинг): Этот метод начинает с обучения простой модели, например небольшого дерева решений, а затем увеличивает вес точек данных, которые были классифицированы неверно. Благодаря этим весам следующая модель уделяет больше внимания сложным примерам. В ходе нескольких итераций модели дополняют друг друга, а их объединенные прогнозы дают более сильный и точный результат. Например, AdaBoost может повысить точность обнаружения спама или распознавания лиц.
- Градиентный бустинг: Вместо изменения весов примеров градиентный бустинг обучает каждую новую модель исправлять остаточные ошибки предыдущих моделей — разницу между фактическими и прогнозируемыми значениями. Благодаря этому итерационному подходу метод эффективен как для регрессии, так и для классификации, например при прогнозировании продаж и оценке кредитоспособности.
- XGBoost (экстремальный градиентный бустинг): Эта усовершенствованная версия градиентного бустинга повышает и скорость, и точность. Она использует регуляризацию, которая слегка штрафует чрезмерно сложные модели во время обучения, чтобы они выявляли значимые закономерности, а не запоминали данные. Хотя модели по-прежнему обучаются последовательно, XGBoost ускоряет процесс за счёт параллельных вычислений при построении деревьев. Он может одновременно оценивать множество возможных точек разделения на разных ядрах CPU. Благодаря этому обучение проходит гораздо быстрее, особенно на больших наборах данных, при сохранении высокой точности прогнозирования.

Рис. 3. Пример классификатора на основе дерева решений (DTB), обученного с помощью бустинга для прогнозирования риска диабета. (Источник)
Стекинг#
Стекинг, также называемый многоуровневым обобщением, идет еще дальше: прогнозы нескольких моделей используются как входные данные для итоговой модели, называемой метаалгоритмом. Представь группу экспертов, каждый из которых высказывает свое мнение, а затем лицо, принимающее итоговое решение, учится взвешивать эти мнения, чтобы сделать наилучший выбор.
Например, одна модель может отлично выявлять мошенничество, а другая — лучше предсказывать отток клиентов. Метаалгоритм анализирует результаты каждой модели и объединяет их сильные стороны, чтобы получить более точный итоговый прогноз.
Блендинг#
Блендинг похож на стекинг: он также объединяет прогнозы нескольких моделей для принятия итогового решения, но работает проще и быстрее. В отличие от стекинга, где используется кросс-валидация — метод, при котором данные делят на несколько частей и поочерёдно используют их для обучения и тестирования, чтобы повысить надёжность модели, — блендинг откладывает небольшую часть данных, называемую отложенной выборкой.
Базовые модели обучаются на оставшихся данных, а затем делают предсказания на отложенной выборке, которую ещё не видели. В результате получается два важных набора данных: фактические ответы, или истинные метки, и предсказания каждой базовой модели.
Затем эти предсказания передаются другой модели, которую называют моделью блендинга или метамоделью. Эта итоговая модель анализирует точность предсказаний каждой базовой модели и учится оптимально их объединять.
Поскольку блендинг использует только одно разбиение на обучающую и тестовую выборки, а не повторяет этот процесс несколько раз, он работает быстрее и проще в настройке. Компромисс в том, что для обучения доступно немного меньше информации, поэтому результат может быть чуть менее точным.
Оценка ансамблевых алгоритмов#
Важная часть ансамблевого обучения — оценка качества работы модели на данных, которых она раньше не видела. Каким бы продвинутым ни был метод, его необходимо протестировать и убедиться, что он способен обобщать результаты, то есть точно предсказывать исходы для новых примеров из реального мира, а не просто запоминать обучающие данные.
Вот несколько распространённых метрик для оценки производительности моделей ИИ:
- Точность: эта метрика показывает долю правильных предсказаний от общего числа предсказаний модели. Она даёт общее представление о качестве работы модели.
- Прецизионность: показывает, сколько объектов, предсказанных как положительные, действительно являются положительными. Высокая прецизионность означает, что модель редко допускает ошибки ложноположительного срабатывания.
- Полнота: эта метрика показывает, сколько из фактически положительных случаев модель правильно определила. Она особенно важна в таких сферах, как здравоохранение, где пропуск положительного случая — например, диагноза заболевания — может иметь серьёзные последствия.
Практическое применение ансамблевого обучения#
До этого мы разобрали, как работает ансамблевое обучение и какие методы лежат в его основе. Теперь посмотрим, где этот подход уже приносит пользу.
Вот несколько основных областей, где широко применяется ансамблевое обучение:
- Анализ данных и прогнозирование: в бизнесе и аналитике ансамблевые модели помогают компаниям точнее прогнозировать результаты, объединяя данные нескольких моделей. Это позволяет точнее прогнозировать продажи, эффективнее планировать спрос и лучше понимать поведение клиентов.
- Бинарная классификация: такие задачи, как обнаружение спама, предотвращение мошенничества и медицинская диагностика, часто требуют выбрать один из двух возможных исходов. Ансамблевые модели помогают сократить число ложноположительных и ложноотрицательных результатов, что особенно важно в таких областях, как кибербезопасность и здравоохранение.
- Задачи регрессии: при прогнозировании непрерывных значений, таких как цены на жильё, выручка от продаж или кредитный риск, ансамблевые методы выявляют сложные зависимости в данных. В результате получаются более точные прогнозы, которые помогают принимать более обоснованные финансовые и операционные решения.
Выход за рамки структурированных данных с помощью ансамблевого обучения#
Хотя ансамблевое обучение чаще всего используют для структурированных, или табличных, данных, например таблиц с числовой или категориальной информацией, его также можно применять к неструктурированным данным, таким как текст, изображения, аудио и видео.
Эти типы данных сложнее, и моделям труднее их интерпретировать, но ансамблевые методы помогают повысить точность и надёжность. Например, в компьютерном зрении ансамбли могут улучшить такие задачи, как классификация изображений и обнаружение объектов.
Объединяя предсказания нескольких моделей компьютерного зрения, например свёрточных нейронных сетей (CNNs), система может точнее распознавать объекты и справляться с изменениями освещения, ракурса или фона, которые могут сбить с толку отдельную модель.
Ансамблирование моделей Ultralytics YOLOv5#
Интересный пример применения ансамблевого обучения в компьютерном зрении — объединение инженером нескольких моделей обнаружения объектов для повышения точности. Представь инженера, который разрабатывает систему мониторинга безопасности на стройплощадке, где постоянно меняются освещение, ракурсы и размеры объектов.
Одна модель может не заметить рабочего в тени или принять движущуюся технику за другой объект. Ансамбль моделей с разными сильными сторонами делает систему надёжнее и снижает вероятность таких ошибок.
В частности, такие модели, как Ultralytics YOLOv5, отлично подходят для ансамблирования. Инженеры могут объединить разные варианты YOLOv5, например YOLOv5x и YOLOv5l6, чтобы вместе получать предсказания. Каждая модель анализирует одно и то же изображение и выдаёт собственные детекции, которые затем усредняются для получения более качественного и точного итогового результата.

Рис. 4. Обнаружение объектов на изображении с помощью YOLOv5. (Источник)
Плюсы и минусы ансамблевого обучения#
Вот несколько основных преимуществ ансамблевого обучения:
- Устойчивость к зашумлённым данным: ансамбли меньше подвержены влиянию выбросов и случайного шума в наборе данных, поскольку опираются на несколько моделей.
- Лучшее обобщение: ансамбли снижают переобучение и помогают моделям хорошо работать на новых данных, а не просто запоминать обучающие примеры.
- Гибкость при выборе алгоритмов: можно объединять разные типы моделей, например деревья решений, нейронные сети и линейные модели, чтобы использовать сильные стороны каждой из них.
Ансамблевое обучение даёт множество преимуществ, но у него есть и свои сложности. Вот несколько факторов, которые стоит учитывать:
- Более высокие вычислительные затраты: для обучения и поддержки нескольких моделей требуется больше памяти, вычислительных ресурсов и времени, чем для одной модели.
- Снижение интерпретируемости: поскольку итоговый результат формируется путём объединения нескольких моделей, бывает сложно понять, почему было принято то или иное решение. Однако это зависит от используемых моделей: если выбрать интерпретируемые модели, например деревья решений или машины опорных векторов, понять результаты обычно проще.
- Особенности проектирования ансамбля: при создании ансамбля нужно выбрать подходящее сочетание моделей и убедиться, что они хорошо работают вместе. Однако в некоторых случаях это может упростить задачу, поскольку не нужно настраивать гиперпараметры каждой модели по отдельности.
Главные выводы#
Ансамблевое обучение показывает, как объединение нескольких моделей может повысить точность и надёжность систем ИИ. Оно помогает сокращать число ошибок и улучшать результаты в самых разных задачах. По мере развития машинного обучения и ИИ такие методы способствуют более широкому внедрению практичных высокопроизводительных решений на базе ИИ.
Присоединяйся к нашему растущему сообществу и загляни в наш репозиторий на GitHub, чтобы узнать больше о Vision AI. Посети страницы с нашими решениями и узнай о применении компьютерного зрения в сельском хозяйстве и ИИ в логистике. Ознакомься с нашими вариантами лицензирования и уже сегодня создай собственную модель компьютерного зрения!
Автор
Комментарии
Задай вопрос, поделись результатами или помоги кому-нибудь.










