Открыть сервис

Ансамблевые методы

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

История

Концепция объединения нескольких решений для повышения точности восходит к середине XX века. В 1960-х годах были предложены первые методы коллективного принятия решений, такие как «бэггинг» (bagging) и «бустинг» (boosting). Однако широкое распространение ансамблевые методы получили в 1990-х годах, когда были разработаны алгоритмы Random Forest (Л. Брейман, 2001) и AdaBoost (Й. Фройнд и Р. Шапир, 1995). В России и странах бывшего СССР активные исследования в этой области велись, в частности, в Вычислительном центре РАН (ныне — Федеральный исследовательский центр «Информатика и управление» РАН) и на кафедрах вычислительной математики и кибернетики МГУ имени М. В. Ломоносова. К началу XXI века ансамблевые методы стали стандартным инструментом в задачах анализа данных, а в 2010-х годах — неотъемлемой частью библиотек машинного обучения, таких как scikit-learn, XGBoost, LightGBM и CatBoost.

Классификация ансамблевых методов

Ансамблевые методы делятся на несколько основных категорий в зависимости от способа построения базовых моделей и правил их комбинирования.

По способу обучения базовых моделей

  • Бэггинг (Bootstrap Aggregating) — базовые модели обучаются независимо на различных подвыборках исходных данных, полученных с помощью бутстрэпа (случайной выборки с возвращением). Итоговый прогноз получается усреднением (для регрессии) или голосованием (для классификации). Примеры: Random Forest, бэггинг-деревья решений.
  • Бустинг (Boosting) — базовые модели обучаются последовательно, каждая следующая модель корректирует ошибки предыдущей. Итоговый прогноз — взвешенная сумма прогнозов всех моделей. Примеры: AdaBoost, Gradient Boosting, XGBoost, LightGBM, CatBoost.
  • Стекинг (Stacking) — базовые модели (уровень 0) обучаются на исходных данных, а их прогнозы используются как входные признаки для мета-модели (уровень 1), которая делает окончательный прогноз. Мета-модель может быть любой (например, логистическая регрессия или нейронная сеть).

По типу базовых моделей

  • Гомогенные ансамбли — все базовые модели относятся к одному типу (например, только деревья решений или только нейронные сети).
  • Гетерогенные ансамбли — базовые модели относятся к разным типам (например, деревья решений, метод опорных векторов, логистическая регрессия).

По способу комбинирования

  • Усреднение — для регрессии: среднее арифметическое прогнозов; для классификации: среднее вероятностей классов.
  • Голосование — для классификации: простое (каждая модель даёт один голос) или взвешенное (голоса учитываются с весами, пропорциональными точности модели).
  • Стекинг — комбинирование с помощью мета-модели.

Основные алгоритмы и их характеристики

Random Forest

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

AdaBoost

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

Gradient Boosting

Gradient Boosting — обобщение бустинга, в котором каждая новая модель минимизирует градиент функции потерь по отношению к текущему прогнозу. Алгоритм последовательно добавляет модели, каждая из которых корректирует ошибки предыдущих. Наиболее известные реализации: XGBoost (eXtreme Gradient Boosting), LightGBM (Light Gradient Boosting Machine) и CatBoost (Categorical Boosting). Эти алгоритмы отличаются скоростью обучения, поддержкой категориальных признаков и эффективностью работы с большими данными.

  • XGBoost — использует регуляризацию, параллельную обработку и оптимизацию градиента. Часто применяется в соревнованиях по машинному обучению (например, Kaggle).
  • LightGBM — основан на гистограммном подходе, что ускоряет обучение за счёт дискретизации признаков. Поддерживает работу с категориальными данными.
  • CatBoost — разработан компанией «Яндекс» (организация, зарегистрированная в РФ). Особенность — встроенная обработка категориальных признаков с помощью симметричных деревьев и Ordered Boosting, что снижает смещение.

Стекинг

Стекинг предполагает двухуровневую архитектуру. На первом уровне обучается несколько базовых моделей (например, Random Forest, SVM, логистическая регрессия). На втором уровне мета-модель (например, линейная регрессия или нейронная сеть) обучается на прогнозах базовых моделей. Стекинг позволяет объединять сильные стороны разных алгоритмов, но требует тщательного подбора базовых моделей и мета-модели, а также может быть склонен к переобучению при малом объёме данных.

