¿Qué es Gradient Boosting?

Autores

Bryan Clark

Senior Technology Advocate

Fangfang Lee

Developer Advocate

IBM

¿Qué es el aumento de gradiente?

Gradient boosting es un algoritmo de aprendizaje por conjuntos que produce predicciones precisas combinando múltiples árboles de decisión en un solo modelo. Este enfoque algorítmico del modelado predictivo, introducido por Jerome Friedman, utiliza modelos base para aprovechar sus fortalezas, corrigiendo errores y mejorando las capacidades predictivas. Al capturar patrones complejos en los datos, el aumento de gradiente sobresale en diversas tareas de modelado predictivo.1

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

Aprendizaje e impulso de conjuntos

Aprendizaje de conjuntos es un enfoque de machine learning que combina múltiples modelos o métodos para mejorar el rendimiento predictivo. A menudo emplea técnicas como bagging y boosting. El embolsado implica entrenar numerosos modelos en diferentes subconjuntos de datos con cierta aleatoriedad, lo que ayuda a reducir la varianza al promediar errores individuales. Un gran ejemplo de este enfoque son los bosques aleatorios.

Por el contrario, el boosting es una técnica de conjunto que entrena iterativamente los modelos para corregir errores anteriores. Da más peso a las instancias mal clasificadas en modelos posteriores, lo que les permite centrarse en puntos de datos desafiantes y, en última instancia, mejorar el rendimiento general. AdaBoost, ampliamente considerado como el primer algoritmo de impulso aplicable, es una ilustración clásica de este método. Tanto el bagging como el boosting optimizan la compensación de la varianza del sesgo en los modelos, lo que lleva a un rendimiento más sólido. 2

Estas técnicas se utilizan ampliamente en machine learning para mejorar la precisión del modelo, especialmente cuando se trata de conjuntos de datos complejos o ruidosos. Al combinar múltiples perspectivas, el aprendizaje por conjuntos proporciona una forma de superar las limitaciones de los modelos individuales y lograr una optimización mejorada. 3

Diagrama que representa el impulso en el contexto del aprendizaje por conjuntos.

Cómo funciona el aumento de gradiente

El aumento de gradiente es una técnica de machine learning que combina múltiples modelos de predicción débil en un solo conjunto. Estos modelos débiles suelen ser árboles de decisión, que se entrenan secuencialmente para minimizar los errores y mejorar la precisión. Al combinar múltiples regresores de árboles de decisión o clasificadores de árboles de decisión, el aumento de gradiente puede capturar de manera efectiva relaciones complejas entre características.

Uno de los beneficios clave del aumento de gradiente es su capacidad para minimizar iterativamente la función de pérdida, lo que da como resultado una mayor precisión predictiva. Sin embargo, uno debe ser consciente del sobreajuste, que ocurre cuando un modelo se especializa demasiado en los datos de entrenamiento y no logra generalizar bien a nuevas instancias. Para mitigar este riesgo, los profesionales deben ajustar cuidadosamente los hiperparámetros, monitorear el rendimiento del modelo durante el entrenamiento y emplear técnicas como regularización, poda o parada temprana. Al comprender estos desafíos y tomar medidas para abordarlos, los profesionales pueden aprovechar con éxito el poder del aumento de gradiente - incluido el uso de árboles de regresión - para desarrollar modelos de predicción precisos y sólidos para diversas aplicaciones. 4,5

El error cuadrático medio (MSE) es una función de pérdida que se utiliza para evaluar qué tan bien coinciden las predicciones de un modelo de machine learning con los datos reales. MSE calcula el promedio de las diferencias al cuadrado entre los valores previstos y observados. La fórmula para MSE es:  MSE=Σ(yi-pi)2/n Dónde  yi  representa el valor real,  pi  es el valor predicho y  n  es el número de observaciones.

Ampliando un poco más, MSE cuantifica la diferencia entre los valores predichos y los valores reales representados en el conjunto de datos para problemas de regresión. El paso al cuadrado ayuda a garantizar que tanto los errores positivos como los negativos contribuyan al valor final sin cancelarse entre sí. Este método da más peso a los errores más grandes, ya que los errores se elevan al cuadrado.

Para interpretar MSE, generalmente un valor más bajo indica una mejor concordancia entre las predicciones y las observaciones. Sin embargo, lograr un MSE más bajo es difícil en escenarios del mundo real debido a la aleatoriedad inherente que existe no solo en el conjunto de datos sino también en la población. En cambio, comparar los valores de MSE a lo largo del tiempo o entre diferentes modelos puede ayudar a determinar mejoras en la precisión predictiva. También es importante tener en cuenta que apuntar específicamente a un MSE de cero casi siempre es indicativo de sobreajuste. 6

Algunas implementaciones populares de métodos de impulso dentro de Python incluyen Extreme Gradient Boosting (XGBoost) y Light Gradient-Boosting Machine (LightGBM). XGBoost está diseñado para ofrecer velocidad y rendimiento, y se utiliza para problemas de regresión y clasificación. LightGBM utilizó algoritmos de aprendizaje basados en árboles y es adecuado para el procesamiento de datos a gran escala. Ambos métodos mejoran aún más la precisión, especialmente cuando se trata de conjuntos de datos complejos o ruidosos. LightGBM emplea una técnica llamada muestreo de un lado basado en gradiente (GOSS) para filtrar las instancias de datos para encontrar los puntos de división, lo que reduce significativamente la sobrecarga computacional. Al integrar múltiples técnicas de aprendizaje de conjuntos, elimine las limitaciones de los modelos individuales y obtenga resultados superiores en escenarios de ciencia de datos. 7,8

El siguiente es un desglose paso a paso de cómo funciona el proceso de aumento de gradiente.

Inicialización: comienza utilizando un conjunto de entrenamiento para establecer una base con un modelo base de aprendizaje, a menudo un árbol de decisión, cuyas predicciones iniciales se generan aleatoriamente. Normalmente, el árbol de decisión solo contendrá un puñado de nodos hoja o nodos terminales. A menudo elegidos debido a su interpretabilidad, estos aprendices débiles o básicos sirven como un punto de partida óptimo. Esta configuración inicial allana el camino para que se desarrollen iteraciones posteriores.

Cálculo de residuos: para cada ejemplo de entrenamiento, calcule el error residual restando el valor previsto del valor real. Este paso identifica las áreas en las que es necesario mejorar las predicciones del modelo.

Refinamiento con regularización: después del cálculo residual y antes del entrenamiento de un nuevo modelo, se lleva a cabo el proceso de regularización. Esta etapa implica reducir la influencia de cada nuevo aprendiz débil integrado en el conjunto. Al calibrar cuidadosamente esta escala, se puede controlar la rapidez con la que avanza el algoritmo de impulso, lo que ayuda a prevenir el sobreajuste y a optimizar el rendimiento general.

Entrenamiento del siguiente modelo: utilice los errores residuales calculados en el paso anterior como objetivos y entrene a un nuevo modelo o aprendiz débil para predecirlos con precisión. El enfoque de este paso es corregir los errores cometidos por los modelos anteriores, refinando la predicción general.

Actualizaciones del conjunto: en esta etapa, el rendimiento del conjunto actualizado (incluido el modelo recién entrenado) generalmente se evalúa mediante el uso de un conjunto de pruebas separado. Si el rendimiento en este conjunto de datos de reserva es satisfactorio, el conjunto se puede actualizar incorporando el nuevo aprendiz débil; de lo contrario, podrían ser necesarios ajustes en los hiperparámetros.

Repetición: repita los pasos presentados anteriormente según sea necesario. Cada iteración se basa en el modelo base y lo refina mediante el entrenamiento de nuevos árboles, mejorando aún más la precisión del modelo. Si la actualización del conjunto y el modelo final son satisfactorios en comparación con el modelo de referencia basado en la precisión, mover a los siguientes pasos. 

Criterios de detención: detenga el proceso de impulso cuando se cumpla un criterio de detención predeterminado, como un número máximo de iteraciones, precisión objetivo o rendimientos decrecientes. Este paso ayuda a garantizar que la predicción final del modelo logre el equilibrio esperado entre complejidad y rendimiento. 

Proceso de aprendizaje de conjunto secuencial, utilizado por algoritmos de refuerzo para capacitar a múltiples aprendices débiles en secuencia.

Métodos de ensamblaje y apilamiento

La combinación del aumento de gradiente con otros algoritmos de machine learning a través de métodos de conjunto o apilamiento puede mejorar aún más la precisión predictiva. Por ejemplo, combinar el aumento de gradiente con máquinas de vectores de soporte (SVM), bosques aleatorios o k-vecinos más cercanos (KNN) puede aprovechar las fortalezas de cada modelo y crear un conjunto más robusto. El apilamiento implica capacitar a múltiples aprendices base y utilizar sus resultados como entradas para un metaaprendiz, que combina predicciones para generar resultados finales. 9

Diagrama que representa el apilamiento en el contexto del aprendizaje por conjuntos.

Detención temprana y validación cruzada

El monitoreo del rendimiento del modelo durante el entrenamiento y la implementación de técnicas de detención temprana pueden ayudar a prevenir el sobreajuste al detener el proceso de impulso una vez que el rendimiento en un conjunto de validación deja de mejorar o comienza a degradarse. Además, el uso de estrategias de validación cruzada, como la validación cruzada k-fold, puede proporcionar estimaciones más confiables del rendimiento del modelo y el ajuste de hiperparámetros, lo que mejora aún más las capacidades predictivas del aumento de gradiente.

