¿Qué es boosting de gradiente?

Autores

Bryan Clark

Senior Technology Advocate

Fangfang Lee

Developer Advocate

IBM

¿Qué es el boosting de gradiente?

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

Las últimas tendencias en IA, presentadas por expertos

Obtenga conocimientos organizados 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! Está suscrito.

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

Aprendizaje conjunto y boosting

El aprendizaje por conjuntos es un enfoque de machine learning que combina varios modelos o métodos para impulsar el rendimiento predictivo. A menudo emplea técnicas como el bagging y el boosting. El bagging implica entrenar numerosos modelos en diferentes subconjuntos de datos con cierta aleatoriedad, lo que ayuda a reducir la varianza al promediar los 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 difíciles 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 conduce a un rendimiento más sólido. 2

Estas técnicas se utilizan ampliamente en machine learning para mejorar la precisión de los modelos, 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 boosting en el contexto del aprendizaje conjunto.

Cómo funciona el boosting de gradiente

El boosting de gradiente es una técnica de machine learning que combina varios modelos de predicción débil en un único 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 árbol de decisión o clasificadores de árbol de decisión, el boosting de gradiente puede capturar eficazmente relaciones complejas entre características.

Uno de los beneficios clave del boosting de gradiente es su capacidad para minimizar iterativamente la función de pérdida, lo que se traduce en una mayor precisión predictiva. Sin embargo, hay que ser consciente del sobreajuste, que se produce cuando un modelo se especializa demasiado en los datos de entrenamiento y no se generaliza bien a nuevas instancias. Para mitigar este riesgo, los profesionales deben ajustar cuidadosamente los hiperparámetros, monitorizar el rendimiento del modelo durante el entrenamiento y emplear técnicas como la regularización, la poda o la parada temprana. Al comprender estos desafíos y tomar medidas para abordarlos, los profesionales pueden aprovechar con éxito la potencia del boosting 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 en qué medida las predicciones de un modelo de machine learning coinciden con los datos reales. MSE calcula el promedio de las diferencias al cuadrado entre los valores pronosticados y observados. La fórmula para MSE es:  MSE=Σ(yi-pi)2/n , donde  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 anularse 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 el 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 su lugar, 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 es casi siempre indicativo de sobreajuste. 6

Algunas implementaciones populares de métodos de boosting 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 proceso de datos a gran escala. Ambos métodos mejoran aún más la precisión, especialmente cuando se trata de conjuntos de datos intrincados o ruidosos. LightGBM emplea una técnica llamada muestreo unilateral basado en gradientes (GOSS) para filtrar las instancias de datos para encontrar los puntos de división, lo que reduce significativamente la sobrecarga computacional. Integrando 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

A continuación se desglosa paso a paso cómo funciona el proceso de boosting 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.

Refinación con regularización: después del cálculo residual y antes del entrenamiento de un nuevo modelo, tiene lugar 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 boosting, 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 un nuevo modelo o un aprendiz débil para predecirlos con precisión. El objetivo de este paso es corregir los errores cometidos por los modelos anteriores, refinando la predicción general.

Actualizaciones del conjunto: en esta fase, el rendimiento del conjunto actualizado (incluido el modelo recién entrenado) se suele evaluar mediante un conjunto de pruebas independiente. Si el rendimiento de este conjunto de datos reservado es satisfactorio, el conjunto puede actualizarse incorporando el nuevo aprendiz débil; de lo contrario, podría ser necesario realizar 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, lo que mejora 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, vaya al siguiente paso. 

Criterios de detención: detenga el proceso de boosting 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 entrenar a varios aprendices débiles en secuencia.

Métodos de ensamblaje y apilamiento

La combinación del boosting de gradiente con otros algoritmos de machine learning mediante métodos de conjunto o apilamiento puede mejorar aún más la precisión predictiva. Por ejemplo, la combinación del boosting 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 sólido. El apilamiento implica entrenar a varios aprendices base y utilizar sus outputs como entradas para un metaaprendiz, que combina predicciones para generar outputs finales. 9

