El bootstrap aggregating, comúnmente conocido como bagging, es un método de aprendizaje conjunto en el aprendizaje automático diseñado para mejorar la precisión y la robustez de los modelos predictivos. Funciona generando múltiples muestras bootstrap (subconjuntos aleatorios con reemplazo) del conjunto de datos de entrenamiento original, entrenando un modelo base separado en cada muestra y agregando sus predicciones. Para tareas de regresión, la predicción final es típicamente el promedio de todas las salidas de los modelos base; para clasificación, es el voto mayoritario. El bagging reduce principalmente la varianza, ayudando a mitigar el sobreajuste, y es particularmente efectivo para algoritmos de alta varianza como los árboles de decisión.
La técnica fue introducida por Leo Breiman en 1994 en su artículo "Bagging Predictors". Es un concepto fundamental en el aprendizaje conjunto, distinto del boosting (que corrige errores secuencialmente) y del stacking (que combina modelos diversos mediante un meta-aprendiz). El bagging se utiliza ampliamente en la práctica, destacando como el núcleo de los bosques aleatorios, donde se combina con el submuestreo de características. Su simplicidad y efectividad lo han convertido en una herramienta estándar tanto en la investigación académica como en aplicaciones industriales, desde finanzas hasta atención médica.
Desarrollo Histórico
El bagging surgió de la investigación estadística y de aprendizaje automático más amplia de principios de la década de 1990, un período marcado por un creciente interés en combinar múltiples modelos para mejorar la generalización. Leo Breiman, un estadístico de la Universidad de California, Berkeley, formalizó el enfoque en 1994, basándose en trabajos anteriores sobre métodos bootstrap de Bradley Efron. Breiman demostró tanto teórica como empíricamente que promediar predicciones de modelos entrenados en conjuntos de datos perturbados podía reducir el error, especialmente para aprendices inestables cuyas salidas cambian significativamente con pequeñas variaciones en los datos.
El método ganó rápida tracción después de la introducción de los bosques aleatorios por Breiman en 2001, que extendieron el bagging al seleccionar también aleatoriamente un subconjunto de características para cada división en los árboles de decisión. Esta innovación descorrelacionó aún más los modelos base, lo que condujo a mejoras sustanciales en el rendimiento. Desde entonces, el bagging se ha integrado en numerosas bibliotecas de software, incluyendo scikit-learn, el paquete randomForest de R y TensorFlow Decision Forests, haciéndolo accesible para profesionales en todo el mundo.
Detalles Algorítmicos
El algoritmo de bagging procede de manera sencilla. Dado un conjunto de entrenamiento de tamaño n, el proceso genera B muestras bootstrap, cada una de tamaño n, extraídas uniformemente con reemplazo. Esto significa que algunas instancias originales pueden aparecer múltiples veces en una muestra, mientras que otras se omiten (aproximadamente el 63.2% de las instancias únicas aparecen en cualquier muestra dada, siendo el resto duplicados). Para cada muestra, se entrena un modelo base de forma independiente, a menudo utilizando el mismo algoritmo e hiperparámetros. Los modelos base pueden ser árboles de decisión, redes neuronales u otros aprendices.
La agregación depende de la tarea. Para regresión, las predicciones se promedian: \( \hat{f}(x) = \frac{1}{B} \sum_{b=1}^{B} \hat{f}_b(x) \). Para clasificación, la clase final se determina por voto mayoritario entre los modelos base. El número de muestras bootstrap B es un hiperparámetro clave; los valores típicos oscilan entre 50 y 500, con rendimientos decrecientes más allá de unos pocos cientos. El bagging no requiere validación cruzada para los modelos base, ya que las muestras fuera de bolsa (las instancias no incluidas en una muestra bootstrap dada) pueden usarse para estimar el error de generalización sin un conjunto de validación separado.
Fundamentos Teóricos
La efectividad del bagging proviene de la reducción de varianza. Para un modelo base con varianza de predicción \( \sigma^2 \) y correlación por pares \( \rho \) entre modelos, la varianza del promedio del conjunto es aproximadamente \( \rho \sigma^2 + (1-\rho)\sigma^2/B \). A medida que B aumenta, el segundo término desaparece, dejando \( \rho \sigma^2 \). Así, el bagging funciona mejor cuando los modelos base son inestables (alta varianza) pero no demasiado correlacionados. Los árboles de decisión son ideales porque pequeñas perturbaciones en los datos conducen a divisiones diferentes, pero la estructura general permanece lo suficientemente similar como para mantener una correlación moderada.
El análisis original de Breiman mostró que el bagging puede reducir el error cuadrático medio para regresión y la tasa de clasificación errónea para clasificación, siempre que el aprendiz base sea inestable. No ayuda significativamente a aprendices estables como la regresión lineal, donde la varianza ya es baja. El método también proporciona un mecanismo natural para la estimación de incertidumbre a través de la dispersión de las predicciones de los modelos base, que puede usarse para construir intervalos de predicción.
Aplicaciones Prácticas
El bagging se aplica en diversos dominios. En finanzas, se utiliza para la puntuación de crédito y la detección de fraude, donde reducir los falsos positivos es crítico. En atención médica, los árboles de decisión con bagging ayudan a predecir resultados de pacientes y diagnosticar enfermedades a partir de registros de salud electrónicos. En teledetección, los bosques aleatorios (una variante del bagging) clasifican la cobertura del suelo a partir de imágenes satelitales. El método también es común en el procesamiento del lenguaje natural para la clasificación de texto, aunque los modelos de aprendizaje profundo a menudo dependen de otras técnicas de regularización.
Una aplicación notable está en los métodos de conjunto para competiciones de Machine learning, donde el bagging se combina frecuentemente con boosting o se usa como paso final para estabilizar predicciones. Por ejemplo, en el Premio Netflix y las competiciones de Kaggle, los participantes a menudo aplican bagging a sus mejores modelos para obtener pequeñas ganancias de precisión. En la industria, empresas como Amazon Web Services y Google Cloud ofrecen servicios gestionados que incluyen implementaciones de bagging, permitiendo el entrenamiento de modelos escalable sin orquestación manual.
Limitaciones y Extensiones
El bagging tiene varias limitaciones. No reduce el sesgo; si el modelo base está subajustando sistemáticamente, el bagging no corregirá eso. También aumenta el costo computacional linealmente con el número de modelos base, aunque el entrenamiento puede paralelizarse fácilmente ya que cada modelo es independiente. El uso de memoria puede ser alto al almacenar muchos modelos. Además, el bagging es menos efectivo para conjuntos de datos muy grandes donde un solo modelo ya generaliza bien, o para algoritmos estables como las máquinas de vectores de soporte lineales.
Las extensiones abordan algunos de estos problemas. Los bosques aleatorios añaden submuestreo de características para descorrelacionar aún más los árboles. El pasting (o subbagging) entrena en muestras aleatorias más pequeñas sin reemplazo, reduciendo la carga computacional. El bragging (bootstrap aggregating con gradient boosting) combina bagging con boosting para mejorar la precisión. Para redes neuronales, una técnica relacionada llamada conjuntos profundos entrena múltiples redes con diferentes inicializaciones aleatorias, aplicando efectivamente bagging a nivel de pesos. Estas variantes resaltan la influencia perdurable de la idea original de Breiman en el aprendizaje conjunto moderno.