Mi IBM Iniciar sesión Suscríbase
¿Qué es boosting?

¿Qué es boosting?

Explore la solución de boosting de IBM Regístrese para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de nubes, gráfico circular, pictogramas gráficos
¿Qué es boosting?

¿Qué es boosting?

El boosting es un método de aprendizaje conjunto que combina un conjunto de alumnos débiles en un alumno fuerte para minimizar los errores de entrenamiento. Los algoritmos de boosting pueden mejorar el potencial predictivo de sus iniciativas de extracción de datos.

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. En cada iteración, las reglas débiles de cada clasificador individual se combinan para formar una regla de predicción fuerte.

Ensemble learning

El aprendizaje conjunto da crédito a la idea de la "sabiduría de las multitudes", que sugiere que la toma de decisiones de un grupo más amplio de personas suele ser mejor que la de un experto individual. Del mismo modo, el aprendizaje conjunto se refiere a un grupo de aprendices base, o modelos, que trabajan colectivamente para lograr una mejor predicción final. Un modelo único, también conocido como modelo básico o de aprendizaje débil, puede no funcionar bien individualmente debido al alta varianza o al alto sesgo. Sin embargo, cuando se agregan aprendices débiles, pueden formar un aprendiz fuerte, ya que su combinación reduce el sesgo o la varianza, lo que produce un mejor rendimiento del modelo. 

