В наши дни модели повышения градиента (GBM) стали популярным инструментом для многих специалистов по данным. Его эффективность для превращения относительно плохой гипотезы в хорошую сделала его незаменимым инструментом в наборе инструментов каждого аналитика.

Контур

В этой статье рассматриваются следующие разделы в рекомендуемом порядке, однако вы можете свободно переключаться между разделами.

  1. Представляем GBM как метод повышения и сравниваем его с ванильным методом повышения, Adaptive Boosting, т.е. AdaBoost.
  2. Погружение в математику GBM с помощью примера.
  3. Соединяем точки между алгоритмом Gradient Boosting и методом оптимизации Gradient Descent.

GBM против AdaBoost

GBM — это метод улучшения ансамбля, который поэтапно создает серию слабых учеников, объединенных с оптимизацией подходящей функции потерь.

По сути, и AdaBoost, и GBM имеют схожую интуицию, т. Е. Преобразование набора слабых учеников в одного сильного ученика. Однако единственная разница заключается в том, «Как они создают слабого ученика в процессе?»

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

Gradient Boosting тренирует слабых на ошибках. Каждая итерация вычисляет остатки и соответствует следующему ученику. Наконец, используя процесс оптимизации, алгоритм вычисляет вклад каждого слабого ученика, что минимизирует общую ошибку модели.

Погружение в математику

Классическая концепция повышения как задачи оптимизации была впервые представлена ​​Джеромом Фридманом в 1999 в его статье Приближение жадных функций: машина повышения градиента. >».

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

Теоретически общий метод повышения градиента описан ниже:

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

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

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

ГБМ на примере

Далее давайте разберемся, как Gradient Boosting реализуется под капотом на примере.

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

Шаг 1: Установите начальную модель

В качестве исходной модели возьмем средние цены аренды: F0(x) = 1418.

Шаг 2: Рассчитайте остатки

Для каждого экземпляра мы вычисляем остатки как разницу между фактическим и прогнозируемым значением.

Шаг 3: Построение модели по остаткам

В качестве следующего шага мы строим дерево решений для прогнозирования остатков на шаге 2.

Шаг 4: Обновление прогнозируемого значения путем объединения всех деревьев, построенных в ансамбле.

Затем мы обновим выходные данные модели на основе предсказанного остатка дерева, используя следующее уравнение:

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

Здесь для наглядности мы приняли его равным 1.

Шаг 5: Повторите шаги 2–4 для предварительно определенного количества итераций.

Шаг 6: Наконец, составная модель объединяет все слабые модели в один сильный предиктор.

Повышение градиента и градиентный спуск: соединение точек

Многие люди задумываются над такими вопросами, как «Являются ли Gradient Boosting и Gradient Descent одним и тем же?» или «Реализует ли первое второе? Если да, то как?»

В этом разделе мы найдем ответы на все подобные вопросы.

Градиентный спуск (GD) — это метод оптимизации, целью которого является поиск набора параметров, оптимизирующих потери при обучении.

В то время как Gradient Boosting (GBM) — это метод построения метамодели, состоящей из слабых моделей, так что прогнозы консолидированной модели минимизируют функцию потерь.

Интуитивно понятно, что оба алгоритма спускаются по градиенту (или наклону) функции потерь.

Однако GD делает это, внося изменения в значения параметров. В то время как GBM делает это, вводя новую модель в ансамбль без настройки параметров.

Резюме

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

Это все люди!!

Пожалуйста, проявите немного любви в поле для комментариев ниже, если вы сочтете это знающим чтением.

Это вторая часть нашего трехсерийного блога о моделях повышения градиента.

Пожалуйста, перейдите по этой ссылке, чтобы прочитать первую часть этой серии.

Кроме того, подпишитесь на наш блог, чтобы получать обновления о новых сообщениях.

Ссылка:

  1. https://en.wikipedia.org/wiki/Gradient_boosting
  2. https://explained.ai/gradient-boosting/L2-loss.html
  3. https://www.data-action-lab.com/2019/07/31/boosting-with-adaboost-and-gradient-boosting/#Gradient_Boosting

Первоначально опубликовано на https://analyticsboomerang.com 12 августа 2020 г.