El gradient boosting es una técnica de aprendizaje automático utilizada para tareas de regresión y clasificación. Pertenece a la familia de métodos de boosting, que combinan múltiples modelos de predicción débiles en un único modelo fuerte. A diferencia del boosting tradicional, que ajusta modelos a los residuos, el gradient boosting opera en un espacio funcional y se dirige a pseudo-residuos, lo que permite la optimización de una función de pérdida diferenciable arbitraria. Cuando los aprendices débiles son árboles de decisión, el algoritmo resultante se denomina árboles potenciados por gradiente, que típicamente superan a los bosques aleatorios en precisión predictiva.
El método produce un modelo de predicción como un conjunto de modelos débiles, generalmente árboles de decisión simples que hacen pocas suposiciones sobre los datos. El modelo se construye de forma iterativa, y cada nuevo componente corrige los errores del conjunto anterior. Este enfoque generaliza algoritmos de boosting previos y se ha convertido en un pilar del aprendizaje automático moderno, ampliamente utilizado tanto en la industria como en la investigación.
Historia
El fundamento conceptual de gradient boosting se remonta a la observación de Leo Breiman de que el boosting puede interpretarse como un algoritmo de optimización sobre una función de costo. Los algoritmos de gradient boosting de regresión explícitos fueron desarrollados por Jerome H. Friedman en 1999 y perfeccionados en 2001. Simultáneamente, Llew Mason, Jonathan Baxter, Peter Bartlett y Marcus Frean introdujeron una perspectiva más general de boosting basado en gradiente funcional. Su trabajo enmarcó los algoritmos de boosting como un descenso de gradiente funcional iterativo, donde una función de costo se optimiza sobre un espacio funcional seleccionando hipótesis débiles que apuntan en la dirección del gradiente negativo. Este enfoque impulsó el desarrollo de métodos de boosting en muchas áreas del aprendizaje automático y la estadística, extendiéndose mucho más allá de la regresión y la clasificación.
Generalidades del Algoritmo
El boosting de gradiente construye un modelo en M etapas. En cada etapa m, el modelo actual F_m se mejora añadiendo un nuevo estimador h_m. Para la regresión de mínimos cuadrados, el objetivo es minimizar el error cuadrático medio sobre un conjunto de entrenamiento de tamaño n. Al principio, F_1 puede predecir simplemente la media de los valores de la variable objetivo. En cada etapa posterior, el algoritmo calcula el residual, que es la diferencia entre el valor observado y la predicción actual. Después, ajusta un aprendiz débil, típicamente un árbol de decisión superficial, a estos residuos. El modelo actualizado se convierte en F_{m+1}(x) = F_m(x) + h_m(x). Este proceso se repite hasta alcanzar el número deseado de etapas o hasta que el rendimiento se estabilice.
Para funciones de pérdida generales, el algoritmo utiliza pseudo-residuos, que son los gradientes negativos de la función de pérdida con respecto a las predicciones del modelo. Esto permite que el método maneje varias tareas, incluyendo la clasificación con pérdida logística o la ranking clasificación con pérdidas por pares.
Árboles Potenciados por Gradient-Boosted Trees
Cuando se utilizan árboles de decisión como aprendices débiles, el algoritmo se conoce como árboles potenciados por boosting de gradiente. Cada árbol suele ser pequeño, a menudo con un número limitado de hojas, para mantener el modelo decontrol y evitar el sobreajuste. The trees son añadidos secuencialmente, y cada uno se centra en errores residuales que han dejado los conjuntos anteriores. Este método a menudo produce resultados estado del arte en datos tabulares, superando a los bosques aleatorios y a veces incluso a modelos de Deep learning en tareas de datos de estructurados.
Los hiperparámetros clave incluyen el número de árboles, la profundidad máxima de cada árbol, la tasa de aprendizaje (que encoge cada árbol la contribución de cada árbol para el modelo) y tasas de submuestreo para el boosting de gradiente estocástico. Además, técnicas de regularización, como las penalizaciones L1 y L2, se aplican comúnmente a los pesos de las hojas.
Aplicaciones e Implementaciones
El boosting de gradiente se ha aplicado con éxito en numerosos dominios, incluyendo análisis de crédito, predicción de coste por clic, clasificación de búsqueda y bioinformática y alfabetización. Bibliotecas de software populares incluyen XGBoost, LightGBM y CatBoost, que incluyen implementaciones optimizadas con entrenamiento paralelo y soporte de GPU. Estas herramientas han hecho accesible el boosting de gradiente para los practicantes y han sido ampliamente adoptadas en competiciones y sistemas de producción.
La flexibilidad y el rendimiento predictivo compensado del método lo han convertido en una línea base estándar en los flujos de trabajo de Machine learning, competiendo a menudo con modelos de Neural network en datos estructurados.
Relación con Otros Métodos
El boosting de gradiente se relaciona con otros métodos de conjunto, como bosques aleatorios y AdaBoost. Sin embargo, se centra en su enfoque secuencial y su capacidad para optimizar funciones de pérdida arbitrarias. Mientras que los bosques aleatoriosrme se crean de forma independiente y se promedian sus predicciones, el boosting de gradiente construye árboles secuencialmente, corrigiendo los errores de cada alternativa. Esto lógicamente a menudo produce mayor precisión, aunque requiere ajuste cuidadoso para evitar el sobreajuste.
La perspectiva de gradiente funcional también conecta el boosting de gradiente con la optimización en espacio de la función, concepto que ha influido en otras áreas como la Artificial intelligence y el aprendizaje estadístico. Los investigadores han extendido la idea a problemas con múltiples salidas, análisis de supervivencia y incluso entrenamiento en redes neuronales, donde aparecen ideas similares de boosting en el aprendizaje residual.
Limitaciones y Consideraciones
A pesar de sus fortalezas, el boosting de gradiente tiene limitaciones. Puede ser sensible a datos ruidosos y valores atípicos, y puede sobreajustarse si los números de árboles son demasiado grandes o si los árboles demasiado profundos. El entrenamiento puede ser computacionalmente intenso, especialmente con grandes conjuntos de datos, aunque las implementaciones modernas atenúan este riesgo con procesamiento eficiente y aceleración por hardware. La interpretabilidad es menor que la de un árbol de decisión único, aunque medidas de importancia de características y gráficos de dependencia parcial pueden ofrecen información valiosa.
Al igual que en otras técnicas de Machine learning, la elección de los hiperparámetros y la función de pérdida afecta significativamente el rendimiento, y los practicados a menudo recurren a la validación cruzada para ajustar el modelo.