Los métodos de ensamblaje se ilustran con frecuencia utilizando árboles de decisión, ya que este algoritmo puede ser propenso al sobreajuste (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 ajusta en exceso o en defecto a su conjunto de datos de entrenamiento, no puede generalizar bien a nuevos conjuntos de datos, por lo que los métodos de conjunto se utilizan para contrarrestar este comportamiento y permitir la generalización del modelo a nuevos conjuntos de datos. Aunque los árboles de decisión pueden presentar una varianza o un sesgo elevados, cabe señalar que no es la única técnica de modelado que aprovecha el aprendizaje por conjuntos para encontrar el "punto óptimo" dentro del equilibrio sesgo-varianza. 

Bagging vs boosting

El Bagging y el boosting son dos tipos principales de métodos de aprendizaje por conjuntos. Como se destaca en este estudio (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 alumnos 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, aumentan los pesos de los datos mal clasificados en el modelo anterior. Esta redistribución de las ponderaciones ayuda al algoritmo a identificar los parámetros en los que debe centrarse 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 el bagging y el boosting radica en cómo se utilizan. Por ejemplo, los métodos de bagging se utilizan normalmente en alumnos débiles que muestran una varianza alta y un sesgo bajo, mientras que los métodos de boosting se aprovechan cuando se observa una varianza baja y un sesgo alto. Aunque el bagging se puede utilizar para evitar el sobreajuste, los métodos de refuerzo 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. 

En consecuencia, el bagging y el boosting también tienen diferentes aplicaciones en el mundo real. El bagging se empleó en procesos de aprobación de préstamos y genómica estadística, mientras que el boosting se empleó más en aplicaciones de reconocimiento de imágenes y motores de búsqueda.  

Cómo elegir el modelo fundacional de IA adecuado

Utilice este marco de selección de modelos para elegir el modelo más apropiado mientras equilibra sus requisitos de rendimiento con los costos, los riesgos y las necesidades de despliegue.

Contenido relacionado Regístrese para obtener el libro electrónico sobre almacenes de datos de IA
Tipos de impulso

Tipos de impulso

Los métodos de impulso se centran en combinar iterativamente aprendices débiles para crear un aprendiz fuerte que pueda predecir resultados más precisos. Como recordatorio, un aprendiz débil clasifica los datos ligeramente mejor que las conjeturas aleatorias. Este enfoque puede proporcionar resultados estables para problemas de predicción e incluso puede superar a las neural networks y admitir máquinas de vectores para tareas como la recuperación de imágenes (enlace externo a ibm.com).  

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

  • 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 sigue optimizándose de forma secuencial hasta que se obtiene el predictor más potente.  
  • Refuerzo por gradiente: Basar en el trabajo de Leo Breiman, Jerome H. Friedman desarrolló el refuerzo por gradiente, que funciona agregando secuencialmente predictores a un conjunto en el que cada uno corrige los errores de su predecesor. Sin embargo, en lugar de cambiar los pesos de los puntos de datos como AdaBoost, el gradient boosting se basa en los errores residuales del predictor anterior. El nombre, gradient boosting, se emplea ya que combina el algoritmo de descenso de gradiente y el método boosting.  
  • Aumento extremo de gradiente o XGBoost: XGBoost es una implementación del aumento de gradiente diseñada para velocidad y escala computacional. XGBoost aprovecha varios núcleos en la CPU, lo que permite que el aprendizaje se produzca en paralelo durante el entrenamiento.  

Beneficios y desafíos del boosting

El método de boosting presenta una serie de ventajas y retos clave cuando se utiliza para problemas de clasificación o regresión. 

Los beneficios clave del boosting incluyen:  

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

Los desafíos clave del impulso incluyen:  

  •  Sobreajuste: existe cierta controversia en la investigación (enlace externo a ibm.com) en torno a si el refuerzo puede ayudar o no a reducir el sobreajuste o exacerbarlo. 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 boosting es difícil de ampliar. Dado que cada estimador se basa en sus predecesores, los modelos de impulso pueden ser costosos desde el punto de vista computacional, aunque XGBoost busca abordar los problemas de escalabilidad observados en otros tipos de métodos de impulso. Los algoritmos de boosting pueden ser más lentos de entrenar en comparación con el embolsado, ya que un gran número de parámetros también pueden influir en el comportamiento del modelo. 
Aplicaciones de boosting

Aplicaciones de boosting

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

  • Atención médica: el boosting se utiliza para reducir los errores en las predicciones de datos médicos, como la predicción de los factores de riesgo cardiovascular y las tasas de supervivencia de los pacientes con cáncer. Por ejemplo, la investigación (enlace externo a ibm.com) muestra que los métodos de conjunto mejoran significativamente la precisión en la identificación de pacientes que podrían beneficiarse del tratamiento preventivo de la enfermedad cardiovascular, al tiempo que evitan el tratamiento innecesario de otros. Del mismo modo, otro estudio (enlace externo a ibm.com) descubrió que la aplicación del boosting a múltiples plataformas genómicas puede mejorar la predicción del tiempo de supervivencia del cáncer. 

  • IT: Los árboles de regression de gradiente reforzado se emplean en los motores de búsqueda para la clasificación de páginas, mientras que el algoritmo de refuerzo de Viola-Jones se emplea para la recuperación de imágenes. Como señala Cornell (el enlace se encuentra fuera de ibm.com), los clasificadores potenciados permiten detener antes los cálculos 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 peor clasificadas, mientras que los escáneres de imágenes sólo tendrán en cuenta las imágenes que realmente contengan el objeto deseado.   

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

Soluciones relacionadas

Soluciones relacionadas

IBM SPSS modeler

Impulse el ROI y acelere el tiempo de creación de valor con una herramienta de ciencia de datos intuitiva con interfaz de arrastrar y soltar.

Explore IBM SPSS Modeler
Soluciones de IBM Cloud

Híbrido. Abierto. Resiliente. Su plataforma y socio para la transformación digital.

Explore soluciones en la nube
Soluciones IBM Cloud Pak

Software de nube híbrida impulsado por IA.

Explore las soluciones Cloud Pak
Recursos

Recursos

IBM Research: boosting cuántico

Este artículo muestra cómo las técnicas quantum pueden mejorar la complejidad temporal del AdaBoost clásico.

SnapBoost: Una máquina de refuerzo heterogénea

IBM Research estudia una Heterogeneous Newton Boosting Machine (HNBM) en la que la clase de hipótesis base puede variar a lo largo de las iteraciones de boosting.

Dé el siguiente paso

IBM SPSS Modeler es una solución visual de ciencia de datos y machine learning (ML) que expone patrones y modelos ocultos en los datos a través de un enfoque ascendente de generación de hipótesis. Organizaciones de todo el mundo lo utilizan para la preparación y el descubrimiento de datos, analytics predictivos, la gestión y el despliegue de modelos, y para el aprendizaje automático a fin de monetizar los activos de datos.

Conozca SPSS Modeler Pruébelo gratis por 30 días