Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Повышение градиента - это метод машинного обучения для задач регрессии и классификации , который создает модель прогнозирования в форме ансамбля слабых моделей прогнозирования, обычно деревьев решений . [1] [2] Когда дерево решений является слабым учеником, результирующий алгоритм называется деревьями с градиентным усилением, которые обычно превосходят по производительности случайный лес . [1] [2] [3] Он строит модель поэтапно, как и другие методы повышения , и обобщает их, позволяя оптимизировать произвольную дифференцируемую функцию потерь..

История [ править ]

Идея повышения градиента возникла из наблюдения Лео Бреймана, что повышение можно интерпретировать как алгоритм оптимизации подходящей функции стоимости. [4] Явная регрессии градиента повышающие алгоритмы были впоследствии разработаны Jerome H. Фридман , [5] [6] одновременно с более общим функциональным градиентным повышающей точки зрения Ллью Мейсон, Джонатан Бакстер, Питер Бартлетт и Марка Frean. [7] [8] В последних двух статьях был представлен взгляд на алгоритмы повышения как на итеративный функциональный градиентный спуск.алгоритмы. То есть алгоритмы, которые оптимизируют функцию стоимости в функциональном пространстве, итеративно выбирая функцию (слабая гипотеза), которая указывает в направлении отрицательного градиента. Этот функциональный градиентный взгляд на повышение привел к разработке алгоритмов повышения во многих областях машинного обучения и статистики, помимо регрессии и классификации.

Неформальное введение [ править ]

(Этот раздел следует за описанием повышения градиента, сделанным Ли. [9] )

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

  • прогнозируемое значение
  • наблюдаемое значение
  • количество образцов в

Теперь давайте рассмотрим алгоритм повышения градиента с этапами. На каждом этапе ( ) повышения градиента предположим некоторую несовершенную модель (для низкого уровня эта модель может просто возвращаться , где RHS - это среднее значение ). Для улучшения наш алгоритм должен добавить новую оценку . Таким образом,

или, что то же самое,

.

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

.

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

Алгоритм [ править ]

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

.

Метод повышения градиента предполагает действительное значение y и ищет приближение в виде взвешенной суммы функций из некоторого класса , называемого базовыми (или слабыми ) учащимися:

.

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

,
,

где - базовая функция обучаемого.

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

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

где производные берутся по функциям для , - длина шага. Однако в дискретном случае, то есть когда набор является конечным, мы выбираем функцию-кандидат h, наиболее близкую к градиенту L, для которой затем можно вычислить коэффициент γ с помощью линейного поиска по приведенным выше уравнениям. Обратите внимание, что этот подход является эвристическим и поэтому дает не точное решение данной проблемы, а скорее приближение. В псевдокоде общий метод повышения градиента: [5] [2]

Вход: обучение устанавливается дифференцируемая функция потерь числа итераций M .

Алгоритм:

  1. Инициализируем модель с постоянным значением:
  2. Для m = от 1 до M :
    1. Вычислить так называемые псевдо-остатки :
    2. Подгоните базового ученика (или слабого ученика, например, дерево) к псевдоостаточным остаткам, то есть обучите его, используя обучающий набор .
    3. Вычислите множитель , решив следующую одномерную задачу оптимизации :
    4. Обновите модель:
  3. Выход

Повышение градиентного дерева [ править ]

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

Общее повышение градиента на m -м шаге соответствовало бы дереву решений для псевдоостаточных остатков. Позвольте быть количество его листьев. Дерево разбивает входное пространство на непересекающиеся области и предсказывает постоянное значение в каждой области. Используя обозначение индикатора , выход для входа x можно записать как сумму:

где - значение, прогнозируемое для региона . [10]

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

Фридман предлагает изменить этот алгоритм так, чтобы он выбирал отдельное оптимальное значение для каждой области дерева, а не одно для всего дерева. Он называет модифицированный алгоритм «TreeBoost». Коэффициенты из процедуры аппроксимации дерева могут быть затем просто отброшены, и правило обновления модели становится следующим:

Размер деревьев [ править ]

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

Hastie et al. [2] комментарий, который обычно хорошо работает для повышения, и результаты довольно нечувствительны к выбору в этом диапазоне, недостаточны для многих приложений и вряд ли потребуются.

Регуляризация [ править ]

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

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

Еще один параметр регуляризации - это глубина деревьев. Чем выше это значение, тем больше вероятность, что модель будет соответствовать обучающим данным.

Усадка [ править ]

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

где параметр называется «скорость обучения».

