ММООЗЗГГ.ru

Словарь ИИ

Что такое градиентный бустинг

Коротко

Градиентный бустинг это метод машинного обучения, который строит много небольших деревьев решений одно за другим, и каждое новое дерево исправляет ошибки уже построенных.

Машинное обучение · gradient boosting

Михаил МозгПроверено: 1 минута чтения

Ребенку

Класс рисует большую картину по очереди. Первый ученик набросал контур, и вышло криво. Второй не начинает заново, а поправляет только то, что не получилось у первого. Третий исправляет промахи второго. Каждый делает маленький шаг, но после двадцати учеников картина выходит точной. Компьютер учится похожим способом: много маленьких помощников, и каждый чинит чужие ошибки.

Простыми словами

Одно простое дерево решений задает несколько вопросов и выдает ответ, например «купит клиент или нет». Ошибается оно часто. Этот метод берет такое дерево, смотрит, где прогноз разошелся с реальностью, и обучает следующее дерево именно на этих промахах. Потом третье, четвертое, и так сотни раз. Итоговый ответ складывается из вкладов всех деревьев, причем вклад каждого нарочно уменьшают, чтобы модель училась осторожно. Похоже на то, как вы подбираете рецепт: пробуете, замечаете, что пересолили, и в следующий раз кладете соли чуть меньше.

Для бизнеса

Для таблиц из 1С, CRM и учетных систем такой подход часто дает точный прогноз при скромных затратах: модель учится на обычном сервере без видеокарт за минуты или часы. На ней строят скоринг клиентов, прогноз оттока и спроса, поиск подозрительных операций, оценку вероятности сделки. Цена проекта зависит в основном от подготовки данных: сколько источников, есть ли история с правильными ответами, насколько она чистая. До обучения делают разведочный анализ данных, чтобы найти пропуски и поля, которые случайно подсказывают ответ. Главный риск: модель отлично выглядит на прошлом и ошибается на новых месяцах, поэтому ее проверяют на периоде, которого она не видела. Такие сценарии с оценкой эффекта в рублях разбирают в карте ИИ-решений.

Для специалиста

Градиентный бустинг (gradient boosting) строит аддитивную модель из слабых учеников (weak learners), обычно неглубоких деревьев решений. На каждом шаге новое дерево обучают предсказывать антиградиент функции потерь по текущим прогнозам, поэтому метод описывают как спуск в пространстве функций; для квадратичной ошибки антиградиент совпадает с остатками. Вклад дерева умножают на темп обучения (shrinkage, learning rate): меньший темп требует больше деревьев, зато обычно снижает ошибку на тесте. Стохастический вариант учит каждое дерево на случайной доле выборки без возвращения. Общую схему для произвольной дифференцируемой функции потерь описал Фридман (J. H. Friedman, 2001). Промышленные реализации ускоряют поиск разбиений: XGBoost (Chen, Guestrin, 2016) добавил алгоритм для разреженных данных и взвешенный квантильный эскиз, LightGBM (Ke и др., 2017) ввел выборку по градиентам GOSS и объединение взаимоисключающих признаков EFB. В отличие от линейных моделей, деревьям не нужна нормализация данных. Переобучение сдерживают ранней остановкой (early stopping), ограничением глубины и долей подвыборки.

Пример

Интернет-магазин обучает модель на истории заказов: частота покупок, средний чек, дни с последнего визита. Модель ранжирует клиентов по вероятности ухода, и маркетолог отправляет скидку только верхней части списка, а не всей базе.

Связанные термины

Вопросы и ответы

Чем градиентный бустинг отличается от случайного леса?

Случайный лес строит деревья независимо и усредняет их ответы, а бустинг строит их по очереди, и каждое следующее исправляет ошибки предыдущих. Лес проще настроить, и он реже переобучается. Бустинг после аккуратной настройки часто дает более точный прогноз на табличных данных.

Нужны ли для бустинга видеокарты?

Нет, это классический метод машинного обучения, и он работает на обычных процессорах. Видеокарты ускоряют обучение на очень больших таблицах, но для большинства задач компании хватает обычного сервера.

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram