¿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 insights.
Ilustración isométrica del software para Z
¿Qué es Bagging?

Bagging, también conocido como agregación de bootstrap, es el método de aprendizaje por conjuntos que se usa comúnmente para reducir la varianza dentro de un conjunto de datos ruidoso. En 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. Después de generar varias muestras de datos, estos modelos débiles se entrenan de forma independiente y, según el tipo de tarea, es decir, regresión o clasificación, el promedio o la mayoría de esas predicciones arrojan una estimación más precisa. 

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

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, lo que produce un mejor rendimiento del modelo

Los métodos de 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" de equilibrio entre sesgo y varianza.

Bagging frente a boosting

Bagging y 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 bagging, los aprendices débiles se entrenan en paralelo, pero en 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 en la que difieren bagging y boosting son los escenarios en los que 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 emplean cuando se observa baja varianza y alto sesgo.

Cómo funciona bagging

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

  1. Bootstrap: bagging aprovecha una técnica de muestreo de bootstrap 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, un valor/instancia se repite 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, dependiendo 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 todos los resultados predichos 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.
Beneficios y desafíos de bagging

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

  • Facilidad de implementación: las bibliotecas de Python como scikit-learn (también conocida como sklearn) facilitan la combinación de las predicciones de los aprendices o estimadores básicos para mejorar el rendimiento del modelo. Su documentación (enlace externo a IBM) establece los módulos disponibles que puede aprovechar en la optimización de su modelo.
  • Reducción de la varianza: bagging puede reducir la variación dentro de un algoritmo de aprendizaje. Esto es particularmente ú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 sobreajustarse y evitar la generalización precisa a nuevos conjuntos de datos.

Los principales desafíos para el bagging son:

  • Pérdida de interpretabilidad: es difícil obtener información empresarial muy precisa a través de 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 exacto o completo también podría producir más precisión dentro de un solo modelo de clasificación o regresión.
  • Elevado costo computacional: bagging se ralentiza y se vuelve más intensivo a medida que aumenta el número de iteraciones. Por lo tanto, no es adecuado para aplicaciones en tiempo real. Los sistemas agrupados o una gran cantidad de núcleos de procesamiento son ideales para crear rápidamente conjuntos en bolsas en conjuntos de prueba grandes.
  • Menos flexible: como técnica, bagging funciona particularmente bien con algoritmos que son 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 indica en la Guía práctica para machine learning (enlace externo a IBM), "bagging de 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 una gran cantidad de industrias, proporcionando información para el valor del mundo real y perspectivas interesantes, como en los Debates GRAMMY con Watson. Algunos casos clave incluyen:

  • Cuidado de la salud: bagging se ha utilizado para formar predicciones de datos médicos. Por ejemplo, la investigación (PDF, 2.8 MB) (enlace externo a ibm.com) muestra que los métodos de conjunto se han utilizado para una variedad de problemas bioinformáticos, como la selección de genes o proteínas para identificar un rasgo específico de interés. Más específicamente, esta investigación (enlace externo a ibm.com) profundiza en su uso para prever la aparición de diabetes en función de varios predictores de riesgo.
  • TI: bagging también puede mejorar la precisión y exactitud en los sistemas de TI, como los sistemas de detección de intrusiones en la red. Mientras tanto, esta investigación (enlace externo a ibm.com) analiza cómo el bagging puede mejorar la precisión de la detección de intrusiones en la red y reducir las tasas de falsos positivos.
  • Entorno: los métodos de conjunto, como el bagging, se han aplicado en el campo de la teledetección. Más específicamente, esta investigación (enlace externo a ibm.com) muestra cómo se ha utilizado para mapear los tipos de humedales dentro de un paisaje costero.
  • Finanzas: bagging también se ha aprovechado con modelos de deep learning en la industria financiera, automatizando tareas críticas, incluida la detección de fraudes, evaluaciones de riesgo crediticio y problemas de fijación de precios de opciones. Esta investigación (enlace externo a ibm.com) demuestra cómo se ha aprovechado 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 prevenir el fraude con tarjetas de crédito dentro de las instituciones bancarias y financieras.
Soluciones relacionadas
IBM SPSS Modeler

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

Explore IBM SPSS Modeler
Watson Studio

Cree y escale IA confiable en cualquier nube. Automatice el ciclo de vida de la IA para ModelOps.

Explore Watson Studio
Bagging frente a Boosting

Explore la IBM Data Science Community para conocer más acerca de la ciencia de datos y el 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 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 conocer más acerca de ciencia de datos y machine learning.

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