из разнородных моделей, поверх которых обучается мета-модель. Стандартный приём соревнований и способ выжать последние проценты.
Ключевые тезисы
- Предсказания базовых моделей должны быть out-of-fold, иначе мета-модель обучится на утечке.
- Разнообразие важнее силы: слабые, но непохожие модели дают больший прирост.
- В проде стоимость эксплуатации обычно перевешивает 0.5% метрики.
Какую задачу решает
Разные модели ошибаются по-разному: линейная промахивается на нелинейных участках, дерево — на гладких, — там, где мало соседей. использует это: поверх предсказаний нескольких базовых моделей обучается ещё одна — метамодель, — которая учится, кому и когда доверять.
От простого усреднения отличается тем, что веса не задаются, а выучиваются, причём они могут зависеть от объекта. Ключевое условие корректности — метамодель должна обучаться на внефолдовых предсказаниях: если базовые модели видели те же строки, их предсказания на них слишком хороши, и метамодель выучит неправду.
Неправильно: обучили базовые модели на всей обучающей выборке, получили их предсказания на ней же и на этих предсказаниях обучили метамодель. Базовые модели на своих обучающих строках предсказывают почти идеально, метамодель видит «все всегда правы» и выучивает бессмысленные веса — на новых данных оказывается хуже лучшей одиночной модели. Правильно: разбить на 5 фолдов, для каждого получить предсказания моделью, обученной на остальных четырёх, и собрать метамодель на этих out-of-fold предсказаниях. Разница между двумя схемами — не нюанс, а работает или нет.
Подробный разбор
- Разбить train на K фолдов.
- Для каждой базовой модели получить предсказания на фолде, обучившись на остальных.
- Собрать out-of-fold предсказаний — это мета-модели.
- Обучить простую мета-модель (обычно логистическую или гребневую регрессию).
- Базовые модели переобучить на всём train для .
Если подать мета-модели предсказания, полученные на тех же данных, на которых базовая модель обучалась, вы обучите её на утечке — и она развалится в проде.
из семи моделей даёт 0.3–0.8% метрики и превращает сервис в конструкцию, которую невозможно ни отладить, ни быстро откатить. В соревнованиях это оправдано, в проде — почти никогда.
- Разумный компромисс: усреднение 2–3 моделей одного семейства с разными сидами.
- Если всё же нужен, зафиксируйте версии всех базовых моделей как единый артефакт.
Где применяется
- СоревнованияСтандартный способ выжать последние доли процента метрики.
- Объединение разнородных источниковМодель на табличных плюс модель на тексте плюс модель на изображении — метамодель сводит их вместе.
- Задачи высокой цены ошибкиТам, где 0.5% метрики стоят дорого, а сложность прода приемлема.
- Использование готовых моделейЕсть несколько унаследованных моделей — позволяет объединить их, не переписывая.
Плюсы, минусы и альтернативы
Плюсы
- Обычно точнее любой из базовых моделей.
- Автоматически определяет, какой модели доверять на каком типе объектов.
- Позволяет объединить принципиально разные модальности и модели.
- Метамодель обучается быстро — основная стоимость уже в базовых.
Минусы
- Прирост обычно скромный: 0.5–2% метрики за кратное усложнение.
- Прод усложняется: несколько моделей, версии, зависимости, суммируются.
- Легко получить утечку при неверной схеме .
- Интерпретируемость теряется полностью.
- Обучение и отладка занимают заметно больше времени.
Брать, если
- Уже выжато всё из отдельных моделей и .
- Доли процента метрики имеют реальную цену.
- Есть разнородные источники данных, которые нужно объединить.
Не брать, если
- Одна модель ещё не настроена — сначала настройте её, выигрыш будет больше.
- Жёсткие ограничения по задержке или простоте эксплуатации.
- Нужна объяснимость решения.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Ансамблирование
Random Forest85%
Случайный лес · Классическое машинное обучениеБэггинг деревьев со случайными подвыборками объектов и признаков: усреднение резко снижает дисперсию.
Gradient Boosting85%
Градиентный бустинг · Классическое машинное обучениеПоследовательное построение деревьев, каждое из которых исправляет ошибки предыдущего ансамбля.
Variance85%
Дисперсия · Математический справочникМера разброса значений вокруг среднего.
Cross-validation85%
Кросс-валидация · Оценка моделейМногократное разбиение выборки, дающее оценку качества вместе с её разбросом.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Базовые модели
Первый уровень. Чем разнообразнее по природе ошибок, тем больше выигрыш .
Разбор ниже: Как правильно собрать стекингМетамодель
Второй уровень: учится по предсказаниям базовых. Обычно простая — линейная или неглубокий .
Разбор ниже: Как правильно собрать стекингOut-of-fold предсказания
Предсказания на тех фолдах, которые модель не видела при обучении. Без них ломается утечкой.
Разбор ниже: Стоит ли это в продеРазнообразие ансамбля
Ценность даёт не сила базовых моделей, а некоррелированность их ошибок.
Разбор ниже: Стоит ли это в продеБлендинг
Упрощённый вариант: метамодель обучается на одной отложенной выборке вместо .
Разбор ниже: Стоит ли это в продеТема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.
Глава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.