Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

XGBoost
Логотип программы XGBoost
Тип Машинное обучение
Разработчик The XGBoost Contributors
Написана на C++
 Операционные системы Linux, macOS, Windows
Первый выпуск 27 марта 2014; 10 лет назад (2014-03-27)
Последняя версия 1.6.0 (15 апреля 2022; 2 года назад (2022-04-15))
Репозиторий github.com/dmlc/xgboost
Лицензия Apache License 2.0
Сайт xgboost.ai

XGBoost[1] (eXtreme Gradient Boosting) — это библиотека с открытым исходным кодом, используемая в машинном обучении и предоставляющая функциональность для решения задач, связанных с регуляризацией градиентного бустинга. Библиотека поддерживается языками программирования C++, Java, Python[2], R[3], Julia[4], Perl[5] и Scala. Библиотека работает под ОС Linux, Windows[6], и macOS[7]. Она работает как на одной машине, так и на системах распределенной обработки Apache Hadoop, Apache Spark и Apache Flink.

В последнее время эта библиотека приобрела большую популярность и привлекла внимание как выбор многих команд-победителей соревнований по машинному обучению[8].

История

XGBoost изначально начинался как исследовательский проект Чэн Тяньци[9] как часть группы Distributed (Deep) Machine Learning Community (DMLC). Изначально она начиналась как консольная программа, которую можно было настроить с помощью конфигурационного файла libsvm. XGBoost стал широко известен в кругах участников соревнований по машинному обучению после его использования в решении победителя конкурса Higgs Machine Learning Challenge. Вскоре после этого были созданы пакеты для Python и R, и теперь XGBoost имеет реализации пакетов для Java, Scala, Julia, Perl и других языков. Это позволило привлечь к библиотеке больше разработчиков и способствовало ее популярности среди сообщества Kaggle, где она использовалась для проведения большого количества соревнований[8].

Вскоре XGBoost был интегрирован с рядом других пакетов, что упростило его использование в соответствующих сообществах. Сейчас он интегрирован в scikit-learn для пользователей Python и в пакет caret для пользователей R. Он также может быть интегрирован в такие фреймворки Data Flow, как Apache Spark, Apache Hadoop и Apache Flink с помощью абстрактного Rabit[10] и XGBoost4J[11]. XGBoost также доступен на OpenCL для ПЛИС[12]. Эффективная, масштабируемая реализация XGBoost была опубликована Чэн Тяньци и Карлосом Густрином[13].

Хотя модель XGBoost часто достигает более высокой точности, чем одно дерево решений, она жертвует присущей деревьям решений интерпретируемостью. Например, проследить путь, по которому дерево решений принимает решение, тривиально и самообъяснимо, но проследить пути сотен или тысяч деревьев гораздо сложнее. Для достижения производительности и интерпретируемости некоторые методы сжатия моделей позволяют преобразовать XGBoost в одно "перерожденное" дерево решений, которое аппроксимирует ту же функцию принятия решений[14].

Функционал

Основные особенности XGBoost, отличающие его от других алгоритмов градиентного бустинга, включают:[15][16][17].

  • Умная штрафовка деревьев
  • Пропорциональное уменьшение узлов листьев
  • Метод Ньютона в оптимизации
  • Дополнительный параметр рандомизации
  • Реализация на одиночных, распределенных системах и out-of-core вычислениях
  • Автоматический отбор признаков

Описание алгоритма

XGBoost использует Метод Ньютона-Рафсона в пространстве функций, в отличие от градиентного бустинга, который работает как градиентный спуск в пространстве функций, в функции потерь используется ряд Тейлора второго порядка для связи с методом Ньютона-Рафсона.

Общий вид нерегуляризованного алгоритма XGBoost:

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

Алгоритм:

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

Награды

  • Премия John Chambers (2016)[18]
  • Премия High Energy Physics meets Machine Learning award (HEP meets ML) (2016)[19]

Примечания

  1. Ссылка на страницу проекта. Дата обращения: 17 апреля 2022. Архивировано 1 апреля 2021 года.
  2. Python Package Index PYPI: xgboost. Дата обращения: 1 августа 2016. Архивировано 23 августа 2017 года.
  3. CRAN package xgboost. Дата обращения: 1 августа 2016. Архивировано 26 октября 2018 года.
  4. Julia package listing xgboost. Дата обращения: 1 августа 2016. Архивировано из оригинала 18 августа 2016 года.
  5. CPAN module AI::XGBoost. Дата обращения: 9 февраля 2020. Архивировано 6 октября 2021 года.
  6. Installing XGBoost for Anaconda in Windows. Дата обращения: 1 августа 2016. Архивировано 8 мая 2018 года.
  7. Installing XGBoost on Mac OSX. Дата обращения: 1 августа 2016. Архивировано 8 мая 2018 года.
  8. 1 2 XGBoost - ML winning solutions (incomplete list). Дата обращения: 1 августа 2016. Архивировано 24 августа 2017 года.
  9. Story and Lessons behind the evolution of XGBoost. Дата обращения: 1 августа 2016. Архивировано из оригинала 7 августа 2016 года.
  10. Rabit - Reliable Allreduce and Broadcast Interface. Дата обращения: 1 августа 2016. Архивировано 11 июня 2018 года.
  11. html XGBoost4J (недоступная ссылка — html история). Дата обращения: 1 августа 2016.
  12. com/InAccel/xgboost XGBoost on FPGAs. Дата обращения: 1 августа 2019.
  13. Chen, Tianqi; Guestrin, Carlos (2016). Krishnapuram, Balaji; Shah, Mohak; Aggarwal, Charu C.; Shen, Dou; Rastogi, Rajeev (eds.). Труды 22-й Международной конференции ACM SIGKDD по обнаружению знаний и добыче данных, Сан-Франциско, Калифорния, США, 13-17 августа 2016 года. ACM. pp. 785–794. arXiv:1603.02754. doi:10.1145/2939672.2939785. {{cite conference}}: Неизвестный параметр |вклад= игнорируется (справка); Неизвестный параметр |редактор3-первый= игнорируется (справка); Неизвестный параметр |редактор3-последний= игнорируется (справка); Пропущен |editor3= (справка)
  14. Sagi, Omer; Rokach, Lior (2021). "Approximating XGBoost with an interpretable decision tree". Information Sciences. 572 (2021): 522-542. doi:10.1016/j.ins.2021.05.055.
  15. Gandhi, Rohith Gradient Boosting and XGBoost (англ.). Medium (24 мая 2019). Дата обращения: 4 января 2020. Архивировано 31 июля 2022 года.
  16. Boosting algorithm: XGBoost (англ.). Towards Data Science (14 мая 2017). Дата обращения: 4 января 2020. Архивировано из оригинала 6 апреля 2022 года.
  17. Tree Boosting With XGBoost - Why Does XGBoost Win "Every" Machine Learning Competition? (амер. англ.). Synced (22 октября 2017). Дата обращения: 4 января 2020. Архивировано 23 августа 2022 года.
  18. John Chambers Award Previous Winners. Дата обращения: 1 августа 2016. Архивировано 31 июля 2017 года.
  19. HEP meets ML Award. Дата обращения: 1 августа 2016. Архивировано 8 мая 2018 года.
Эта страница в последний раз была отредактирована 11 февраля 2024 в 05:53.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).