stringtranslate.com

Повышение градиента

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

История

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

Неформальное знакомство

(Этот раздел следует изложению Чэн Ли. [7] )

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

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

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

.

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

.

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

Алгоритм

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

.

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

.

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

,
,

для , где — базовая функция обучения.

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

где . Для малых это означает, что .

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

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

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

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

Алгоритм:

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

Градиентное усиление дерева

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

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

где — прогнозируемое значение в регионе . [9]

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

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

Размер дерева

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

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

Регуляризация

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

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

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

Усадка

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

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

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

Стохастическое градиентное усиление

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

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

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

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

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

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

Штраф за сложность

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

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

Использование

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

Имена

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

Популярная реализация R с открытым исходным кодом называет ее «Обобщенной моделью усиления» [11] , однако пакеты, расширяющие эту работу, используют BRT. [20] Еще одно название — TreeNet, в честь ранней коммерческой реализации Дэна Стейнберга из Salford System, одного из исследователей, которые были пионерами в использовании методов на основе деревьев. [21]

Рейтинг важности функций

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

Недостатки

Хотя усиление может повысить точность базового обучающегося, такого как дерево решений или линейная регрессия, оно жертвует понятностью и интерпретируемостью . [22] [23] Например, отслеживание пути, который проходит дерево решений для принятия решения, является тривиальным и самоочевидным, но отслеживание путей сотен или тысяч деревьев гораздо сложнее. Чтобы достичь как производительности, так и интерпретируемости, некоторые методы сжатия моделей позволяют преобразовать XGBoost в единое «возрожденное» дерево решений, которое аппроксимирует ту же функцию решения. [24] Кроме того, его реализация может быть более сложной из-за более высоких вычислительных требований.

Смотрите также

Ссылки

  1. ^ abcdef Hastie, T.; Tibshirani, R.; Friedman, JH (2009). "10. Boosting and Additive Trees". Элементы статистического обучения (2-е изд.). Нью-Йорк: Springer. С. 337–384. ISBN 978-0-387-84857-0. Архивировано из оригинала 2009-11-10.
  2. ^ abcd Фридман, Дж. Х. (март 1999 г.). "Усиление стохастического градиента" (PDF) . Архивировано из оригинала (PDF) 2014-08-01 . Получено 2013-11-13 .
  3. ^ Брейман, Л. (июнь 1997 г.). "Arcing The Edge" (PDF) . Технический отчет 486. Статистический факультет Калифорнийского университета в Беркли.
  4. ^ abc Фридман, Дж. Х. (февраль 1999 г.). "Жадная аппроксимация функций: машина градиентного усиления" (PDF) . Архивировано из оригинала (PDF) 2019-11-01 . Получено 2018-08-27 .
  5. ^ ab Мейсон, Л.; Бакстер, Дж.; Бартлетт, ПЛ; Фрин, Маркус (1999). "Усиление алгоритмов как градиентного спуска" (PDF) . В SA Solla и TK Leen и K. Müller (ред.). Достижения в области нейронных систем обработки информации 12. MIT Press. стр. 512–518.
  6. ^ ab Mason, L.; Baxter, J.; Bartlett, PL; Frean, Marcus (май 1999 г.). "Усиление алгоритмов как градиентного спуска в функциональном пространстве" (PDF) . Архивировано из оригинала (PDF) 22.12.2018.
  7. ^ Ченг Ли. «Мягкое введение в градиентное усиление» (PDF) .
  8. ^ Ламберс, Джим (2011–2012). «Метод наискорейшего спуска» (PDF) .
  9. ^ Примечание: в случае обычных деревьев CART деревья подгоняются с использованием метода наименьших квадратов потерь, поэтому коэффициент для региона равен просто значению выходной переменной, усредненному по всем обучающим примерам в .
  10. ^ Обратите внимание, что это отличается от бэггинга, при котором выборки производятся с заменой, поскольку используются выборки того же размера, что и обучающий набор.
  11. ^ ab Риджуэй, Грег (2007). Обобщенные усиленные модели: руководство по пакету gbm.
  12. ^ Изучите алгоритм усиления градиента для улучшения прогнозов (с кодами на языке R)
  13. ^ Тяньци Чэнь. Введение в усиленные деревья
  14. ^ Коссок, Дэвид и Чжан, Тонг (2008). Статистический анализ оптимального ранжирования подмножеств Байеса. Архивировано 07.08.2010 на Wayback Machine , стр. 14.
  15. ^ Запись в корпоративном блоге Яндекса о новой модели ранжирования «Снежинск» Архивировано 01.03.2012 на Wayback Machine (на русском языке)
  16. ^ Лалчанд, Видхи (2020). «Извлечение большего из усиленных деревьев решений: исследование физики высоких энергий». arXiv : 2001.06033 [stat.ML].
  17. ^ Ма, Лунфэй; Сяо, Ханьмин; Тао, Цзинвэй; Чжэн, Тайи; Чжан, Хайцинь (1 января 2022 г.). «Интеллектуальный подход к оценке качества коллектора из плотного песчаника с использованием алгоритма дерева решений повышения градиента». Открытые геолого-геофизические исследования . 14 (1): 629–645. Бибкод : 2022OGeo...14..354M. дои : 10.1515/geo-2022-0354 . ISSN  2391-5447.
  18. ^ Фридман, Джером (2003). «Множественные аддитивные регрессионные деревья с применением в эпидемиологии». Статистика в медицине . 22 (9): 1365–1381. doi :10.1002/sim.1501. PMID  12704603. S2CID  41965832.
  19. ^ Elith, Jane (2008). «Рабочее руководство по усиленным деревьям регрессии». Журнал экологии животных . 77 (4): 802–813. Bibcode : 2008JAnEc..77..802E. doi : 10.1111/j.1365-2656.2008.01390.x . PMID  18397250.
  20. ^ Elith, Jane. "Boosted Regression Trees for Environmental Modeling" (PDF) . CRAN . Архивировано из оригинала (PDF) 25 июля 2020 г. . Получено 31 августа 2018 г. .
  21. ^ «Эксклюзив: Интервью с Дэном Стейнбергом, президентом Salford Systems, пионером в области интеллектуального анализа данных».
  22. ^ abc Пирионеси, С. Мадех; Эль-Дираби, Тамер Э. (2020-03-01). «Анализ данных в управлении активами: экономически эффективное прогнозирование индекса состояния дорожного покрытия». Журнал инфраструктурных систем . 26 (1): 04019036. doi :10.1061/(ASCE)IS.1943-555X.0000512. ISSN  1943-555X. S2CID  213782055.
  23. ^ Wu, Xindong; Kumar, Vipin; Ross Quinlan, J.; Ghosh, Joydeep; Yang, Qiang; Motoda, Hiroshi; McLachlan, Geoffrey J.; Ng, Angus; Liu, Bing; Yu, Philip S.; Zhou, Zhi-Hua (2008-01-01). "10 лучших алгоритмов в добыче данных". Knowledge and Information Systems . 14 (1): 1–37. doi :10.1007/s10115-007-0114-2. hdl : 10983/15329 . ISSN  0219-3116. S2CID  2367747.
  24. ^ Саги, Омер; Рокач, Лиор (2021). «Аппроксимация XGBoost с помощью интерпретируемого дерева решений». Информационные науки . 572 (2021): 522–542. doi :10.1016/j.ins.2021.05.055.

Дальнейшее чтение

Внешние ссылки