Бустинг (Boosting)
Метод ансамблевого машинного обучения, при котором последовательно строятся модели, каждая из которых стремится исправить ошибки предыдущей, в результате чего формируется сильный классификатор или регрессор.
Суть бустинга можно сравнить с работой команды наставников, обучающих новичка. Первый наставник даёт базовые знания, но допускает некоторые пробелы. Второй наставник видит ошибки первого и фокусируется на их исправлении, добавляя свои знания. Третий учитывает недочёты первых двух — и так далее. В итоге новичок получает максимально полную и точную картину, поскольку каждый последующий наставник компенсирует упущения предыдущего.
Суть бустинга можно сравнить с работой команды наставников, обучающих новичка.
Исторически бустинг возник в 1990‑х годах как ответ на вопрос: можно ли из набора слабых моделей (weak learners), каждая из которых лишь немного лучше случайного угадывания, построить одну сильную модель (strong learner)? Ключевую роль сыграли работы Роберта Шапире и Йоава Фройнда, которые в 1996 году предложили алгоритм AdaBoost (Adaptive Boosting) — один из первых и самых известных алгоритмов бустинга. Их исследование показало, что последовательное улучшение моделей действительно способно радикально повысить точность предсказаний.
Важно отличать бустинг от других ансамблевых методов:
- Бэггинг (bagging, например, Random Forest) строит модели параллельно и независимо, а затем усредняет их результаты. В бустинге модели строятся последовательно, и каждая следующая «учится» на ошибках предыдущей.
- Стекинг (stacking) использует мета-модель для комбинирования предсказаний базовых моделей, которые могут быть разнородными. В бустинге базовые модели обычно однородны (например, деревья решений), а их объединение происходит по жёстко заданному алгоритму.
Бустинг широко применяется в задачах классификации и регрессии, особенно когда требуется высокая точность предсказаний. Наиболее популярные реализации:
- AdaBoost — классический алгоритм, часто использующийся с деревьями решений малой глубины («пнями»).
- Gradient Boosting (GBM) — обобщение бустинга, где каждая новая модель подгоняется под градиент функции потерь предыдущей итерации.
- XGBoost (Extreme Gradient Boosting) — оптимизированная реализация градиентного бустинга с дополнительными улучшениями (регуляризация, параллельные вычисления).
- LightGBM (от Microsoft) — ещё одна высокопроизводительная реализация, использующая техники «лёгкого» построения деревьев.
- CatBoost (от Яндекса) — алгоритм, специально оптимизированный для работы с категориальными признаками.
Эти алгоритмы активно используются в соревнованиях по машинному обучению (например, на Kaggle), в рекомендательных системах, кредитном скоринге, прогнозировании оттока клиентов и других прикладных задачах.
