Основы ИИ
Что такое Градиентный Бустинг?
Общий тип модели машинного обучения, который оказался чрезвычайно полезным в соревнованиях по науке о данных, является моделью градиентного бустинга. Градиентный бустинг по сути является процессом преобразования слабых моделей обучения в сильные модели обучения. Но как именно это достигается? Давайте рассмотрим алгоритмы градиентного бустинга и лучше поймем, как модель градиентного бустинга преобразует слабые обучающиеся в сильные обучающиеся.
Определение Градиентного Бустинга
Эта статья направлена на то, чтобы дать вам хорошее представление о том, что такое градиентный бустинг, без многих подробностей о математических основах алгоритмов. Как только вы получите представление о том, как градиентный бустинг работает на высоком уровне, вы будете поощрены глубже изучить математику, которая делает это возможным.
Давайте начнем с определения того, что значит “бустить” обучающийся. Слабые обучающиеся преобразуются в сильные обучающиеся путем调整 свойств модели обучения. Какой именно алгоритм обучения бустится?
Модели бустинга работают путем дополнения другого распространенного алгоритма машинного обучения, дерева решений.
Модель дерева решений работает путем разделения набора данных на все меньшие и меньшие части, и когда подмножества не могут быть разделены дальше, в результате получается дерево с узлами и листьями. Узлы в дереве решений являются местами, где принимаются решения о данных с помощью различных критериев фильтрации. Листья в дереве решений являются данными, которые были классифицированы. Алгоритмы дерева решений могут обрабатывать как числовые, так и категориальные данные, и разделы в дереве основаны на конкретных переменных/характеристиках.

Иллюстрация того, как модели бустинга обучаются.
Фото: 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 регуляризация.












