Спринт 16/24 → Тема 5/8: Градиентный бустинг → Урок 1/6
Введение
Разберём модель градиентного бустинга.
Чему вы научитесь
- Познакомитесь с градиентным бустингом.
- Узнаете, как снизить переобучение градиентного бустинга.
- Изучите библиотеку CatBoost.
Спринт 16/24 → Тема 5/8: Градиентный бустинг → Урок 2/6
Кратко:
- Ансамбль - набор моделей для решения одной задачи, которые вместе ошибаются в среднем меньше, чем по отдельности.
- Бустинг - один из подходов к построению ансамблей, где каждая последующая модель учитывает ошибки предыдущей.
- Итоговая модель - комбинация базовых моделей, где a_N(x) - предсказание ансамбля, N - количество базовых моделей, b_k(x) - предсказание базовой модели, γ_k - вес модели.
- Задача бустинга - минимизировать функцию потерь MSE.
- Пример бустинга: создание ансамбля последовательных моделей для задачи регрессии.
- На каждом шаге алгоритм минимизирует ошибку ансамбля на предыдущем шаге.
- Обобщенные формулы для вычисления остатка и ансамбля на каждом шаге.
Спринт 16/24 → Тема 5/8: Градиентный бустинг → Урок 3/6
Кратко:
- Градиентный бустинг объединяет бустинг и градиентный спуск для минимизации функции потерь.
- Базовая модель в бустинге стремится "сдвинуть" предсказания в сторону правильных ответов.
- Градиентный спуск помогает эффективнее минимизировать функцию потерь.
- Функция потерь может быть любой, с производной, например, среднеквадратичная или логарифмическая.
- На каждом шаге вычисляется антиградиент функции потерь по предсказанию gN.
- Базовая модель учится предсказывать gN, а коэффициент при базовой модели настраивает ансамбль.
- Градиентный бустинг подходит для разных функций потерь с производными, таких как среднеквадратичная и логарифмическая.
Спринт 16/24 → Тема 5/8: Градиентный бустинг → Урок 4/6
Кратко:
- Регуляризация градиентного бустинга уменьшает переобучение.
- Уменьшение размера шага - один из способов регуляризации.
- Настройка параметров деревьев также может быть использована для регуляризации.
- Рандомизация подвыборок у базовых моделей bᵢ - еще один способ регуляризации.
- Выбор коэффициента η, отвечающего за скорость обучения, влияет на размер шага.
- Ограничение глубины дерева или числа объектов в каждом узле также может быть использовано для регуляризации.
- Работа с подвыборками уменьшает переобучение и напоминает SGD.
Спринт 16/24 → Тема 5/8: Градиентный бустинг → Урок 5/6
Кратко:
- XGBoost, LightGBM и CatBoost - популярные библиотеки градиентного бустинга.
- XGBoost - открытое программное обеспечение, вышло в 2014 году.
- LightGBM - разработка компании Microsoft, обучает градиентный бустинг быстро и точно.
- CatBoost - разработка Яндекса, превосходит другие алгоритмы по метрикам качества.
- CatBoost работает с категориальными признаками без кодирования.
- Сравнение библиотек по работе с категориальными признаками, скорости и другим характеристикам.
- Пример использования CatBoost для задачи о страховых выплатах.
- CatBoostClassifier - импорт из библиотеки CatBoost.
- Модель CatBoostClassifier создается с логистической функцией потерь и итерациями.
- Передаются категориальные признаки модели.
- Модель обучается методом fit() и предсказание вычисляется методом predict().
- Параметры, влияющие на результат обучения: глубина дерева, скорость обучения и количество деревьев в ансамбле.
Спринт 16/24 → Тема 5/8: Градиентный бустинг → Урок 6/6
Заключение
Теперь вы умеете:
- Градиентным бустингом минимизировать функцию потерь;
- Уменьшать переобучение градиентного бустинга;
- Работать с библиотекой CatBoost.
Заберите с собой
Чтобы ничего не забыть, скачайте шпаргалку и конспект темы.
В следующей теме вас ждёт самостоятельный проект.