Эмпирическим путем было обнаружено, что использование малых скоростей обучения (таких как ) приводит к значительным улучшениям в способности обобщения моделей по сравнению с усилением градиента без сжатия ( ). [2] Однако это происходит за счет увеличения времени вычислений как во время обучения, так и во время выполнения запросов : более низкая скорость обучения требует большего количества итераций.

Повышение стохастического градиента [ править ]

Вскоре после введения градиента повышающего, Фридман предложил незначительную модификацию алгоритма, движимого Бреймана «ы агрегация самозагрузки метода („упаковочного“). [6] В частности, он предложил, чтобы на каждой итерации алгоритма базовый обучающийся соответствовал подвыборке обучающей выборки, выбранной случайным образом без замены. [11] Фридман заметил существенное улучшение точности повышения градиента с помощью этой модификации.

Размер подвыборки - это некоторая постоянная часть размера обучающей выборки. Когда , алгоритм детерминирован и идентичен описанному выше. Меньшие значения вносят в алгоритм случайность и помогают предотвратить переоснащение , действуя как своего рода регуляризация . Алгоритм также становится быстрее, потому что деревья регрессии должны соответствовать меньшим наборам данных на каждой итерации. Фридман [6] получил хорошие результаты для тренировочных наборов небольшого и среднего размера. Поэтому обычно устанавливается на 0,5, что означает, что половина обучающего набора используется для построения каждого базового обучаемого.

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

Количество наблюдений в листьях [ править ]

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

Установление этого ограничения помогает уменьшить отклонения в прогнозах на листьях.

Наказывать сложность дерева [ править ]

Еще один полезный метод регуляризации для деревьев с градиентным усилением - снижение сложности модели изучаемой модели. [14] Сложность модели можно определить как пропорциональное количество листьев в изученных деревьях. Совместная оптимизация потерь и сложности модели соответствует алгоритму пост-отсечения для удаления ветвей, которые не могут уменьшить потери на пороговое значение. Чтобы избежать переобучения, можно также добавить другие виды регуляризации, такие как штраф за конечные значения .

Использование [ править ]

Повышение градиента можно использовать в области обучения ранжированию . Коммерческие поисковые системы Yahoo [15] и Yandex [16] используют варианты повышения градиента в своих системах ранжирования с машинным обучением. Повышение градиента также используется в физике высоких энергий при анализе данных. На Большом адронном коллайдере (LHC) варианты глубоких нейронных сетей (DNN) с градиентным усилением успешно воспроизводили результаты методов немашинного обучения для анализа наборов данных, используемых для обнаружения бозона Хиггса. [17]

Имена [ править ]

У этого метода множество названий. Фридман представил свою технику регрессии как «машину повышения градиента» (GBM). [5] Мейсон, Бакстер и др. описал обобщенный абстрактный класс алгоритмов как «повышение функционального градиента». [7] [8] Фридман и др. описать развитие моделей с градиентным усилением как деревья множественной аддитивной регрессии (MART); [18] Elith et al. описывают этот подход как «деревья регрессии с ускорением» (BRT). [19]

Популярная реализация R с открытым исходным кодом называет ее «Generalized Boosting Model» [12], однако пакеты, расширяющие эту работу, используют BRT. [20] Коммерческие реализации от Salford Systems используют названия «Деревья множественной аддитивной регрессии» (MART) и TreeNet, оба зарегистрированные товарными знаками. [ необходима цитата ]

Недостатки [ править ]

Хотя усиление может повысить точность базового обучаемого, такого как дерево решений или линейная регрессия, оно приносит в жертву разборчивость и интерпретируемость . [1] [21] Кроме того, его реализация может быть более сложной из-за более высоких вычислительных требований.

См. Также [ править ]

  • AdaBoost
  • Случайный лес
  • LightGBM
  • XGBoost
  • Обучение дереву решений

