Стэкинг
Алгоритм стэкинга (stacking) решает задачу настройки ансамбля моделей
для общей ситуации, когда агрегирующая функция имеет свои собственные настраиваемые параметры.
Агрегирующей функции, помимо прогнозов базовых моделей, можно передавать и исходный вектор признаков . В результате получим такую функцию предсказания:
В этом случае агрегирующая модель получит возможность по-разному использовать прогнозы базовых моделей в разных частях признакового пространства.
Базовые модели в стэкинге можно настраивать неточно, поскольку агрегирующая функция будет подправлять итоговый прогноз, учитывая ответы других моделей.
Линейный стэкинг
Простейшим примером в ыступает линейная комбинация базовых моделей с настраиваемыми весами .
Смещение включают, если агрегируются недообученные модели с систематическими смещениями. Если в базовых алгоритмах присутствуют переобученные модели, то они будут давать несмещенные прогнозы, и смещение можно не включать.
Настройка весов производится методом линейной регрессии, в которой признаками выступают не исходные признаковые описания объектов, а прогнозы объектов базовыми моделями.
При настройке базовых моделей и агрегирующей нельзя использовать одну и ту же обучающую выборку, иначе будет происходить переобучение!
Пусть среди базовых моделей присутствует алгоритм одного ближайшего соседа. Очевидно, на обучающей выборке он будет обеспечивать 100% точность, поскольку ближайшим соседом для прогнозируемых объектов обучающей выборки будут выступать они сами. Тогда, при обучении параметров базовой модели на той же обучающей выборке, всё внимание агрегирующей модели будет направлено на самую переобученную модель! Правильная настройка стэкинга будет рассмотрена ниже.
Специальные виды регуляризации
Веса будут будут находиться неустойчиво из-за сильной корреляции признаков, которыми выступают прогнозы одной и той же целевой величины разными базовыми моделями. Чтобы повысить устойчивость оценки весов и качество всего ансамбля, необходимо использовать регуляризацию на веса. Это может быть стандартная или регуляризация, но в контексте решаемой задачи целесообразно использование специального регуляризатора:
который будет прижимать веса не к нулевым значениям, а к равномерному усреднению базовых моделей, что представляет собой базовый вариант построения ансамбля.
Дополнительно можно настраивать веса при условии их неотрицательности:
поскольку прогнозы базовых моделей должны получаться положительно связанными с прогнозируемыми откликами .
Стэкинг общего вида
В качестве агрегирующей модели может выступать не только линейная регрессия, но вообще любая модель - логистическая регрессия, решающее дерево или даже другой ансамбль, например, решающий лес. Теоретически можно рассмотреть даже стэкинг над стэкингом, хотя это редко используется в связи со сложной процедурой настройки.
Настройка стэкинга
Если настраивать базовые модели и агрегирующую на одной и той же обучающей выборке, то будет происходить переобучение, вызванное тем, что базовые модели настраиваются на известные отклики, а агрегирующая повторно использует те же самые отклики. Чтобы так не происходило, можно использовать две стратегии: блендинг и стэкинг с кросс-валидацией.