Inicio Topics ¿Qué es Bagging? ¿Qué es bagging?
Descubra cómo la agregación de bootstrap, o bagging, puede mejorar la precisión de sus modelos de machine learning para que pueda desarrollar mejores conocimientos.
Ilustración isométrica de Software for Z
¿Qué es bagging?

La agregación de bootstrap o autodocimante, conocida por su nombre en inglés bagging, es el método de aprendizaje por conjuntos que se suele utilizar para reducir la varianza dentro de un conjunto de datos ruidoso. En el bagging, se selecciona una muestra aleatoria de datos en un conjunto de entrenamiento con reemplazo, lo que significa que los puntos de datos individuales se pueden elegir más de una vez. Tras generar varias muestras de datos, estos modelos débiles se entrenan de forma independiente, y en función del tipo de tarea —regresión o clasificación, por ejemplo— el promedio o la mayoría de estas predicciones genera una estimación más precisa. 

Como nota, el algoritmo de bosque aleatorio se considera una extensión de bagging, ya que utiliza tanto este método como la aleatoriedad de características para crear un bosque no correlacionado de árboles de decisiones.

Aprendizaje por conjuntos

El aprendizaje por conjuntos respalda la idea de la "sabiduría de las multitudes", 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 predicción final mejor. Un solo modelo, también conocido como aprendiz básico o débil, puede no funcionar bien individualmente debido a una alta varianza o 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 y, en última instancia, mejora el rendimiento del modelo.

Los métodos por conjuntos se ilustran con frecuencia mediante árboles de decisiones, ya que este algoritmo puede ser propenso a sobreajustes (alta varianza y bajo sesgo) si no se ha podado y también puede prestarse a subajustes (baja varianza y alto sesgo) cuando es muy pequeño, como un tocón de decisión, que es un árbol de decisiones con un solo 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 decisiones pueden presentar una alta varianza o un alto sesgo, cabe señalar que no es la única técnica de modelado que aprovecha el aprendizaje por conjuntos para encontrar el "punto óptimo" de equilibrio entre sesgo y varianza.

Bagging frente a boosting

Bagging y boosting son dos tipos principales de métodos de aprendizaje por conjuntos. Como se describe en este estudio (PDF, 248 KB) (enlace extermo a ibm.com), la principal diferencia entre estos métodos de aprendizaje es la forma en que se entrenan. En bagging, los aprendices débiles se entrenan en paralelo, pero en boosting aprenden secuencialmente. Esto significa que se construyen una serie de modelos y, con cada nueva iteración del modelo, se incrementan las ponderaciones de los datos mal clasificados en el modelo anterior. Esta redistribución de ponderaciones ayuda al algoritmo a identificar los parámetros en los que necesita 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 clase. Otros tipos de algoritmos de boosting son XGBoost, GradientBoost y BrownBoost.

Otra diferencia entre bagging y boosting son los escenarios en los que se utilizan. Por ejemplo, los métodos de bagging normalmente se aplican en estudiantes débiles que presentan una alta varianza y un sesgo bajo, mientras que los métodos de boosting se utilizan cuando se observa una baja varianza y un sesgo alto.

Cómo funciona bagging

En 1996, Leo Breiman (PDF, 829 KB) (enlace externo a ibm.com) presentó el algoritmo de bagging, que consta de tres pasos básicos:

  1. Bootstrapping: bagging se basa en una técnica de muestreo de bootstrapping para crear muestras diversas. Este método de remuestreo genera diferentes subconjuntos del conjunto de datos de entrenamiento seleccionando puntos de datos al azar y con reemplazo. Esto significa que cada vez que selecciona un punto de datos del conjunto de datos de entrenamiento, puede seleccionar la misma instancia varias veces. Como resultado, se repite un valor/instancia dos veces (o más) en una muestra.
  2. Entrenamiento paralelo: estas muestras de bootstrap luego se entrenan de forma independiente y en paralelo entre sí utilizando aprendices débiles o básicos.
  3. Agregación: finalmente, en función de la tarea (es decir, regresión o clasificación), se toma un promedio o la mayoría de las predicciones para calcular una estimación más precisa. En el caso de la regresión, se toma un promedio de todas las salidas predichas por los clasificadores individuales; esto se conoce como votación suave. Para problemas de clasificación, se acepta la clase con mayor mayoría de votos; esto se conoce como votación en firme o votación por mayoría.
Ventajas y desafíos de bagging