Ссылки [ править ]

  1. ^ a b c Piryonesi, S. Madeh; Эль-Дираби, Тамер Э. (01.03.2020). «Аналитика данных в управлении активами: рентабельное прогнозирование индекса состояния дорожного покрытия» . Журнал инфраструктурных систем . 26 (1): 04019036. doi : 10.1061 / (ASCE) IS.1943-555X.0000512 . ISSN  1943-555X .
  2. ^ а б в г е Хасти, Т .; Tibshirani, R .; Фридман, JH (2009). «10. Развивающие и аддитивные деревья» . Элементы статистического обучения (2-е изд.). Нью-Йорк: Спрингер. С. 337–384. ISBN 978-0-387-84857-0. Архивировано из оригинала на 2009-11-10.
  3. ^ Piryonesi, С. Мадех; Эль-Дираби, Тамер Э. (01.02.2021). «Использование машинного обучения для изучения влияния типа показателя эффективности на моделирование износа гибкого покрытия» . Журнал инфраструктурных систем . 27 (2): 04021005. DOI : 10,1061 / (ASCE) IS.1943-555X.0000602 . ISSN 1076-0342 . 
  4. ^ Бреймана, L. (июнь 1997). "Дуга на краю" (PDF) . Технический отчет 486 . Статистический факультет Калифорнийского университета в Беркли.
  5. ^ a b c Фридман, Дж. Х. (февраль 1999 г.). «Аппроксимация жадной функцией: машина для повышения градиента» (PDF) . Cite journal requires |journal= (help)
  6. ^ a b c Фридман, Дж. Х. (март 1999 г.). «Стохастическое усиление градиента» (PDF) . Cite journal requires |journal= (help)
  7. ^ a b Мейсон, Л .; Baxter, J .; Bartlett, PL; Фриан, Маркус (1999). "Алгоритмы повышения как градиентный спуск" (PDF) . В С.А. Солла и Т.К. Лин и К. Мюллер (ред.). Достижения в системах обработки нейронной информации 12 . MIT Press. С. 512–518.
  8. ^ a b Мейсон, Л .; Baxter, J .; Bartlett, PL; Фриан, Маркус (май 1999 г.). "Алгоритмы повышения как градиентный спуск в функциональном пространстве" (PDF) . Архивировано из оригинального (PDF) 22 декабря 2018 года. Cite journal requires |journal= (help)
  9. Ченг Ли. «Нежное введение в повышение градиента» (PDF) .
  10. ^ Примечание: в случае обычных CART-деревьев деревья подбираются с использованием потерь наименьших квадратов, поэтому коэффициентдля регионаравен просто значению выходной переменной, усредненному по всем обучающим экземплярам в.
  11. ^ Обратите внимание, что это отличается от бэггинга, когда сэмплы с заменой используются, потому что он использует сэмплы того же размера, что и обучающий набор.
  12. ^ a b Риджуэй, Грег (2007). Обобщенные модели с ускорением: руководство по пакету gbm.
  13. ^ Изучите алгоритм повышения градиента для лучших прогнозов (с кодами в R)
  14. ^ Тяньци Чен. Введение в усиленные деревья
  15. ^ Cossock, Дэвид и Чжан, Tong (2008). Статистический анализ байесовского оптимального ранжирования подмножеств Архивировано 7 августа2010 г. на Wayback Machine , стр. 14.
  16. ^ Яндекс запись корпоративный блог о новом рейтинге модели «Снежинский» (на русском)
  17. ^ Лалчанд, Видхи (2020). «Извлечение большего из расширенных деревьев решений: пример из физики высоких энергий». arXiv : 2001.06033 [ stat.ML ].
  18. ^ Фридман, Джером (2003). «Деревья множественной аддитивной регрессии с применением в эпидемиологии». Статистика в медицине . 22 (9): 1365–1381. DOI : 10.1002 / sim.1501 . PMID 12704603 . 
  19. ^ Elith, Джейн (2008). «Рабочее руководство по усиленным деревьям регрессии» . Журнал экологии животных . 77 (4): 802–813. DOI : 10.1111 / j.1365-2656.2008.01390.x . PMID 18397250 . 
  20. ^ Элит, Джейн. «Деревья ускоренной регрессии для экологического моделирования» (PDF) . КРАН . КРАН . Проверено 31 августа 2018 года .
  21. ^ Ву, Синьдун; Кумар, Випин; Росс Куинлан, Дж .; Гош, Джойдип; Ян, Цян; Мотода, Хироши; Маклахлан, Джеффри Дж .; Нг, Ангус; Лю, Бинг; Yu, Philip S .; Чжоу, Чжи-Хуа (01.01.2008). «10 лучших алгоритмов интеллектуального анализа данных». Знания и информационные системы . 14 (1): 1–37. DOI : 10.1007 / s10115-007-0114-2 . hdl : 10983/15329 . ISSN 0219-3116 . S2CID 2367747 .  

Дальнейшее чтение [ править ]

  • Бемке, Брэдли; Гринвелл, Брэндон (2019). «Повышение градиента». Hands-On Machine Learning с R . Чепмен и Холл. С. 221–245. ISBN 978-1-138-49568-5.

Внешние ссылки [ править ]

  • Как объяснить усиление градиента
  • Деревья регрессии с градиентным усилением
  • LightGBM