Что такое ансамблевые методы?

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

Что такое усиление градиента?

Gradient Boosting — это особый тип метода повышения, который использует градиентный спуск для оптимизации производительности модели. Gradient Boosting используется в задачах контролируемого обучения, таких как задачи регрессии и классификации. Градиент относится к процессу оптимизации, используемому для минимизации ошибок, допущенных каждой моделью в последовательности. В частности, Gradient Boosting использует градиентный спуск, чтобы найти оптимальное направление для обновления параметров модели. Последующие модели повышения градиента опираются на предыдущую модель, что позволяет алгоритму учиться более эффективно и генерировать более точные прогнозы. Тем не менее, Gradient Boosting сопряжен с повышенной стоимостью и сложностью времени по сравнению с другими алгоритмами машинного обучения из-за его итеративного механизма, настройки гиперпараметров и требований к памяти.

Рабочий процесс повышения градиента

Механизм Gradient Boosting начинается с выбора слабого ученика, который обычно представляет собой простую и не очень точную модель. Gradient Boosting использует структуру дерева решений для своего слабого ученика, который похож на древовидную модель, которая принимает последовательность решений для получения окончательного прогноза. Как только слабый ученик выбран, он подходит к данным, чтобы сделать прогноз. Затем вычисляется ошибка (остаток) между прогнозируемыми и фактическими значениями. Эта ошибка представляет собой разрыв между прогнозами текущей модели и истинными результатами и используется для корректировки весов наблюдений в наборе данных. Обновленные веса затем используются для создания нового слабого ученика, который добавляется к предыдущему, чтобы сформировать более точную и сильную модель. Этот процесс создания нового слабого ученика и обновления весов повторяется несколько раз, при этом каждая итерация повышает точность модели. Давайте воспользуемся Gradient Boosting для следующих обучающих данных, чтобы предсказать выброс CO2.

Чтобы приступить к прогнозированию выбросов CO2 для транспортных средств, сначала нужно рассчитать средний выброс CO2, который в настоящее время составляет 175 г/км. Следующий шаг включает использование Gradient Boosting для построения дерева на основе ошибок из предыдущего дерева. Ошибки рассчитываются как разница между наблюдаемыми значениями и прогнозируемыми значениями.

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

После вычисления остатков с двумя значениями в листе среднее значение остатков заменяется.

Начиная с начального прогноза 175 г/км, лист со значением выброса CO2 110 г/км используется для прогнозирования окончательного значение 285 г/км, что выше ожидаемого значения. Это означает, что наша модель имеет высокое смещение и низкую дисперсию. Высокое смещение означает, что наша модель недостаточно сложна, чтобы отразить истинную связь между независимыми переменными и целевой переменной, и в результате она последовательно недооценивает или переоценивает целевую переменную. Обычно это вызвано отсутствием функций, плохим выбором гиперпараметров или небольшим набором данных. Низкая дисперсия означает, что наша модель не чувствительна к шуму в обучающих данных и может хорошо обобщать невидимые данные. Модель с высокой дисперсией очень точно соответствовала бы обучающим данным, включая шум в данных, и не могла бы хорошо обобщаться на новые данные, поэтому создание обобщенной модели как с низкой дисперсией, так и с низким смещением важно для достижения точности и надежности. прогноз. Чтобы предотвратить переобучение и недообучение, алгоритм Gradient Boosting использует гиперпараметр под названием Скорость обучения для масштабирования вклада нового дерева. Скорость обучения имеет шкалу от 0 до 1 и определяет размер шага, при котором алгоритм учится на ошибках, допущенных предыдущим деревом в ансамбле. Более низкая скорость обучения приводит к более медленному обучению, но окончательная модель лучше обобщает и позволяет избежать переобучения, тогда как более высокая скорость обучения приводит к более быстрому обучению, но может привести к переобучению и снижению производительности. В этом примере модели присвоена скорость обучения 0,1, в результате чего прогнозируемый выброс CO2 175+ (0,1110) равен 186 г/км, что немного лучше исходного прогноза 175 г/км. Эта процедура повторяется, и новые остатки создаются с использованием новых предсказанных значений. Остатки уменьшаются по мере добавления в модель новых деревьев, а по мере добавления дополнительных деревьев остатки становятся меньше. Эта процедура продолжается до тех пор, пока не будет задано максимальное количество деревьев или пока добавление новых деревьев не приведет к существенному уменьшению размера остатков.

Математика, стоящая за повышением градиента

Мы будем использовать математические шаги для построения ансамбля деревьев на Gradient Boosting:

Нам задано n входных данных, где xi — вектор независимых переменных, а yi — наша целевая переменная.

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

Мы вычисляем функцию потерь. Нам нужно назначить нашу функцию потерь, которую в нашем контексте мы использовали псевдоостаточную.

Мы инициализируем модель постоянным значением.

как было сказано ранее, L представляет нашу функцию потерь, Гамма — наше прогнозируемое значение, а F0(x) — нашу базовую модель. Наша цель — оптимизировать нашу модель, используя функцию потерь, которая принимает форму псевдоостатка.

Поскольку наша независимая переменная непрерывна, функция потерь имеет вид:

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

Затем берем производную функции потерь:

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

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

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

ПОСЛЕДНИЙ ШАГ. Следующим шагом является обновление прогнозов текущего ансамбля учеников путем добавления выходных данных нового базового ученика и умножения на скорость обучения после получения оптимальных значений базового ученика:

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

Краткое содержание

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

Использованная литература: