Inicio topics ¿Qué es Boosting? ¿Qué es boosting?
Conozca los algoritmos de boosting y cómo pueden mejorar la capacidad predictiva de sus iniciativas de minería de datos.
fondo azul
¿Qué es boosting?

Conozca los algoritmos de boosting y cómo pueden mejorar la capacidad predictiva de sus iniciativas de minería de datos. 

El boosting es un método de aprendizaje colectivo que combina un conjunto de aprendices débiles en un aprendiz robusto para minimizar los errores de entrenamiento. En el boosting, se selecciona una muestra aleatoria de datos, se ajusta a un modelo y luego se entrena secuencialmente, es decir, cada modelo intenta compensar las debilidades de su predecesor. Con cada iteración, las reglas débiles de cada clasificador individual se combinan para formar una regla de predicción robusta. 

Antes de continuar, exploremos la categoría de aprendizaje por conjuntos de manera más amplia, destacando dos de los métodos más conocidos: bagging y boosting. 

Aprendizaje por conjuntos

El aprendizaje por conjuntos da credibilidad a la idea de la "sabiduría de las masas", que sugiere que la toma de decisiones de un grupo más grande de personas suele ser mejor que la de una persona experta. De manera similar, el aprendizaje por conjuntos se refiere a un grupo (o conjunto) de aprendices básicos, o modelos, que trabajan colectivamente para lograr una mejor predicción final. Un solo modelo, también conocido como aprendiz básico o débil, puede no funcionar bien individualmente debido a una gran variación o un alto sesgo. Sin embargo, cuando se agrupan los aprendices débiles, pueden formar un aprendiz fuerte, ya que su combinación reduce el sesgo o la varianza, produciendo un mejor rendimiento del modelo. 

Los métodos por conjunto se ilustran con frecuencia utilizando árboles de decisión, ya que este algoritmo puede ser propenso a sobreajustarse (alta varianza y bajo sesgo) cuando no se ha podado y también puede prestarse al subajuste (baja varianza y alto sesgo) cuando es muy pequeño, como un tocón de decisión, que es un árbol de decisión con un nivel. Recuerde que, cuando un algoritmo se sobreajusta o subajusta a su conjunto de datos de entrenamiento, no se puede generalizar bien a nuevos conjuntos de datos, por lo que se utilizan métodos por conjuntos para contrarrestar este comportamiento y permitir la generalización del modelo a nuevos conjuntos de datos. Si bien los árboles de decisión pueden exhibir una alta varianza o un alto sesgo, vale la pena señalar que no es la única técnica de modelado que aprovecha el aprendizaje por conjuntos para encontrar el "punto óptimo" dentro de equilibrio entre sesgo y varianza.  

Bagging frente a boosting

El bagging y el boosting son dos de los tipos principales de métodos de aprendizaje por conjuntos. Como se destaca en este estudio (PDF, 242 KB) (enlace externo a ibm.com), la principal diferencia entre estos métodos de aprendizaje es la forma en que se entrenan. En el bagging, los aprendices débiles se entrenan en paralelo, pero en el boosting, aprenden secuencialmente. Esto significa que se construye una serie de modelos y con cada nueva iteración del modelo, se incrementan los pesos de los datos mal clasificados en el modelo anterior. Esta redistribución de pesos ayuda al algoritmo a identificar los parámetros en los que necesita enfocarse para mejorar su rendimiento. AdaBoost, que significa "algoritmo de boosting adaptativo", es uno de los algoritmos de boosting más populares, ya que fue uno de los primeros de su tipo. Otros tipos de algoritmos de boosting incluyen XGBoost, GradientBoost y BrownBoost. 

Otra diferencia entre bagging y boosting es en cómo se utilizan. Por ejemplo, los métodos de bagging se utilizan normalmente en aprendices débiles que muestran alta varianza y bajo sesgo, mientras que los métodos de boosting se aprovechan cuando se observa baja varianza y alto sesgo. Si bien el bagging se puede utilizar para evitar el sobreajuste, los métodos de boosting pueden ser más propensos a esto (enlace externo a ibm.com) aunque realmente depende del conjunto de datos. Sin embargo, el ajuste de parámetros puede ayudar a evitar el problema. 

Como resultado, el bagging y el boosting también tienen diferentes aplicaciones en el mundo real. El bagging se ha empleado para los procesos de aprobación de préstamos y la genómica estadística, mientras que el boosting se ha utilizado más en aplicaciones de reconocimiento de imágenes y motores de búsqueda.  

Productos destacados

SPSS Modeler

Tipos de boosting

Los métodos de boosting se enfocan en la combinación iterativa de aprendices débiles para crear un aprendiz fuerte que pueda predecir resultados más precisos. Conviene recordar que los aprendices débiles clasifican los datos ligeramente mejor que las suposiciones aleatorias. Este enfoque puede proporcionar resultados robustos para problemas de predicción, e incluso puede superar a las redes neuronales y soportar máquinas vectoriales para tareas como la recuperación de imágenes (PDF, 1.9 MB) (enlace externo a ibm.com).  

