Правила выборов Арбитражного комитета
- 1 year ago
- 0
- 0
XGBoost (eXtreme Gradient Boosting) — это библиотека с открытым исходным кодом , используемая в машинном обучении и предоставляющая функциональность для решения задач, связанных с регуляризацией градиентного бустинга . Библиотека поддерживается языками программирования C++ , Java , Python , R , Julia , Perl и Scala . Библиотека работает под ОС Linux , Windows , и macOS . Она работает как на одной машине, так и на системах распределенной обработки Apache Hadoop , Apache Spark и Apache Flink .
В последнее время эта библиотека приобрела большую популярность и привлекла внимание как выбор многих команд-победителей соревнований по машинному обучению .
XGBoost изначально начинался как исследовательский проект Чэн Тяньци как часть группы Distributed (Deep) Machine Learning Community (DMLC). Изначально она начиналась как консольная программа, которую можно было настроить с помощью конфигурационного файла . XGBoost стал широко известен в кругах участников соревнований по машинному обучению после его использования в решении победителя конкурса . Вскоре после этого были созданы пакеты для Python и R, и теперь XGBoost имеет реализации пакетов для Java, Scala , Julia , Perl и других языков. Это позволило привлечь к библиотеке больше разработчиков и способствовало ее популярности среди сообщества Kaggle , где она использовалась для проведения большого количества соревнований .
Вскоре XGBoost был интегрирован с рядом других пакетов, что упростило его использование в соответствующих сообществах. Сейчас он интегрирован в scikit-learn для пользователей Python и в пакет для пользователей R . Он также может быть интегрирован в такие фреймворки Data Flow, как Apache Spark , Apache Hadoop и Apache Flink с помощью абстрактного Rabit и XGBoost4J . XGBoost также доступен на OpenCL для ПЛИС . Эффективная, масштабируемая реализация XGBoost была опубликована Чэн Тяньци и Карлосом Густрином .
Хотя модель XGBoost часто достигает более высокой точности, чем одно дерево решений, она жертвует присущей деревьям решений интерпретируемостью. Например, проследить путь, по которому дерево решений принимает решение, тривиально и самообъяснимо, но проследить пути сотен или тысяч деревьев гораздо сложнее. Для достижения производительности и интерпретируемости некоторые методы сжатия моделей позволяют преобразовать XGBoost в одно "перерожденное" дерево решений, которое аппроксимирует ту же функцию принятия решений .
Основные особенности XGBoost, отличающие его от других алгоритмов градиентного бустинга, включают: .
XGBoost использует Метод Ньютона-Рафсона в пространстве функций, в отличие от , который работает как градиентный спуск в пространстве функций, в функции потерь используется ряд Тейлора второго порядка для связи с методом Ньютона-Рафсона.
Общий вид нерегуляризованного алгоритма XGBoost:
Вход: обучающее множество , дифференцируемая функция потерь , число слабых обучающихся и скорость обучения .
Алгоритм:
{{
cite conference
}}
:
Неизвестный параметр
|вклад=
игнорируется (
справка
)
;
Неизвестный параметр
|редактор3-первый=
игнорируется (
справка
)
;
Неизвестный параметр
|редактор3-последний=
игнорируется (
справка
)
;
Пропущен
|editor3=
(
справка
)