AI Academy

Ponga la IA a trabajar para servicio al cliente

Vea cómo la IA generativa puede satisfacer a los clientes con una experiencia más fluida y aumentar la productividad de la organización en estas tres áreas clave: autoservicio, agentes humanos y operaciones del centro de contacto.

dirección de conjuntos de datos desequilibrados

El aumento de gradiente es sensible al desequilibrio de clases, lo que puede llevar a predicciones con sesgo que favorecen a la clase mayoritaria. Para abordar este problema, los profesionales pueden emplear técnicas como el sobremuestreo de la clase minoritaria, el submuestreo de la clase mayoritaria o el uso de funciones de pérdida ponderada que asignan penalizaciones más altas por clasificar erróneamente las instancias minoritarias.

Al implementar estas estrategias y ajustar cuidadosamente los hiperparámetros, los profesionales pueden mejorar significativamente la precisión y robustez predictiva del aumento de gradiente en diversas aplicaciones, desde el análisis de datos de alta dimensión hasta tareas complejas de monitoreo ambiental.

Ajuste de hiperparámetros con aumento de gradiente en scikit-learn (sklearn)

GradientBoostingClassifier y GradientBoostingRegressor en scikit-learn ofrecen un enfoque versátil para implementar el algoritmo de aumento de gradiente, que atiende tanto a tareas de clasificación como de regresión. Al permitir a los usuarios ajustar varios parámetros, estas implementaciones permiten la personalización del proceso de impulso de acuerdo con los requisitos específicos y las características de los datos.

Profundidad del árbol (max_profundidad): controla la profundidad máxima de los árboles de decisión individuales y debe ajustarse para obtener el mejor rendimiento. Los árboles más profundos pueden capturar relaciones más complejas, pero también son propensos al sobreajuste. 

Tasa de aprendizaje (learning_rate): determina la contribución de cada árbol al conjunto general. Una tasa de aprendizaje más pequeña ralentiza la convergencia y reduce el riesgo de sobreajuste, mientras que un valor mayor podría conducir a un entrenamiento más rápido a expensas de un posible sobreajuste.

Número de árboles (n_estimadores): especifica el número total de árboles en el conjunto. Aumentar este parámetro puede mejorar el rendimiento, pero también aumenta el riesgo de sobreajuste.

Además, las implementaciones de aumento de gradiente de scikit-learn proporcionan estimaciones listas para usar (OOB), una técnica para evaluar el rendimiento del modelo sin requerir conjuntos de datos de validación separados. Además, los métodos de predicción por etapas en scikit-learn permiten predicciones incrementales a medida que hay nuevos datos disponibles, lo que hace posible y eficiente el procesamiento en tiempo real. En resumen, las implementaciones de aumento de gradiente de scikit-learn proporcionan un amplio conjunto de características para ajustar los modelos de acuerdo con las necesidades específicas y las características del conjunto de datos, lo que en última instancia fomenta un rendimiento predictivo superior. 10

Casos de uso de aumento de gradiente

Manejo de datos médicos de alta dimensión: el aumento de gradiente es capaz de manejar de manera efectiva conjuntos de datos que contienen muchas características en relación con el número de observaciones. Por ejemplo, en el diagnóstico médico, el aumento de gradiente se puede utilizar para diagnosticar enfermedades basadas en datos de pacientes, que pueden contener más de 100 características. Al aprovechar los árboles de decisión como aprendices débiles, el algoritmo podría ser capaz de gestionar una alta dimensionalidad, donde los modelos de regresión lineal tradicionales podrían tener dificultades. El algoritmo también podría extraer información valiosa de datos dispersos, lo que lo hace adecuado para aplicaciones como la bioinformática o problemas de clasificación de texto. 11,12

Reducir las tasas de abandono de atención al cliente: cuando ya existe un modelo pero el rendimiento es subóptimo, se puede emplear el aumento de gradiente para refinar iterativamente las predicciones corrigiendo errores anteriores. Un ejemplo es la predicción de la rotación de clientes en telecomunicaciones, donde se utilizó un modelo de regresión logística tradicional. La empresa puede aplicar algoritmos de aumento de gradiente para identificar los factores clave que contribuyen a que los clientes se vayan a otro servicio, como los altos volúmenes de llamadas o el bajo rendimiento de la red. Al incorporar estos factores en el modelo, podrían mejorar la precisión y reducir las tasas de abandono. 13