Применение

Ансамблевые методы используются в широком спектре задач:

  • Финансовый секторкредитный скоринг, обнаружение мошеннических транзакций, прогнозирование цен на акции.
  • Медицина — диагностика заболеваний (например, рака по медицинским изображениям), прогнозирование исходов лечения.
  • Промышленностьконтроль качества продукции, прогнозирование отказов оборудования.
  • Интернет-сервисы — рекомендательные системы (например, в онлайн-кинотеатрах и маркетплейсах), ранжирование поисковых результатов.
  • Научные исследованияклассификация астрономических объектов, анализ геномных данных.

В России ансамблевые методы активно применяются в банковском секторе (Сбербанк, ВТБ), в компаниях «Яндекс» (организация, зарегистрированная в РФ) и «Тинькофф» (организация, зарегистрированная в РФ), а также в научных институтах РАН.

Преимущества и недостатки

Преимущества

  • Повышение точностиансамбль, как правило, превосходит любую отдельную модель, особенно если базовые модели «слабые» или разнородные.
  • Устойчивость к переобучению — особенно у бэггинга и Random Forest.
  • Снижение дисперсии — усреднение прогнозов уменьшает разброс ошибок.
  • Возможность работы с большими данными — многие алгоритмы (например, XGBoost, LightGBM) оптимизированы для параллельных вычислений.

Недостатки

  • Вычислительная сложность — обучение и предсказание требуют больше ресурсов по сравнению с одной моделью.
  • Сложность интерпретации — ансамбль из сотен моделей трудно объяснить, что ограничивает применение в областях, требующих прозрачности (например, в медицине или юриспруденции).
  • Чувствительность к шуму — бустинг может усиливать влияние выбросов.
  • Риск переобучения — при неправильной настройке (например, слишком большое количество деревьев или слишком сложная мета-модель в стекинге).

Интересные факты

  • Алгоритм Random Forest был разработан Лео Брейманом на основе идей, высказанных ранее Тин Кам Хо (Tin Kam Ho) в 1995 году.
  • XGBoost стал победителем многих соревнований на платформе Kaggle, включая задачи по прогнозированию спроса и классификации текстов.
  • CatBoost, разработанный в «Яндексе» (организация, зарегистрированная в РФ), был впервые представлен в 2017 году и с тех пор используется в рекомендательных системах и поисковых алгоритмах компании.
  • В 2020 году ансамблевые методы были применены для прогнозирования распространения COVID-19 в ряде стран, включая Россию.

Критика

Основная критика ансамблевых методов связана с их «чёрным ящиком» — сложностью интерпретации. В регуляторных сферах (например, в банковском кредитовании по стандартам Базель III) требуется объяснение каждого решения, что затрудняет использование ансамблей без дополнительных методов интерпретации (например, SHAP или LIME). Также отмечается, что ансамблевые методы могут быть неэффективны на очень малых наборах данных, где риск переобучения возрастает.

Источники

  • Breiman L. Random Forests // Machine Learning. — 2001. — Vol. 45, No. 1. — P. 5–32.
  • Freund Y., Schapire R. E. A decision-theoretic generalization of on-line learning and an application to boosting // Journal of Computer and System Sciences. — 1997. — Vol. 55, No. 1. — P. 119–139.
  • Chen T., Guestrin C. XGBoost: A scalable tree boosting system // Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. — 2016. — P. 785–794.
  • Ke G. et al. LightGBM: A highly efficient gradient boosting decision tree // Advances in Neural Information Processing Systems. — 2017. — Vol. 30. — P. 3146–3154.
  • Prokhorenkova L. et al. CatBoost: unbiased boosting with categorical features // Advances in Neural Information Processing Systems. — 2018. — Vol. 31. — P. 6638–6648.
  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. — 2nd ed. — Springer, 2009. — Chapter 16: Ensemble Methods.
  • Воронцов К. В. Машинное обучение. — М.: МГУ, 2020. — Лекции по ансамблевым методам.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →