¿Qué es el boosting?

¿Qué es el boosting?

En machine learning, el boosting es un método de aprendizaje conjunto que combina un conjunto de aprendices débiles en un aprendiz fuerte para minimizar los errores de entrenamiento. Los algoritmos de impulso pueden mejorar el poder predictivo de la identificación de imágenes, objetos y característica, el análisis de sentimiento, la minería de datos y mucho más.

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.

Más información sobre el aprendizaje por conjuntos

El aprendizaje conjunto refuerza 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 (o ensemble) 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 a la alta varianza o al alto sesgo. Sin embargo, cuando se agregan los 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 infraajuste (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.

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.

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, 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, 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 son 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 aprendices 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. Si bien el bagging se puede utilizar para evitar el sobreajuste, los métodos de refuerzo pueden ser más propensos a esto, 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 utilizado en procesos de aprobación de préstamos y genómica estadística, mientras que el boosting se ha empleado más en aplicaciones de reconocimiento de imágenes y motores de búsqueda.

AI Academy

Ponga la IA a trabajar para el servicio de atención 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.

Tipos de boosting

Los métodos de boosting se centran en combinar iterativamente a los 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 una suposición aleatoria. Este enfoque puede proporcionar resultados sólidos para problemas de predicción y puede superar a las redes neuronales y las máquinas de soporte vectorial para tareas como la recuperación de imágenes

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 sigue optimizándose de forma secuencial hasta que se obtiene el predictor más potente.

  • Boosting de gradientes: basándose en el trabajo de Leo Breiman, Jerome H. Friedman desarrolló el boosting de gradientes, que funciona añadiendo predictores secuencialmente a un conjunto y cada uno de ellos corrige los errores de su predecesor. Sin embargo, en lugar de cambiar los pesos de los puntos de datos como AdaBoost, el boosting de gradiente se basa en los errores residuales del predictor anterior. Se utiliza el nombre de 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 del boosting de gradiente diseñada para la velocidad y escala computacionales. XGBoost aprovecha múltiples núcleos en la CPU, lo que permite que el aprendizaje se produzca en paralelo durante el entrenamiento.

Beneficios y desafíos de 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 boosting se puede utilizar 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 boosting populares, incluidos AdaBoost, XGBoost, etc.

  • Reducción del sesgo: los algoritmos de boosting combinan varios 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 superficiales 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 a reducir la dimensionalidad, así como a aumentar la eficiencia computacional.

Los principales retos del boosting incluyen:

  •  Sobreajuste: existe cierta controversia en la investigación sobre 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 escalar. Dado que cada estimador se basa en sus predecesores, los modelos de boosting pueden ser costosos desde el punto de vista computacional, aunque XGBoost busca resolver los problemas de escalabilidad observados en otros tipos de métodos de boosting. Los algoritmos de boosting pueden ser más lentos de entrenar en comparación con el bagging, ya que un gran número 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 gama de sectores, entre los que se incluyen:

  • Sanidad: 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ónmuestra que los métodos de conjunto mejoran significativamente la precisión en la identificación de pacientes que podrían obtener un beneficio del tratamiento preventivo de enfermedades cardiovasculares, al tiempo que evitan el tratamiento innecesario de otros. Del mismo modo, otro estudio 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.

 

  • 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 potenciación Viola-Jones se utiliza para la recuperación de imágenes. Como señaló Cornell, los clasificadores potenciados permiten que los cálculos se detengan antes 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 menor clasificación, mientras que los escáneres de imágenes solo considerarán las imágenes que realmente contengan el objeto deseado.

  • Finanzas: el boosting se utiliza con modelos de deep learning para automatizar tareas cruciales, como la detección de fraudes, el análisis de precios y mucho más. Por ejemplo, impulsar los métodos de detección del fraude con tarjetas de crédito y análisis de precios de productos financieros mejora la precisión del análisis de conjuntos de datos masivos para minimizar las pérdidas financieras.
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