Бустинг - это процедура последовательного построения композиции алгоритмов машинного обучения, когда каждый следующий алгоритм стремится компенсировать недостатки композиции всех предыдущих алгоритмов. На каждом шаге новая модель обучается с использованием данных об ошибках предыдущих.
Градиентный бустинг - продвинутый алгоритм машинного обучения для решения задач классификации и регрессии. Он строит предсказание в виде ансамбля слабых предсказывающих моделей, которыми в основном являются деревья решений.
Идея: последовательное применение предиктора таким образом, что каждая следующая модель сводит ошибку предыдущей к минимуму.
Результат будет описываться как сумма базовых алгоритмов с некоторыми коэффициентами, с учетом:
где
где
$$ \nabla{\mathcal{L}{i}^{(t - 1)}} = \dfrac{\partial{\mathcal{L}(H{t - 1},,y_i)}}{\partial{H_{t - 1}}}(x_i) $$
Таким образом, мы получаем
Обобщённый алгоритм градиентного бустинга:
- Есть набор данных
$\mathcal{D}$ , количество моделей$T$ . -
$H_0(x)$ - обучаем нашу модель. - На каждом шаге
$T$ :- Вычисляем градиент
$\nabla{\mathcal{L}^{(t - 1)}}$ . - Каждый
$a_t$ стремится предсказать$\delta$ между правильным решением и совокупностью всех подправок на ошибки. - Вычисляем
$b_t$ - то, что позволяет уменьшить эмпирический риск, ищется, например, градиентными методами. - Нашли новый
$H_t(x)$ .
- Вычисляем градиент