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

Материал из MachineLearning.

Перейти к: навигация, поиск
Статья написана с использованием LLM ChatGPT и проверена участником Aliia Latipova 16:00, 17 июля 2026 (MSD). Промпт приводится полностью в Обсуждение:Ансамбли (машинное обучение).


Содержание

Определение и интуитивные основания

Ансамблевый метод (ансамбль моделей) — подход в машинном обучении, при котором строится множество базовых (слабых) прогностических моделей, а итоговое предсказание формируется путём агрегирования их выходов. Для задачи регрессии агрегированием чаще всего служит взвешенное или простое среднее; для классификации — голосование (мажоритарное или взвешенное). Формально, пусть \mathcal{D} = \{(x_i, y_i)\}_{i=1}^N — обучающая выборка, f_1, f_2, \dots, f_K — базовые алгоритмы. Тогда предсказание ансамбля имеет вид

\bar{f}(x) = \sum_{k=1}^K w_k f_k(x), \quad \sum w_k = 1, \ w_k \geq 0

для регрессии, или

\bar{f}(x) = \arg\max_{y \in \mathcal{Y}} \sum_{k=1}^K w_k \mathbb{I}[f_k(x) = y]

для классификации. Ансамбли обладают двумя ключевыми интуитивными обоснованиями.

  • Статистическая интуиция: каждая модель обучается по конечной выборке и является случайной оценкой истинной зависимости. Усреднение нескольких независимых (или слабо коррелированных) оценок, согласно закону больших чисел, уменьшает дисперсию оценки без увеличения смещения. Если модели имеют одинаковое смещение B и независимые ошибки с дисперсией \sigma^2, то дисперсия ансамблевого предсказания равна \sigma^2 / K.
  • Геометрическая интуиция: в пространстве функций каждая модель соответствует точке; ансамбль выбирает точку, лежащую внутри выпуклой оболочки базовых моделей. Это позволяет выходить за рамки гипотез, реализуемых одним алгоритмом, и конструировать более гибкие разделяющие поверхности.

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

Теоретические основы

Разложение смещения и разброса

Для квадратичной функции потерь ожидаемая ошибка модели f в точке x раскладывается в сумму смещения, разброса и неустранимого шума[1]:

\mathbb{E}_{\mathcal{D}}[(y - f(x;\mathcal{D}))^2] = (\mathbb{E}[f] - y)^2 + \operatorname{Var}(f) + \sigma^2_{\text{noise}}.

Ансамбль из K одинаково распределённых моделей с попарной корреляцией \rho имеет дисперсию[1]:

\operatorname{Var}(\bar{f}) = \rho \sigma^2 + \frac{1-\rho}{K}\sigma^2,

где \sigma^2 = \operatorname{Var}(f_k). Отсюда видно, что при \rho < 1 дисперсия ансамбля строго меньше дисперсии одного базового алгоритма. Методы бэггинга направлены именно на уменьшение разброса при почти неизменном смещении. Бустинг, напротив, последовательно уменьшает смещение, объединяя слабые модели с высоким смещением.

Диверсификация и корреляция ошибок

Количественной мерой разнообразия служат Q-статистика Йола или коэффициент \kappa Коэна для пар классификаторов[1]. Экспериментально установлено, что ансамбли показывают наибольший выигрыш, когда базовые модели ошибаются на разных подмножествах данных. Приближение к нулю корреляции достигается за счёт введения случайности в обучение (бутстреп, случайные подпространства признаков).

Связь с предельными теоремами

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

Основные семейства методов

Бэггинг (Bagging)

Бэггинг (bootstrap aggregating), предложенный Л. Брейманом[1], заключается в параллельном обучении K моделей на бутстреп-выборках, полученных из исходной выборки \mathcal{D} выбором с возвращением. Предсказания агрегируются равновесным усреднением (регрессия) или голосованием (классификация). Бэггинг наиболее эффективен для нестабильных алгоритмов (глубокие деревья решений), где малые изменения данных приводят к значительным изменениям модели. Метод не уменьшает смещение, но значительно снижает дисперсию. Обобщающая способность улучшается всегда, когда базовый алгоритм чувствителен к вариациям выборки[1].