Podemos destacar una serie de ventajas y desafíos que presenta el método de bagging cuando se utiliza para problemas de clasificación o regresión. Las principales ventajas de bagging incluyen:

  • Facilidad de implementación: las bibliotecas de Python como scikit-learn (también conocidas como sklearn) permiten combinar fácilmente las predicciones de los aprendices básicos o los estimadores para mejorar el rendimiento del modelo. Su documentación (enlace externo a IBM) establece los módulos disponibles que puede aplicar en la optimización de su modelo.
  • Reducción de varianza: el bagging puede reducir la varianza de un algoritmo de aprendizaje. Esto resulta especialmente útil con datos de alta dimensión, donde los valores perdidos pueden conducir a una mayor varianza, lo que los hace más propensos a sobreajustes y evita la generalización precisa a nuevos conjuntos de datos.

Los principales desafíos para el bagging son:

  • Pérdida de interpretabilidad: es difícil extraer información de negocio muy precisa a través del bagging debido al promedio involucrado en las predicciones. Si bien la salida es más precisa que cualquier punto de datos individual, un conjunto de datos más preciso o completo también podría incrementar la precisión dentro de un único modelo de clasificación o regresión.
  • Elevado coste computacional: el bagging se ralentiza y se intensifica a medida que aumenta el número de iteraciones. Por lo tanto, no es adecuado para aplicaciones en tiempo real. Los sistemas agrupados en clústeres o una gran cantidad de núcleos de procesamiento son ideales para crear rápidamente conjuntos en bolsas (bagging) en grandes conjuntos de pruebas.
  • Menos flexible: como técnica, el bagging funciona particularmente bien con algoritmos menos estables. Uno que sea más estable o esté sujeto a grandes cantidades de sesgo no proporciona tanto beneficio ya que hay menos variación dentro del conjunto de datos del modelo. Como se señala en la Guía práctica de machine learning (enlace externo a IBM), "la aplicación de bagging a un modelo de regresión lineal solo devolverá las predicciones originales para valores suficientemente grandes b".
Aplicaciones de bagging

La técnica de bagging se utiliza en un gran número de sectores, lo que proporciona información para obtener un valor real y perspectivas interesantes, como en los Debates GRAMMY con Watson. Entre los casos de uso destacamos:

  • Asistencia sanitaria: el bagging se utiliza para formar predicciones de datos médicos. Por ejemplo, un estudio (PDF, 2,8 MB) (enlace externo a ibm.com) muestra que se han utilizado métodos por conjuntos para una matriz de problemas de bioinformática, como la selección de genes o proteínas para identificar un rasgo específico de interés. En concreto, este estudio (enlace externo a ibm.com) profundiza en su uso para prever la aparición de diabetes con base en varios predictores de riesgo.
  • TI: el bagging también puede mejorar la precisión y la exactitud en los sistemas informáticos, como los sistemas de detección de intrusiones en redes. Mientras tanto, este estudio (enlace externo a ibm.com) analiza cómo el bagging puede mejorar la exactitud de la detección de intrusiones en redes y reducir las tasas de falsos positivos.
  • Medioambiente: los métodos por conjuntos, como el bagging, se aplican en el campo de la teledetección. Más específicamente, este estudio (enlace externo a ibm.com) muestra cómo se ha utilizado para identificar en un mapa los tipos de humedales de una zona costera.
  • Finanzas: el bagging también se aplica con modelos de deep learning en el sector financiero, automatizando tareas críticas, como la detección de fraudes, evaluaciones de riesgo de crédito o problemas de fijación de precios de opciones. Este estudio (enlace externo a ibm.com) demuestra cómo se ha aplicado el bagging, entre otras técnicas de machine learning, para evaluar el riesgo de incumplimiento de préstamos. Este estudio (enlace externo a ibm.com) destaca cómo el bagging ayuda a minimizar el riesgo al impedir fraudes con tarjeta de crédito en instituciones bancarias y financieras.
Soluciones relacionadas
IBM SPSS Modeler

IBM SPSS Modeler proporciona analítica predictiva para ayudar a descubrir patrones de datos, ganar precisión predictiva y mejorar la toma de decisiones.

Explore IBM SPSS Modeler
Watson Studio

Cree y escale IA fiable en cualquier cloud. Automatice el ciclo de vida de IA para ModelOps.

Explore Watson Studio
Bagging frente a Boosting

Explore la IBM Data Science Community para obtener más información sobre ciencia de datos y machine learning.

Explore la IBM Data Science Community
Dé el siguiente paso

Las soluciones de IBM dan soporte a todo el ciclo de vida de machine learning. Descubra cómo las herramientas de modelado de datos de IBM, como IBM SPSS Modeler y Watson Studio, pueden ayudarle a crear diferentes modelos y a ajustarlos para que sean más precisos, mejorando sus predicciones y cualquier análisis de datos posterior. Regístrese para obtener un IBMid y únase a la IBM Data Science Community para obtener más información sobre ciencia de datos y machine learning.

Únase hoy a la IBM Data Science Community