Diagrama que representa el stacking en el contexto del aprendizaje conjunto.

Detención temprana y validación cruzada

La monitorización 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 parar el proceso de boosting 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 fiables del rendimiento del modelo y el ajuste de hiperparámetros, lo que mejora aún más las capacidades predictivas del boosting de gradiente.

Mixture of Experts | 12 de diciembre, episodio 85

Descifrar la IA: resumen semanal de noticias

Únase a nuestro panel de ingenieros, investigadores, responsables de producto y otros profesionales de talla mundial que se abren paso entre el bullicio de la IA para ofrecerle las últimas noticias y conocimientos al respecto.

Abordar conjuntos de datos desequilibrados

El boosting de gradiente es sensible al desequilibrio de clases, lo que puede dar lugar a predicciones sesgadas que favorezcan 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 solidez predictiva del boosting de gradiente en diversas aplicaciones, desde el análisis de datos de alta dimensión hasta tareas complejas de monitorización ambiental.

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

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

Profundidad del árbol (máx_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. El aumento de este parámetro puede mejorar el rendimiento, pero también aumenta el riesgo de sobreajuste.

Además, las implementaciones de boosting de gradiente de scikit-learn proporcionan estimaciones listas para usar (OOB), una técnica para evaluar el rendimiento del modelo sin necesidad de 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 boosting 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 boosting de gradiente

Manejo de datos médicos de alta dimensión: el boosting de gradiente es capaz de tratar eficazmente 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 boosting 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 los problemas de clasificación de textos. 11.12

Reducir las tasas de abandono del servicio de atención al cliente: cuando ya existe un modelo pero el rendimiento no es óptimo, se puede emplear el boosting de gradiente para refinar iterativamente las predicciones corrigiendo errores anteriores. Un ejemplo es la predicción de la pérdida de clientes en las telecomunicaciones, donde se utilizó un modelo de regresión logística tradicional. La empresa puede aplicar algoritmos de boosting 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 importante para su salud. 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 los datos climáticos, la calidad del suelo y las 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 boosting 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 predecir 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 boosting de gradiente puede mejorar el poder predictivo de los modelos de machine learning en tareas complejas de monitorización ambiental. 14

Soluciones relacionadas
IBM watsonx.ai

Entrene, valide, ajuste e implemente IA generativa, modelos fundacionales y capacidades de machine learning con IBM watsonx.ai, un estudio empresarial de nueva generación para desarrolladores de IA. Cree 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 líder en IA del sector de IBM y junto a su cartera de soluciones.

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

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

Explore los servicios de IA
Dé el siguiente paso

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

Explore watsonx.ai Solicite una demostración en directo
Notas a 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

Schapire, R.E. (2013). Explicación de AdaBoost. In: Schölkopf, B., Luo, Z., Vovk, V. (eds) Empirical Inference. Springer, Berlin, 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).

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 y Gonzalo Martínez-Muñoz. 2023. “Sequential Training of Neural Networks with Gradient Boosting.” IEEE Access 11 (enero): 42738–50. https://ieeexplore.ieee.org/document/10110967

Chen, Tianqi, et al. "Mean Squared Error." 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 .

LightGBM Documentation Team. "LightGBM". 2021. https://lightgbm.readthedocs.io/en/stable/ .

Konstantinov, Andrei V., and Lev V. Utkin. “A Generalized Stacking for Implementing Ensembles of Gradient Boosting Machines.” In Studies in Systems, Decision and Control, 3–16, 2021. https://link.springer.com/chapter/10.1007/978-3-030-67892-0_1.

10 Documentation of Scikit-Learn “Scikit-Learn” 2007 https://scikit-learn.org/0.21/documentation.html

11. Lecun, Yann, et al. "Gradient-Based Learning Applied to Document Recognition." Proceedings of the 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. “Predictive Analytics with Gradient Boosting in Clinical Medicine.” 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 y Bushra Elnaim. 2023. “An Efficient Churn Prediction Model Using Gradient Boosting Machine and 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. “Modeling Tick Populations: An Ecological Test Case for Gradient Boosted Trees.” 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.