Predicción de la supervivencia de las hayas: en un ecosistema forestal, la enfermedad de la hoja de haya (BLD) es una amenaza significativa para el estado de las hayas. Los investigadores podrían desarrollar un modelo predictivo para identificar árboles en riesgo de BLD y predecir su probabilidad de supervivencia. Se podría desarrollar un modelo de machine learning que pueda analizar factores ambientales, como datos climáticos, calidad del suelo y características de los árboles, para calcular la probabilidad de supervivencia de las hayas (BTS) durante un período de 5 años. Mediante el uso de técnicas de aumento de gradiente, es posible capturar patrones intrincados que podrían pasarse por alto con métodos más simples. El modelo podría identificar árboles en riesgo de BLD con alta precisión y pronosticar su BTS con precisión, lo que permite a los investigadores priorizar las intervenciones y proteger las hayas vulnerables de manera efectiva. Este caso de uso demuestra cómo el aumento de gradiente puede mejorar el poder predictivo de los modelos de aprendizaje automático en tareas complejas de monitoreo ambiental. 14

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste y despliegue IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de próxima generación para creadores de IA. Diseñe aplicaciones de IA en menos tiempo y con menos datos.

Descubra watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Obtenga acceso único a capacidades que abarcan el ciclo de vida del desarrollo de IA. Produzca potentes soluciones de IA con interfaces fáciles de usar, flujos de trabajo y acceso a API y SDK estándar de la industria.

Explore watsonx.ai Reserve una demostración en vivo
Notas de pie de página

Friedman, Jerome H. “Greedy Function Approximation: A Gradient Boosting Machine”. The Annals of Statistics 29, no. 5 (2001): 1189–1232. http://www.jstor.org/stable/2699986

número arábigo Schapire, R.E. (2013). Explicación de AdaBoost. En: Schölkopf, B., Luo, Z., Vovk, V. (eds) Empirical Inference. Springer, Berlín, Heidelberg. https://link.springer.com/chapter/10.1007/978-3-642-41136-6_5

Fan, Wenjie, et al. "A Survey of Ensemble Learning: Recent Trends and Future Directions". arXiv preprint arXiv:2501.04871 (2025).

4 Matsubara, Takuo. “Wasserstein Gradient Boosting: A Framework for Distribution- Valued Supervised Learning”. arXiv.org, 29 de agosto de 2024. https://search.arxiv.org/paper.jsp?r=2405.09536&qid=1743170618344ler_nCn N_-2014411830&qs=gradient%2Bboosting. 

Emami, Seyedsaman, and Gonzalo Martínez-Muñoz. 2023. “Entrenamiento secuencial de Neural Networks con refuerzo de gradiente”. IEEE Access 11 (enero): 42738–50. https://ieeexplore.ieee.org/document/10110967

Chen, Tianqi, et al. "Error cuadrático medio". Encyclopedia Britannica, 2023. https://www.britannica.com/science/mean-squared-error.

XGBoost Developers. "XGBoost: A Scalable Tree Boosting System". GitHub, 2021. https://github.com/dmlc/xgboost/blob/master/readme.md .

Equipo de documentación de LightGBM. "LightGBM". 2021. https://lightgbm.readthedocs.io/en/stable/ .

Konstantinov, Andrei V., and Lev V. Utkin. “Un apilamiento generalizado para implementar conjuntos de máquinas de refuerzo de gradientes”. En Studies in Systems, Decision and Control, 3–16, 2021. https://link.springer.com/chapter/10.1007/978-3-030-67892-0_1.

10 Documentación de Scikit-Learn “Scikit-Learn” 2007 https://scikit-learn.org/0.21/documentation.html

11. Lecun, Yann, et al. "Aprendizaje basado en gradientes aplicado al reconocimiento de documentos". Actas del IEEE 86, no. 11 (2007): 2278-2324. doi: 10.1109/PROC.2007.898639 

12 Zhang, Zhongheng, Yiming Zhao, Aran Canes, Dan Steinberg y Olga Lyashevska. 2019. “Análisis predictivo con aumento de gradiente en medicina clínica”. Annals of Translational Medicine 7 (7): 152–52. https://atm.amegroups.org/article/view/24543/23475.

13 ‌Al Shourbaji, Ibrahim, Na Helian, Yi Sun, Abdelazim G. Hussien, Laith Abualigah, and Bushra Elnaim. 2023. “Un modelo eficiente de predicción de abandono mediante Gradient Boosting Machine y Metaheuristic Optimization”. Scientific Reports 13 (1): 14441. https://www.nature.com/articles/s41598-023-41093-6.

14 Manley, William, Tam Tran, Melissa Prusinski y Dustin Brisson. “Modelado de poblaciones de garrapatas: un caso de prueba ecológico para árboles impulsados por gradientes”. bioRxiv : the preprint server for biology, 29 de noviembre de 2023. https://pmc.ncbi.nlm.nih.gov/articles/PMC10054924/#:~:text=The%20rapidly%20expanding%20environmental%20data,development%20of%20public%20health%20strategies.