Bootstrap aggregating, comúnmente llamado bagging, es un meta-algoritmo de conjunto en aprendizaje automático diseñado para mejorar la estabilidad y precisión de algoritmos de clasificación y regresión. Reduce la varianza y ayuda a mitigar el sobreajuste. Aunque el bagging se aplica con frecuencia a métodos de árboles de decisión, puede usarse con cualquier tipo de modelo. Es un caso especial del enfoque más amplio de promediado de conjuntos, donde múltiples modelos se combinan para producir una única predicción.
La técnica fue introducida por Thomas Dietterich en los años 90, aunque el término "bagging" fue acuñado por Michael Jordan en un artículo de 1994. Desde entonces, el bagging se ha convertido en una herramienta fundamental en el aprendizaje automático, particularmente en el desarrollo de bosques aleatorios y otros métodos de conjunto.
Idea Central
La idea central detrás del bagging es aprovechar el poder del promediado. Los modelos individuales entrenados en subconjuntos ligeramente diferentes de los datos de entrenamiento tienden a tener errores no correlacionados. Al promediar sus predicciones, estos errores se cancelan, lo que conduce a un modelo final más robusto y preciso. Esto es especialmente beneficioso para algoritmos inestables, donde pequeños cambios en los datos de entrenamiento pueden provocar grandes cambios en el modelo aprendido.
El Algoritmo de Bagging
Dado un conjunto de entrenamiento estándar \( D \) de tamaño \( n \), el bagging genera \( m \) nuevos conjuntos de entrenamiento \( D_i \), cada uno de tamaño \( n' \), mediante un muestreo de \( D \) de manera uniforme y con reemplazo. Este proceso de muestreo se conoce como bootstrapping. Cuando \( n' = n \), para \( n \) grande, se espera que cada \( D_i \) contenga aproximadamente el 63.2% de las muestras únicas de \( D \), siendo el resto duplicados. Esta fracción surge del límite \( 1 - 1/e \). El muestreo con reemplazo asegura que cada muestra bootstrap sea independiente de las demás, ya que la selección de cada muestra no depende de selecciones anteriores.
Después de generar las \( m \) muestras bootstrap, se ajustan \( m \) modelos, uno en cada muestra. Para tareas de regresión, la predicción final es el promedio de las salidas de los modelos individuales. Para tareas de clasificación, la predicción final se determina mediante votación, típicamente una votación por mayoría.
Términos Clave: Conjuntos Original, Bootstrap y Fuera de Bolsa
En bootstrap aggregating, tres tipos de conjuntos de datos son relevantes: el conjunto original, el conjunto bootstrap y el conjunto fuera de bolsa. El conjunto original son los datos de entrenamiento dados. El conjunto bootstrap se crea muestreando aleatoriamente del conjunto original con reemplazo, y tiene el mismo tamaño que el original. Por ejemplo, si el conjunto original consta de 12 personas llamadas Emily, Jessie, George, Constantine, Lexi, Theodore, John, James, Rachel, Anthony, Ellie y Jamal, una muestra bootstrap podría incluir a James, Ellie, Constantine, Lexi, John, Constantine, Theodore, Constantine, Anthony, Lexi, Constantine y Theodore. Aquí, Constantine aparece cuatro veces, Lexi dos veces y Theodore dos veces.
El conjunto fuera de bolsa consiste en las observaciones que no fueron seleccionadas en la muestra bootstrap. En el ejemplo, el conjunto fuera de bolsa sería Emily, Jessie, George, Rachel y Jamal. Dado que los conjuntos ignoran duplicados, la diferencia se toma entre el conjunto original y los elementos únicos del conjunto bootstrap.
Aplicación a Árboles de Decisión y Bosques Aleatorios
El bagging se usa a menudo con árboles de decisión, lo que lleva a la creación de bosques aleatorios. En un bosque aleatorio, cada árbol se entrena en una muestra bootstrap y, además, en cada división solo se considera un pequeño subconjunto aleatorio de características. Esto introduce diversidad adicional entre los árboles, haciendo que el conjunto sea más robusto.
Para construir un árbol de decisión a partir de un conjunto de datos bootstrap, el algoritmo examina cada característica y determina qué tan bien separa las muestras en clases positivas y negativas. Esto se hace a menudo mediante una matriz de confusión, que enumera verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos. Las características se clasifican según métricas como la ganancia de información o una medida de "bondad". La característica principal se usa para particionar las muestras en dos conjuntos: las que poseen la característica y las que no. Este proceso se repite recursivamente para cada subconjunto hasta alcanzar un criterio de parada, como la profundidad máxima. En las hojas, las muestras se clasifican como positivas o negativas según la clase mayoritaria.
Los bosques aleatorios, que combinan bagging con selección aleatoria de características, han demostrado lograr alta precisión y se usan ampliamente en la práctica. El número de árboles en el bosque afecta el rendimiento; por ejemplo, un modelo con 50 árboles generalmente funciona mejor que uno con 10 árboles, ya que la probabilidad de que una observación quede fuera de todas las muestras bootstrap disminuye con más árboles.
Efectos en Diferentes Algoritmos
El bagging conduce a mejoras en procedimientos inestables, que incluyen redes neuronales artificiales, árboles de clasificación y regresión, y selección de subconjuntos en regresión lineal. También se ha demostrado que mejora el aprendizaje de preimágenes. Por otro lado, el bagging puede degradar ligeramente el rendimiento de métodos estables como los k-vecinos más cercanos, porque promediar modelos similares no reduce significativamente la varianza y puede introducir sesgo.
Perspectivas Teóricas
La efectividad del bagging se basa en la reducción de varianza. Para un modelo con alta varianza, como un árbol de decisión profundo, pequeños cambios en los datos de entrenamiento pueden llevar a modelos muy diferentes. Al promediar múltiples modelos entrenados en muestras bootstrap, la varianza de la predicción final se reduce, generalmente sin un aumento significativo del sesgo. Esto es particularmente importante en entornos de alta dimensionalidad, como los que se encuentran en aplicaciones de Deep learning y Artificial intelligence.
Consideraciones Prácticas
El bagging es computacionalmente eficiente porque cada modelo puede entrenarse de forma independiente, lo que facilita la paralelización. Esto ha contribuido a su popularidad en pipelines de aprendizaje automático a gran escala, incluidos los utilizados por proveedores de nube como Amazon Web Services y Google Cloud. En la práctica, el número de muestras bootstrap \( m \) a menudo se elige según los recursos computacionales disponibles, con valores típicos que van de 10 a unos pocos cientos.
Relación con Otros Métodos de Conjunto
El bagging está estrechamente relacionado con otras técnicas de conjunto, como el boosting y el stacking. Mientras que el boosting se centra en entrenar modelos secuencialmente para corregir errores, el bagging entrena modelos en paralelo y los combina mediante promediado o votación. Esta distinción hace que el bagging sea más efectivo para reducir la varianza, mientras que el boosting es más efectivo para reducir el sesgo. El stacking, por otro lado, combina múltiples modelos mediante un meta-modelo entrenado en sus predicciones.
Conclusión
El bagging sigue siendo una técnica fundamental en el aprendizaje automático, ofreciendo una forma simple pero poderosa de mejorar la estabilidad y precisión de los modelos. Sus principios han influido en el desarrollo de métodos de conjunto más avanzados y continúa siendo relevante en aplicaciones modernas, desde datos tabulares tradicionales hasta dominios complejos como aprendizaje profundo y grandes modelos de lenguaje.