Connect with us

ИИ 101

Что такое Градиентный Бустинг?

mm

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

Определение Градиентного Бустинга

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

Давайте начнем с определения того, что значит “усилить” обучающегося. Слабые обучающиеся преобразуются в сильных обучающихся путем регулировки свойств модели обучения. Какой именно алгоритм обучения усиливается?

Модели бустинга работают путем дополнения другого общего алгоритма машинного обучения, решающего дерева.

Модель решающего дерева функционирует путем разделения набора данных на все меньшие и меньшие части, и как только подмножества не могут быть разделены дальше, результатом является дерево с узлами и листьями. Узлы в решающем дереве – это места, где принимаются решения о точках данных с использованием различных критериев фильтрации. Листья в решающем дереве – это точки данных, которые были классифицированы. Алгоритмы решающих деревьев могут обрабатывать как числовые, так и категориальные данные, и разделы в дереве основаны на конкретных переменных/характеристиках.

Иллюстрация того, как модели бустинга обучаются.
Фото: SeattleDataBuy via Wikimedia Commons, CC 4.0 (https://commons.wikimedia.org/wiki/File:Boosting.png)

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

Модель теперь состоит из прогнозов для исходного дерева и нового дерева (или Дерево 1 + Дерево 2). Точность классификации оценивается еще раз на основе новой модели. Третье дерево создается на основе рассчитанной ошибки для модели, и веса еще раз регулируются. Этот процесс продолжается в течение заданного количества итераций, и окончательная модель – это ансамблевая модель, которая использует взвешенную сумму прогнозов, сделанных всеми ранее построенными деревьями.

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

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

Градиентный Бустинг

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

Основное различие между моделью градиентного бустинга и AdaBoost заключается в том, что GBM использует другой метод расчета того, какие обучающиеся неправильно идентифицируют точки данных. AdaBoost рассчитывает, где модель работает плохо, изучая точки данных, которые сильно взвешены. Тем временем GBM используют градиенты для определения точности обучающихся, применяя функцию потерь к модели. Функции потерь – это способ измерить точность соответствия модели набору данных, рассчитать ошибку и оптимизировать модель для уменьшения этой ошибки. GBM позволяют пользователю оптимизировать указанную функцию потерь на основе желаемой цели.

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

Чтобы сделать это яснее:

Новые прогнозы модели = выходные переменные – старые несовершенные прогнозы.

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

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

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

Вариации Моделей Градиентного Бустинга

Модели градиентного бустинга – это жадные алгоритмы, которые склонны к переобучению на наборе данных. Это можно защитить с помощью нескольких разных методов, которые могут улучшить производительность GBM.

GBM могут быть регулируемыми с четырьмя различными методами: Сжатие, Ограничения дерева, Стохастический градиентный бустинг и Штрафное обучение.

Сжатие

Как упоминалось ранее, в GBM прогнозы суммируются последовательно. В “Сжатии” добавления каждого дерева к общей сумме регулируются. Применяются веса, которые замедляют скорость обучения алгоритма, требуя добавления большего количества деревьев к модели, что обычно улучшает производительность модели. Однако модель занимает больше времени для обучения.

Ограничения дерева

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

Случайная выборка

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

Штрафное обучение

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

Блогер и программист с специализацией в Machine Learning и Deep Learning темах. Daniel надеется помочь другим использовать силу ИИ для социального блага.