Бустинг (Boosting)

Бустинг строит ансамбль последовательно: каждая следующая модель фокусируется на примерах, которые были плохо предсказаны предыдущими. Впервые практически реализован в алгоритме AdaBoost[1], который перевзвешивает обучающие объекты. Аддитивная модель имеет вид

F_m(x) = F_{m-1}(x) + \alpha_m h_m(x),

где h_m — слабый классификатор, \alpha_m — его вес. В современной трактовке бустинг решает задачу минимизации эмпирического риска путём градиентного спуска в функциональном пространстве — градиентный бустинг[1]. Каждая новая модель аппроксимирует антиградиент функции потерь по текущему ансамблю.

Стекинг (Stacking)

Стекинг (stacked generalization) обучает мета-модель на выходах базовых алгоритмов[1]. Чтобы избежать смещённой оценки, базовые предсказания получают с помощью кросс-валидации: данные разбиваются на фолды, на каждом фолде модель обучается на остальных и предсказывает выбранный фолд. Собранный набор мета-признаков используется для обучения мета-алгоритма (часто логистическая регрессия или линейная регрессия с неотрицательными весами). Итоговый ансамбль:

\bar{f}(x) = g(f_1(x), \dots, f_K(x)),

где g — мета-модель. Веса мета-алгоритма интерпретируются как относительная важность базовых моделей.

Свойства и теоремы

  • Теорема о сильном обучении (Schapire, 1990): если существует эффективный алгоритм, порождающий слабые гипотезы (ошибка менее 1/2 для бинарной классификации), то с помощью бустинга можно построить сильную гипотезу со сколь угодно малой ошибкой на обучающей выборке[1].
  • Сходимость AdaBoost: в бинарной классификации с экспоненциальной функцией потерь обучающая ошибка ограничена сверху величиной \exp(-2\sum_{m=1}^M \gamma_m^2), где \gamma_m — отрыв слабого классификатора от случайного угадывания[1]. При достаточной ёмкости базовых моделей обучение сходится к нулю.
  • Граница обобщения случайного леса (Breiman, 2001): ошибка обобщения с ростом числа деревьев почти наверное сходится к величине \rho \cdot \mathbb{P}_{X,Y}( \text{margin}(X,Y) < 0 ), где \rho — корреляция между деревьями[1]. Увеличение числа деревьев не приводит к переобучению.
  • Условие улучшения для бэггинга: если базовый алгоритм нестабилен в смысле бутстреп-возмущений, то среднеквадратичная ошибка ансамбля не превышает ошибку одного алгоритма. Для стабильных методов (например, линейной регрессии) бэггинг не даёт выигрыша[1].
  • Консистентность случайного леса: при определённых ограничениях на структуру деревьев и распределение данных случайный лес состоятелен в смысле сходимости к байесовскому классификатору при стремлении объёма выборки к бесконечности[1].

Роль случайности, регуляризации и кросс-валидации

  • Случайность — основной источник диверсификации. В случайном лесе случайными являются как бутстреп-выборки объектов, так и подмножества признаков в каждом узле дерева. В стохастическом градиентном бустинге применяется подвыборка строк (subsampling) и признаков.
  • Регуляризация предотвращает переобучение. В бустинге ключевыми регуляризаторами служат: темп обучения \eta (shrinkage), максимальная глубина деревьев, минимальное число объектов в листе, L1/L2-регуляризация весов листьев (в XGBoost[1]), параметр max_delta_step. Бэггинг-ансамбли регуляризуются неявно за счёт усреднения, а также ограничениями на глубину базовых деревьев.
  • Кросс-валидация — обязательный этап при построении стекинга (для получения несмещённых мета-признаков) и при подборе числа моделей в бустинге (ранняя остановка). Для случайного леса внепакетная ошибка (out-of-bag) является состоятельной оценкой ошибки обобщения без необходимости отдельной валидационной выборки[1].

Частные случаи

Случайный лес (Random Forest)