Los algoritmos de boosting pueden diferir en la forma en que crean y agregan aprendices débiles durante el proceso secuencial. Tres tipos populares de métodos de boosting son: 

  • Boosting adaptativo o AdaBoost: a Yoav Freund y Robert Schapire se les atribuye la creación del algoritmo AdaBoost. Este método funciona de forma iterativa, identificando puntos de datos mal clasificados y ajustando sus pesos para minimizar el error de entrenamiento. El modelo continúa optimizándose de manera secuencial hasta que produce el predictor más fuerte.  
  • Boosting de gradiente: sobre la base del trabajo de Leo Breiman, Jerome H. Friedman desarrolló el boosting de gradiente, que funciona agregando secuencialmente predictores a un conjunto en el que  cada uno de ellos corrige los errores de su predecesor. Sin embargo, en lugar de cambiar el peso de los puntos de datos como AdaBoost, el boosting de gradiente entrena los errores residuales del predictor anterior. Se utiliza el nombre, boosting de gradiente, ya que combina el algoritmo de descenso de gradiente y el método de boosting.  
  • Boosting de gradiente extremo o XGBoost:  XGBoost es una implementación de boosting de gradiente diseñada para mejorar la velocidad y escala computacionales. XGBoost emplea múltiples núcleos en la CPU, permitiendo que el aprendizaje ocurra en paralelo durante el entrenamiento.  

Beneficios y desafíos del boosting

Podemos destacar una serie de beneficios y desafíos clave que presenta el método de boosting cuando se utiliza para problemas de clasificación o regresión. 

Los principales beneficios de boosting incluyen:  

  • Facilidad de implementación: el boosting se puede utilizar con varias opciones de configuración de hiperparámetros para mejorar el ajuste. No se requiere preprocesamiento de datos y los algoritmos de boosting tienen rutinas integradas para gestionar los datos faltantes. En Python, la biblioteca scikit-learn de métodos por conjuntos (también conocida como sklearn.ensemble) facilita la implementación de los métodos de boosting populares, incluidos AdaBoost, XGBoost, etc.  
  • Reducción de sesgos: los algoritmos de boosting combinan múltiples aprendices débiles en un método secuencial, mejorando iterativamente las observaciones. Este enfoque puede ayudar a reducir el alto sesgo, que se observa comúnmente en árboles de decisión poco profundos y modelos de regresión logística. 
  • Eficiencia computacional: dado que los algoritmos de boosting solo seleccionan características que aumentan su poder predictivo durante el entrenamiento, puede ayudar reducir la dimensionalidad, así como a aumentar la eficiencia computacional.  

Los desafíos principales del boosting incluyen:  

  •  Sobreajuste: hay alguna controversia en este estudio (enlace externo a ibm.com) sobre si el boosting puede ayudar a reducir el sobreajuste o empeorarlo. Lo incluimos en los desafíos porque, en los casos en que ocurre, las predicciones no se pueden generalizar a nuevos conjuntos de datos.  
  •  Computación intensa: el entrenamiento secuencial en el boosting es difícil de escalar. Dado que cada estimador se basa en sus predecesores, los modelos de boosting pueden ser computacionalmente costosos, aunque XGBoost busca corregir los problemas de escalabilidad que se observan en otros tipos de métodos de boosting. Los algoritmos de boosting pueden ser más lentos de entrenar en comparación a los de bagging, ya que una gran cantidad de parámetros también pueden influir en el comportamiento del modelo. 
Aplicaciones del boosting

Los algoritmos de boosting son adecuados para proyectos de inteligencia artificial en una amplia variedad de industrias, que incluyen:  

  • Cuidado de la salud: el boosting se utiliza para reducir los errores en las predicciones de datos médicos, como la predicción de factores de riesgo cardiovascular y las tasas de supervivencia de los pacientes con cáncer. Por ejemplo, este estudio (enlace externo a ibm.com) muestra que los métodos por conjuntos mejoran significativamente la precisión en la identificación de pacientes que podrían beneficiarse del tratamiento preventivo de enfermedades cardiovasculares, mientras se evita el tratamiento innecesario de otros. Del mismo modo, otro estudio (enlace externo a IBM) descubrió que la aplicación del boosting a múltiples plataformas de genómica puede mejorar la predicción del tiempo de supervivencia del cáncer. 

  • TI: los árboles de regresión potenciados por gradientes se utilizan en los motores de búsqueda para clasificar las páginas, mientras que el algoritmo de boosting de Viola-Jones se utiliza para recuperación de imágenes. Como lo señaló Cornell (enlace externo a ibm.com), los clasificadores potenciados permiten detener antes los cómputos, cuando está claro hacia dónde se dirige una predicción. Esto significa que un motor de búsqueda puede detener la evaluación de las páginas de posicionamiento más bajo, mientras que los escáneres de imágenes solo examinarán las imágenes que efectivamente contengan el objeto buscado.   

  • Finanzas: el boosting se utiliza con modelos de deep learning para automatizar tareas críticas, incluida la detección de fraudes, el análisis de precios y más. Por ejemplo, los métodos de boosting en la detección de fraudes con tarjetas de crédito y el análisis de precios de productos financieros (enlace externo a ibm.com) mejoran la precisión del análisis de conjuntos de datos masivos para minimizar las pérdidas financieras.  

Soluciones relacionadas
SPPS Modeler

Impulse el retorno de inversión y acelere la creación de valor con una herramienta de ciencia de datos intuitiva de arrastrar y soltar.

Explore IBM SPSS Modeler
Soluciones IBM Cloud

Híbrida. Abierta. Resiliente. Su plataforma y asociado para la transformación digital.

Explore las soluciones en la nube
Soluciones Cloud Pak

Software de nube híbrida basado en IA.

Explore las soluciones Cloud Pak
Dé el siguiente paso

Las soluciones de IBM dan soporte al ciclo de vida de machine learning end-to-end. Descubra cómo las herramientas de minería de datos de IBM, como IBM SPSS Modeler, le permiten desarrollar modelos predictivos para implementarlos en las operaciones de negocio. Facilitan la mejora de la precisión de los modelos con el modelado. Para conocer más acerca de las ventajas de los métodos de boosting y bagging, consulte la comunidad de ciencia de datos de IBM.

Únase hoy a la comunidad de ciencia de datos de IBM