Машинное обучение: вывод формулы XGBoost

машинное обучение искусственный интеллект алгоритм регулярное выражение

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

Полное название XGBoost (eXtreme Gradient Boosting) — экстремальное повышение градиента, которое часто используется в некоторых соревнованиях, и его эффект поразителен. Это инструмент для массивно-параллельного форсированного дерева, и в настоящее время это самый быстрый и лучший набор инструментов для форсированного дерева с открытым исходным кодом. Далее мы разделяем изучение XGBoost на 3 этапа: ①Интеграционное мышление ②Анализ функции потерь ③Решение. Мы знаем три элемента машинного обучения: модель, стратегия, алгоритм. Чтобы представить идею ансамбля, сам алгоритм XGBoost основан на идее ансамбля. Следовательно, необходимо понять метод обучения ансамбля для XGBoost, который позволяет нам лучше понять его модель функции прогнозирования. Во второй части мы подробно проанализируем функцию убытков, для чего и представим стратегию. Третья часть, предназначенная для решения целевой функции потерь, представляет собой алгоритм.

 

Идея интеграции

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

Мы знаем, что единая модель дерева решений склонна к переоснащению и не может эффективно использоваться на практике. Так появился ансамблевый метод обучения. Как показано на рисунке ниже, прогнозирование значения счета игры выполняется путем объединения двух деревьев. Среди них предсказанная оценка дерева 1 для маленьких мальчиков равна 2, а предсказанная оценка дерева 2 для маленьких мальчиков равна 0,9. Тогда итоговая оценка маленького мальчика 2,9.

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

вобщее количество деревьев,означает первыйдерево,представлять образцырезультаты предсказания.

Функция потерь:

вдля образцаОшибка обучения ,означает первыйОбычный термин для дерева.

 

2. Функция потерь

В приведенной выше части мы знаем модель прогнозирования метода обучения ансамбля, потому что XGBoost также является своего рода методом обучения ансамбля. Модель прогнозирования для XGBoost также может быть выражена как:

вобщее количество деревьев,означает первыйдерево,представлять образцырезультаты предсказания.

Функция потерь также выражается как:

вдля образцаОшибка обучения ,означает первыйОбычный термин для дерева.

Увидев это, мы можем подумать, что теперь, когда мы знаем функцию предсказания модели и функцию потерь, можем ли мы напрямую найти ее модель предсказания? Ответ однозначно нет, надо сначала четко знать какие параметры оптимизации и решения? Из приведенной выше модели прогнозирования мы можем видеть прогнозируемое значение для каждого дерева.Как это рассчитывается? Думая об этом, вы уже знаете, что нужно сделать.Что мне нужно решить и оптимизировать, так это значение оценки каждого конечного узла, котороезначение . Кроме того, мы знаем, что XGBoost использует дерево регрессии в дереве CART в качестве базового классификатора.После предоставления данных обучения можно в основном определить структуру его единого дерева (количество конечных узлов, глубину дерева и т. д.). . Но XGBoost — это не простая и повторяющаяся комбинация нескольких деревьев CART. Это аддитивная модель, которая использует ошибку, сгенерированную последним прогнозом модели (модель, состоящая из t-1 деревьев), в качестве эталона для построения следующего дерева (t-го дерева). Таким образом, каждый раз, когда добавляется дерево, его функция потерь постоянно уменьшается. На следующем рисунке показан пример аддитивной модели, в которой остаток между прогнозируемым значением модели и фактическим значением используется в качестве входных данных для следующего дерева.

Стратегия сложения может быть выражена следующим образом:

Инициализация (когда в модели нет дерева, результат ее предсказания равен 0):

Добавьте в модель первое дерево:

Добавьте в модель второе дерево:

Добавьте в модель t-е дерево:

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

Мы знаем, что каждый раз, когда в модель добавляется дерево, его функция потерь меняется. Кроме того, при добавлении t-го дерева предыдущее t-1-е дерево было обучено, а регулярный член и ошибка обучения предыдущего t-1-го дерева являются известными постоянными членами. Мы подробно рассмотрим части регулярного члена каждого дерева позже.

Если функция потерь принимает среднеквадратичную ошибку, ее объективная функция потерь принимает вид:

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

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

Итак, вот оно. Запишем сложность этого дерева как:

Пример расчета сложности выглядит следующим образом:

 

 

 

На данный момент мы можем записать целевую функцию XGBoost как:

 

3. Решить

 

Перед выводом сначала введем разложение Тейлора:

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

сделать,, а для t-го дереваявляется константой. Одновременно удалить все постоянные члены. Таким образом, целевая функция потерь может быть записана в виде:

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

в- общее количество листовых узлов в t-м дереве,выражается впробы на листовых узлах,во-первыхЗначение оценки каждого конечного узла.

Вот пусть,.

но:

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

Решено:

Его целевой функцией может быть:

На этом вывод завершен.