заглушки Что такое повышение градиента? - Unite.ИИ
Свяжитесь с нами:
Мастер-класс по ИИ:

AI 101

Что такое повышение градиента?

mm
обновленный on

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

Определение повышения градиента

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

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

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

A Древо решений Функции модели заключаются в разбиении набора данных на все меньшие и меньшие части, и как только подмножества невозможно разделить дальше, в результате получается дерево с узлами и листьями. В узлах дерева решений решения о точках данных принимаются с использованием различных критериев фильтрации. Листья в дереве решений — это точки данных, которые были классифицированы. Алгоритмы дерева решений могут обрабатывать как числовые, так и категориальные данные, а разбиение дерева основано на определенных переменных/функциях.

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

Блогер и программист со специализацией в Машинное обучение и Глубокое обучение темы. Дэниел надеется помочь другим использовать возможности ИИ на благо общества.