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