Boosting
GBM
El Gradient Boosting Machine (GBM) y el Extreme Gradient Boosting, son algoritmos de machine learning que se basan con la optimización del gradiente descendiente con el Boosting (Aumentar la precisión).
¿Qué es el boosting?
El boosting es una combinación de varios resultados de clasificadores débiles para obtener un clasificador robusto. Se pretende minimizar la función objetivo que se define según la exactitud de sus predicciones. El objetivo es la combinación de una serie de modelos simples para obtener un modelo final con las mejores prestaciones. Así se consigue aumentar la precisión de los clasificadores sin la necesidad de crear un modelo complejo.
Por ejemplo, se empieza con un árbol base y se va mejorándolo iterativamente al tomar en cuenta los casos incorrectamente clasificados, de los cuales se asigna un peso alto. Así, los clasificadores débiles se centran de mayor manera en los cas
Iteramos \(n\) veces, cada vez aplicando el árbol base en el conjunto de entrenamiento con los pesos actualizados. El modelo final es la suma ponderada de los resultados de los \(n\) árboles base.
Esta es la idea principal de los algoritmos de boosting, como Gradient Boosting Machine (GBM) y Extreme Gradient Boosting (XGBoost).
Gradient Boosting Machine
El Gradient Boosting es una técnica de Machine Learning para la resolución de problemas de clasificación y regresión. Produce un modelo predictivo como un conjunto de modelos débiles de predicción, específicamente árboles de decisión.
Para la creación del modelo predictivo utiliza la técnica de boosting para minimizar gradualmente los errores de los modelos simples, empleando el método del gradiente a la función de pérdida. Es decir, se pretende minimizar la función de pérdida al agregar los modelos simples.
La función de pérdida dependerá del problema que se pretenda solucionar. Por ejemplo, se puede escoger minimizar la función logistic loss.
Función objetivo:
\[ obj(\theta) = L(\theta) \]
Función de pérdida logistic loss:
\[ L(\theta) = \sum_i \bigl [ y_i \log (1+ \exp(-\hat{y}_i)) + (1-y_i \log(1+ \exp(\hat{y}_i)))\bigr ] \]
La idea principal detrás de este algoritmo es construir nuevos modelos simples que se puedan correlacionar al máximo con el gradiente negativo de la función de pérdida, asociado con todo el conjunto.
Extreme Gradient Boosting
Es una implementación optimizada y mejorada del algoritmo Gradient Boosting Machine (GBM). Se diferencia porque implementa una regularización a la función de pérdida, para poder evitar ajustes excesivos del modelo. Esta función objetiva se minimiza utilizando el método de AdaGrad en vez de utilizar el método del gradiente, como hacía Gradient boosting.
Función objetivo a minimizar:
\[ obj(\theta) = L(\theta) + \Omega(\theta) \] donde \(L(\theta)\) es la función de pérdida \(\Omega(\theta)\) es la regularización.