Случайный лес[1] — бэггинг над решающими деревьями, в котором на каждом разбиении дополнительно случайно выбирается m \ll p признаков. Это снижает корреляцию между деревьями и улучшает обобщающую способность. Важность признаков оценивается по падению точности при пермутации или по уменьшению критерия неоднородности.

AdaBoost

Алгоритм AdaBoost[1] инициализирует равные веса объектам, на каждой итерации обучает слабый классификатор, вычисляет его взвешенную ошибку \epsilon_m и вес \alpha_m = \frac{1}{2}\ln\frac{1-\epsilon_m}{\epsilon_m}, после чего обновляет веса объектов, увеличивая их для неверно классифицированных примеров. Итоговый классификатор: F(x) = \operatorname{sign}\left(\sum_m \alpha_m h_m(x)\right).

Градиентный бустинг: XGBoost, LightGBM, CatBoost

  • XGBoost[1]: оптимизирует регуляризованную целевую функцию с использованием вторых производных (аппроксимация Тейлора), встроенная обработка пропусков, кэш-оптимизации для разреженных данных.
  • LightGBM[1]: использует листовой рост деревьев (leaf-wise), градиентную одностороннюю выборку (GOSS) и объединение взаимоисключающих признаков (EFB) для ускорения обучения.
  • CatBoost[1]: реализует упорядоченный бустинг (ordered boosting) и симметричные деревья, обеспечивая несмещённую обработку категориальных переменных с помощью статистик на перестановках.

Ансамбли линейных моделей

Бэггинг линейной регрессии не даёт выигрыша, так как МНК-оценки стабильны. Бустинг линейных моделей с L2-функцией потерь эквивалентен итеративной регуляризации и может приводить к результату, близкому к гребневой регрессии[1]. Ансамбли линейных моделей полезны в задачах с очень высокой размерностью (геномика), когда одна модель склонна к переобучению.

Ансамбли нейронных сетей

Глубокие ансамбли (deep ensembles) объединяют несколько нейросетей одинаковой архитектуры, обученных с различной инициализацией и/или на разных подмножествах данных[1]. Показано, что они дают как повышение точности, так и качественные оценки неопределённости. Другие подходы: снэпшот-ансамбли (snapshot ensembles), быстрое геометрическое усреднение (FGE) и использование MC Dropout как приближённого ансамбля.

Применения

  • Соревнования Kaggle: ансамбли (особенно градиентный бустинг, стекинг и блендинг) доминируют среди решений победителей. XGBoost и LightGBM являются стандартом де-факто для табличных данных.
  • Кредитный скоринг и риск-менеджмент: ансамбли деревьев обеспечивают высокую прогнозную силу, а встроенные меры важности признаков частично отвечают требованиям интерпретируемости.
  • Медицинская диагностика: случайный лес и бустинг применяются для прогнозирования заболеваний, анализа выживаемости. Требуются тщательная калибровка и оценка неопределённости.
  • Ранжирование в поисковых системах: алгоритм LambdaMART (модификация градиентного бустинга для попарных и списочных функций потерь) лежит в основе многих промышленных систем.
  • Компьютерное зрение: ансамбли свёрточных сетей широко использовались до появления трансформеров, оставаясь актуальными для повышения устойчивости и точности в задачах классификации и сегментации.
  • Обработка естественного языка: ансамбли трансформерных моделей (BERT, RoBERTa) путём усреднения вероятностей повышают качество на тестовых наборах.

Сравнительный анализ методов

  • Вычислительная сложность: бэггинг и случайный лес легко параллелизуются. Бустинг — последовательный, но современные реализации (LightGBM, CatBoost) включают многопоточность. Стекинг требует ресурсоёмкой кросс-валидации для подготовки мета-признаков.
  • Интерпретируемость: случайный лес предоставляет информативные оценки важности признаков, частичную зависимость. Бустинг интерпретируется сложнее, хотя SHAP-значения на деревьях работают хорошо. Стекинг практически неинтерпретируем.
  • Склонность к переобучению: случайный лес устойчив; увеличение числа деревьев не ведёт к переобучению. Бустинг может переобучаться при избытке итераций — помогает ранняя остановка. Стекинг склонен к переобучению на мета-уровне при неправильном разделении данных.
  • Несбалансированные данные: бустинг легко адаптируется взвешиванием классов; бэггинг можно комбинировать со сбалансированным бутстрепом; стекинг требует специальной настройки мета-алгоритма.
  • Пропуски в данных: XGBoost и CatBoost обрабатывают пропуски нативно; бэггинг-модели обычно требуют предварительного заполнения.

