XGBoost

XGBoost — это алгоритм, который уже несколько дней доминирует в прикладном машинном обучении и соревнованиях Kaggle для табличных или структурированных данных.

Алгоритм XGBoost был разработан в Вашингтонском университете Тяньки Ченом и Карлосом Гестрином в качестве исследовательского проекта.

XGBoost доступен на Python, R, Julia, Java, C++ и представляет собой библиотеку машинного обучения с открытым исходным кодом.

Зачем он был разработан?

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

• XGBoost разработан для обеспечения скорости и производительности благодаря внедрению деревьев решений с градиентным усилением.

• XGBoost — это реализация алгоритма машинного обучения, известного как алгоритм Gradient Boosted Decision Trees.

Усиление градиента

• Одним из наиболее мощных методов построения прогностических моделей является повышение градиента.

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

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

Обзор XGBoost

• XGBoost работает только с числовыми векторами.

• Вам необходимо изменить или преобразовать другие формы данных в числовые векторы.

• Простым методом преобразования категориальной переменной в числовой вектор является процесс One Hot Encoding.

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

Как работает XGBoost

XGBoost — это популярная и лучшая реализация с открытым исходным кодом алгоритма градиентных деревьев. Повышение градиента — это алгоритм обучения с учителем, целью которого является точное предсказание целевой переменной путем объединения оценок набора более простых и слабых моделей.

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

XGBoost – алгоритм повышения эффективности

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

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

На мой взгляд

• По сравнению с другими алгоритмами машинного обучения я считаю реализацию XGBoost очень простой.

• Машинное обучение является очень активной областью исследований, и уже существует несколько жизнеспособных альтернатив XGBoost.