La agregación Bootstrap , también llamada bagging (de bootstrap agg regat ing ), es un metaalgoritmo conjunto de aprendizaje automático diseñado para mejorar la estabilidad y precisión de los algoritmos de aprendizaje automático utilizados en la clasificación y regresión estadística . También reduce la variación y ayuda a evitar el sobreajuste . Aunque suele aplicarse a métodos de árboles de decisión , puede utilizarse con cualquier tipo de método. El ensacado es un caso especial del enfoque de promediación de modelos .
Dado un conjunto de entrenamiento estándar de tamaño n , el ensacado genera m nuevos conjuntos de entrenamiento , cada uno de tamaño n′ , mediante muestreo de D uniformemente y con reemplazo . Al realizar un muestreo con reemplazo, algunas observaciones pueden repetirse en cada uno . Si n ′ = n , entonces para n grande se espera que el conjunto tenga la fracción (1 - 1/ e ) (≈63,2%) de los ejemplos únicos de D , siendo el resto duplicados. [1] Este tipo de muestra se conoce como muestra de arranque . El muestreo con reemplazo garantiza que cada bootstrap sea independiente de sus pares, ya que no depende de muestras elegidas previamente al realizar el muestreo. Luego, se ajustan m modelos utilizando las m muestras de arranque anteriores y se combinan promediando la salida (para regresión) o votando (para clasificación).
El ensacado conduce a "mejoras para procedimientos inestables", [2] que incluyen, por ejemplo, redes neuronales artificiales , árboles de clasificación y regresión , y selección de subconjuntos en regresión lineal . [3] Se demostró que el embolsado mejora el aprendizaje previo a la imagen. [4] [5] Por otro lado, puede degradar levemente el rendimiento de métodos estables como los K-vecinos más cercanos. [2]
Hay tres tipos de conjuntos de datos en la agregación bootstrap. Estos son los conjuntos de datos originales, de arranque y listos para usar. Cada sección a continuación explicará cómo se crea cada conjunto de datos, excepto el conjunto de datos original. El conjunto de datos original es cualquier información que se proporcione.
El conjunto de datos de arranque se crea seleccionando aleatoriamente objetos del conjunto de datos original. Además, debe tener el mismo tamaño que el conjunto de datos original. Sin embargo, la diferencia es que el conjunto de datos de arranque puede tener objetos duplicados. Aquí hay un ejemplo simple para demostrar cómo funciona junto con la siguiente ilustración:
Supongamos que el conjunto de datos original es un grupo de 12 personas. Sus nombres son Emily, Jessie, George, Constantine, Lexi, Theodore, John, James, Rachel, Anthony, Ellie y Jamal.
Al elegir aleatoriamente un grupo de nombres, digamos que nuestro conjunto de datos de arranque tenía a James, Ellie, Constantine, Lexi, John, Constantine, Theodore, Constantine, Anthony, Lexi, Constantine y Theodore. En este caso, la muestra de arranque contenía cuatro duplicados de Constantine y dos duplicados de Lexi y Theodore.
El conjunto de datos listo para usar representa a las personas restantes que no estaban en el conjunto de datos de arranque. Se puede calcular tomando la diferencia entre el conjunto de datos original y el de arranque. En este caso, las muestras restantes que no fueron seleccionadas son Emily, Jessie, George, Rachel y Jamal. Tenga en cuenta que, dado que ambos conjuntos de datos son conjuntos, al tomar la diferencia, los nombres duplicados se ignoran en el conjunto de datos de arranque. La siguiente ilustración muestra cómo se hacen los cálculos:
La creación de conjuntos de datos de arranque y listos para usar es crucial, ya que se utiliza para probar la precisión de un algoritmo de bosque aleatorio. Por ejemplo, un modelo que produce 50 árboles utilizando conjuntos de datos de arranque/listos para usar tendrá una mayor precisión que si produjera 10 árboles. Dado que el algoritmo genera múltiples árboles y, por lo tanto, múltiples conjuntos de datos, la posibilidad de que un objeto quede fuera del conjunto de datos de arranque es baja. Las siguientes secciones tratan con más detalle cómo funciona el algoritmo de bosque aleatorio.
El siguiente paso del algoritmo implica la generación de árboles de decisión a partir del conjunto de datos iniciado. Para lograr esto, el proceso examina cada gen/característica y determina en cuántas muestras la presencia o ausencia de la característica produce un resultado positivo o negativo. Luego, esta información se usa para calcular una matriz de confusión , que enumera los verdaderos positivos, falsos positivos, verdaderos negativos y falsos negativos de la característica cuando se usa como clasificador. Luego, estas características se clasifican según varias métricas de clasificación basadas en sus matrices de confusión. Algunas métricas comunes incluyen la estimación de la corrección positiva (calculada restando los falsos positivos de los verdaderos positivos), la medida de "bondad" y la ganancia de información . Luego, estas características se utilizan para dividir las muestras en dos conjuntos: los que poseen la característica principal y los que no.
El siguiente diagrama muestra un árbol de decisión de profundidad dos que se utiliza para clasificar datos. Por ejemplo, un punto de datos que exhiba la Característica 1, pero no la Característica 2, recibirá un "No". A otro punto que no presenta la Característica 1, pero sí la Característica 3, se le dará un "Sí".
Este proceso se repite de forma recursiva para niveles sucesivos del árbol hasta alcanzar la profundidad deseada. En la parte inferior del árbol, las muestras que dan positivo para la característica final generalmente se clasifican como positivas, mientras que aquellas que carecen de la característica se clasifican como negativas. [6] Estos árboles se utilizan luego como predictores para clasificar nuevos datos.
La siguiente parte del algoritmo implica introducir otro elemento de variabilidad entre los árboles arrancados. Además de que cada árbol solo examina un conjunto de muestras iniciadas, solo se considera un número pequeño pero consistente de características únicas al clasificarlas como clasificadores. Esto significa que cada árbol solo conoce los datos pertenecientes a un pequeño número constante de características y un número variable de muestras que es menor o igual al del conjunto de datos original. En consecuencia, es más probable que los árboles arrojen una gama más amplia de respuestas, derivadas de conocimientos más diversos. Esto da como resultado un bosque aleatorio , que posee numerosos beneficios sobre un único árbol de decisión generado sin aleatoriedad. En un bosque aleatorio, cada árbol "vota" si clasificar o no una muestra como positiva en función de sus características. Luego, la muestra se clasifica según la mayoría de votos. Un ejemplo de esto se da en el siguiente diagrama, donde los cuatro árboles en un bosque aleatorio votan si un paciente con mutaciones A, B, F y G tiene cáncer o no. Dado que tres de cada cuatro árboles votan a favor, el paciente se clasifica como cáncer positivo.
Debido a sus propiedades, los bosques aleatorios se consideran uno de los algoritmos de extracción de datos más precisos, es menos probable que sobreadapten sus datos y se ejecutan de manera rápida y eficiente incluso para conjuntos de datos grandes. [7] Son principalmente útiles para la clasificación a diferencia de la regresión , que intenta establecer conexiones observadas entre variables estadísticas en un conjunto de datos. Esto hace que los bosques aleatorios sean particularmente útiles en campos como la banca, la atención médica, el mercado de valores y el comercio electrónico, donde es importante poder predecir resultados futuros basándose en datos pasados. [8] Una de sus aplicaciones sería como herramienta útil para predecir el cáncer basándose en factores genéticos, como se ve en el ejemplo anterior.
Hay varios factores importantes a considerar al diseñar un bosque aleatorio. Si los árboles en los bosques aleatorios son demasiado profundos, aún puede ocurrir un sobreajuste debido a una especificidad excesiva. Si el bosque es demasiado grande, el algoritmo puede volverse menos eficiente debido a un mayor tiempo de ejecución. Los bosques aleatorios tampoco suelen funcionar bien cuando se les proporcionan datos escasos y con poca variabilidad. [8] Sin embargo, todavía tienen numerosas ventajas sobre algoritmos de clasificación de datos similares, como las redes neuronales , ya que son mucho más fáciles de interpretar y generalmente requieren menos datos para el entrenamiento. [9] Como componente integral de los bosques aleatorios, la agregación bootstrap es muy importante para los algoritmos de clasificación y proporciona un elemento crítico de variabilidad que permite una mayor precisión al analizar nuevos datos, como se analiza a continuación.
Si bien las técnicas descritas anteriormente utilizan bosques aleatorios y embolsado (también conocido como bootstrapping), existen ciertas técnicas que se pueden utilizar para mejorar su ejecución y tiempo de votación, su precisión de predicción y su rendimiento general. Los siguientes son pasos clave para crear un bosque aleatorio eficiente:
Para la clasificación, utilice un conjunto de entrenamiento , un inductor y el número de muestras de arranque como entrada. Generar un clasificador como salida [14]
para i = 1 a m { D' = muestra de arranque de D (muestra con reemplazo) Ci = I(D')}C*(x) = argmax #{i:Ci(x)=y} (etiqueta y predicha con mayor frecuencia) y∈Y
Para ilustrar los principios básicos del embolsado, a continuación se muestra un análisis sobre la relación entre el ozono y la temperatura (datos de Rousseeuw y Leroy [ aclaración necesaria ] (1986), análisis realizado en R ).
La relación entre la temperatura y el ozono parece no lineal en este conjunto de datos, según el diagrama de dispersión. Para describir matemáticamente esta relación, se utilizan suavizadores LOESS (con ancho de banda 0,5). En lugar de crear un único suavizador para el conjunto de datos completo, se extrajeron 100 muestras de arranque . Cada muestra se compone de un subconjunto aleatorio de los datos originales y mantiene una apariencia de distribución y variabilidad del conjunto maestro. Para cada muestra de arranque, se instaló un suavizador LOESS. Luego se hicieron predicciones a partir de estos 100 suavizadores en todo el rango de datos. Las líneas negras representan estas predicciones iniciales. Las líneas no concuerdan en sus predicciones y tienden a sobreajustar sus puntos de datos: evidente por el flujo tambaleante de las líneas.
Al tomar el promedio de 100 suavizadores, cada uno de los cuales corresponde a un subconjunto del conjunto de datos original, llegamos a un predictor empaquetado (línea roja). El flujo de la línea roja es estable y no se ajusta demasiado a ningún punto de datos.
Ventajas:
Desventajas:
El concepto de agregación bootstrap se deriva del concepto de bootstrapping desarrollado por Bradley Efron. [17] Leo Breiman propuso la agregación Bootstrap, quien también acuñó el término abreviado "bagging" ( b ootstrap agg regat ing ). Breiman desarrolló el concepto de embolsado en 1994 para mejorar la clasificación combinando clasificaciones de conjuntos de entrenamiento generados aleatoriamente. Sostuvo que "si perturbar el conjunto de aprendizaje puede provocar cambios significativos en el predictor construido, entonces el embolsado puede mejorar la precisión". [3]
{{cite journal}}
: Citar diario requiere |journal=
( ayuda )CS1 maint: multiple names: authors list (link)