Ограничения и типичные ошибки

  • Высокая корреляция базовых моделей сводит на нет преимущества ансамбля. Необходимо обеспечивать разнообразие через случайность или использование разных семейств алгоритмов.
  • Слишком слабые базовые модели в бустинге (например, пеньки для сложной задачи) замедляют сходимость и могут привести к недообучению.
  • Переобученный стекинг возникает, когда мета-признаки и целевая переменная берутся из одного фолда без честного разделения.
  • Неподходящая функция потерь: стандартные реализации градиентного бустинга заточены под определённые потери; выбор неправильной функции (например, квадратичной для классификации) снижает качество.
  • Игнорирование предварительной настройки гиперпараметров (глубина деревьев, learning rate, число моделей) приводит либо к недообучению, либо к переобучению.

Ансамбли в AutoML и современных пайплайнах

Современные системы AutoML (Auto-Sklearn, H2O AutoML, AutoGluon) рассматривают ансамбли как один из ключевых этапов пайплайна. Производится автоматический подбор базовых моделей, их гиперпараметров и стратегии агрегирования (стекинг, взвешенное усреднение, greedy ensemble selection). В AutoGluon-Tabular многоуровневый стекинг моделей разной природы (деревья, нейросети, линейные модели) достигает качества, сопоставимого с ручной экспертной настройкой. В федеративном обучении ансамблирование локальных моделей является естественным способом построения глобального предиктора без обмена данными.

Заключение

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

Литература

  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. — 2-е изд. — New York: Springer, 2009.
  • James G., Witten D., Hastie T., Tibshirani R. An Introduction to Statistical Learning. — 2-е изд. — New York: Springer, 2021.
  • Breiman L. Bagging predictors // Machine Learning. — 1996. — Т. 24. — № 2. — С. 123–140.
  • Breiman L. Random forests // Machine Learning. — 2001. — Т. 45. — № 1. — С. 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. — Т. 55. — № 1. — С. 119–139.
  • Friedman J. H. Greedy function approximation: A gradient boosting machine // Annals of Statistics. — 2001. — Т. 29. — № 5. — С. 1189–1232.
  • Chen T., Guestrin C. XGBoost: A scalable tree boosting system // Proceedings of the 22nd ACM SIGKDD. — 2016. — С. 785–794.
  • Ke G., Meng Q., Finley T. и др. LightGBM: A highly efficient gradient boosting decision tree // Advances in Neural Information Processing Systems. — 2017. — Т. 30. — С. 3146–3154.
  • Prokhorenkova L., Gusev G., Vorobev A. и др. CatBoost: unbiased boosting with categorical features // Advances in Neural Information Processing Systems. — 2018. — Т. 31.
  • Lakshminarayanan B., Pritzel A., Blundell C. Simple and scalable predictive uncertainty estimation using deep ensembles // Advances in Neural Information Processing Systems. — 2017. — Т. 30.
  • Wolpert D. H. Stacked generalization // Neural Networks. — 1992. — Т. 5. — № 2. — С. 241–259.
  • Bühlmann P., Yu B. Boosting with the L2 loss: regression and classification // Journal of the American Statistical Association. — 2003. — Т. 98. — № 462. — С. 324–339.
  • Biau G., Scornet E. A random forest guided tour // Test. — 2016. — Т. 25. — № 2. — С. 197–227.
  • Kuncheva L. I., Whitaker C. J. Measures of diversity in classifier ensembles and their relationship with the ensemble accuracy // Machine Learning. — 2003. — Т. 51. — № 2. — С. 181–207.

Примечания