Бустинг
Алгоритм бустинга (boosting [1]) строит прогноз в виде ансамбля (композиции) базовых моделей:
Агрегирующая модель, на базе которой строится итоговый прогноз, представляет собой линейную комбинацию базовых моделей с настраиваемыми весами:
Все базовые модели, кроме начального приближения , берутся из одного семейства.
Как правило, начальное приближение выбирается тождественным нулём или настраиваемой константой, а остальные модели - решающими деревьями небольшой глубины.
Типы решаемых задач
Смысл меняется в зависимости от решаемой задачи:
-
для регрессии предсказывает регрессионный прогноз:
-
для бинарной классификации представляет собой рейтинг положительного класса по сравнению с отрицательным. Итоговый прогноз с троится как функция взятия знака (+1 для положительных и -1 для отрицательных аргументов):
-
в многоклассовой классификации на классов представляет собой вектор рейтингов для каждого класса, а прогноз строится по принципу назначения класса, обладающего максимальным рейтингом:
Принцип построения ансамбля
Базовые модели, кроме начального приближения , выбираются из одного класса, но неравнозначны между собой, поскольку настраиваются последовательно одна за другой:
-
настраивается приближать целевую величину ;
-
учится исправлять ошибки ;
-
учится исправлять ошибки ;
-
-
учится исправлять ошибки .
Более формально, решаются следующие задачи:
-
Настраиваем начальное приближение
-
Для :
находим коррекцию:
обновляем ансамбль:
-
Возвращаем .
Описанная процедура также известна как forward stagewise additive modeling [2].
На шаге 2 часто коэффициент не настраивается, а берётся малой константой, называемой шаг обучения (learning rate).
Особенности реализации
Для эффективности применения ансамбля усреднение должно происходить по многим базовым моделям, поэтому в бустинге их число измеряется сотнями и даже тысячами.
Для того, чтобы строить ансамбль из большого числа моделей, базовые модели не должны быть слишком точными, чтобы оставлять пространство для дальнейших уточнений последующими уточняющими моделями. Для этого, в частности, используются следующие принципы:
-
Начальное приближение полагается тождественному нулю либо находится как наилучший константный прогноз .
-
Последующие базовые модели берутся простыми и неточными. Чаще всего это решающие деревья небольшой глубины (~1-5) или с ограничением на максимальное число листьев (~2-32).
Какую модель получим, если будем строить бустинг над линейными моделями?
Комбинируя с весами линейные модели, мы снова получим линейную модель! Поэтому бустинг над линейными моделями не используется. Хотя можно взять линейную модель в качестве начального приближения, а последующие базовые модели брать уже из другого семейства.
-
На каждой итерации настраивать модель и коэффициент при ней можно неточно. Часто просто берут малой константой, так как настройка уже настраивает общий масштаб изменения.