В задачах регрессии имеет смысл определить ошибку со знаком как разницу между прогнозом и меткой. Однако в других типах задач эта стратегия часто приводит к плохим результатам. Лучшая стратегия, используемая при повышении градиента, заключается в следующем:
- Определите функцию потерь, аналогичную функциям потерь, используемым в нейронных сетях. Например, энтропия (также известная как потеря журнала) для задачи классификации.
- Обучите слабую модель прогнозировать градиент потерь в соответствии с выходными данными сильной модели .
Формально, учитывая функцию потерь $L(y,p)$, где $y$ — метка, а $p$ — предсказание, псевдоответ $z_i$, используемый для обучения слабой модели на этапе $i$, имеет следующий вид:
где:
- $F_i$ — предсказание сильной модели.
Предыдущий пример представлял собой задачу регрессии: цель состоит в том, чтобы предсказать числовое значение. В случае регрессии квадрат ошибки представляет собой обычную функцию потерь:
В данном случае градиент равен:
Другими словами, градиент — это ошибка со знаком из нашего примера с коэффициентом 2. Обратите внимание, что постоянные коэффициенты не имеют значения из-за сжатия. Обратите внимание, что эта эквивалентность верна только для задач регрессии с потерей квадратичной ошибки. Для других задач обучения с учителем (например, классификации, ранжирования, регрессии с потерей процентиля) не существует эквивалентности между градиентом и ошибкой со знаком.
Оптимизация листов и структур с помощью шага метода Ньютона
Метод Ньютона — это метод оптимизации, подобный градиентному спуску. Однако, в отличие от градиентного спуска, который использует для оптимизации только градиент функции, метод Ньютона использует для оптимизации как градиент (первую производную), так и вторую производную функции.
Шаг градиентного спуска выглядит следующим образом:
и метод Ньютона следующим образом:
При желании метод Ньютона можно интегрировать в обучение деревьев с градиентным усилением двумя способами:
- После обучения дерева шаг Ньютона применяется к каждому листу и переопределяет его значение. Древовидная структура нетронута; изменяются только значения листьев.
- В процессе роста дерева условия выбираются по баллу, включающему компонент формулы Ньютона. Нарушается структура дерева.
- YDF всегда применяет шаг Ньютона к листу (вариант 1).
- Вы можете включить опцию 2 с помощью
use_hessian_gain=True
.
В задачах регрессии имеет смысл определить ошибку со знаком как разницу между прогнозом и меткой. Однако в других типах задач эта стратегия часто приводит к плохим результатам. Лучшая стратегия, используемая при повышении градиента, заключается в следующем:
- Определите функцию потерь, аналогичную функциям потерь, используемым в нейронных сетях. Например, энтропия (также известная как потеря журнала) для задачи классификации.
- Обучите слабую модель прогнозировать градиент потерь в соответствии с выходными данными сильной модели .
Формально, учитывая функцию потерь $L(y,p)$, где $y$ — метка, а $p$ — предсказание, псевдоответ $z_i$, используемый для обучения слабой модели на этапе $i$, имеет следующий вид:
где:
- $F_i$ — предсказание сильной модели.
Предыдущий пример представлял собой задачу регрессии: цель состоит в том, чтобы предсказать числовое значение. В случае регрессии квадрат ошибки представляет собой обычную функцию потерь:
В данном случае градиент равен:
Другими словами, градиент — это ошибка со знаком из нашего примера с коэффициентом 2. Обратите внимание, что постоянные коэффициенты не имеют значения из-за сжатия. Обратите внимание, что эта эквивалентность верна только для задач регрессии с потерей квадратичной ошибки. Для других задач обучения с учителем (например, классификации, ранжирования, регрессии с потерей процентиля) не существует эквивалентности между градиентом и ошибкой со знаком.
Оптимизация листов и структур с помощью шага метода Ньютона
Метод Ньютона — это метод оптимизации, подобный градиентному спуску. Однако в отличие от градиентного спуска, который использует для оптимизации только градиент функции, метод Ньютона использует для оптимизации как градиент (первую производную), так и вторую производную функции.
Шаг градиентного спуска выглядит следующим образом:
и метод Ньютона следующим образом:
При желании метод Ньютона можно интегрировать в обучение деревьев с градиентным усилением двумя способами:
- После обучения дерева шаг Ньютона применяется к каждому листу и переопределяет его значение. Древовидная структура нетронута; изменяются только значения листьев.
- В процессе роста дерева условия выбираются по баллу, включающему компонент формулы Ньютона. Нарушается структура дерева.
- YDF всегда применяет шаг Ньютона к листу (вариант 1).
- Вы можете включить опцию 2 с помощью
use_hessian_gain=True
.