stringtranslate.com

Agregación de arranque

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 .

Descripción de la técnica.

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).

Una ilustración del concepto de agregación bootstrap

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]

Proceso del algoritmo

Términos clave

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.

Creando el conjunto de datos de arranque

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:

Ejemplo de arranque

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.

Crear el conjunto de datos listo para usar

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:

Ejemplo completo

Importancia

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.

Creación de árboles de decisión

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.

Bosques aleatorios

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.

Mejora de los bosques aleatorios y el embolsado

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:

  1. Especifique la profundidad máxima de los árboles: en lugar de permitir que su bosque aleatorio continúe hasta que todos los nodos sean puros, es mejor cortarlo en un punto determinado para disminuir aún más las posibilidades de sobreajuste.
  2. Pode el conjunto de datos: el uso de un conjunto de datos extremadamente grande puede generar resultados que sean menos indicativos de los datos proporcionados que un conjunto más pequeño que represente con mayor precisión en qué se está enfocando.
    • Continúe podando los datos en cada división de nodos en lugar de solo en el proceso de embolsado original.
  3. Decida la precisión o la velocidad: dependiendo de los resultados deseados, puede ser útil aumentar o disminuir la cantidad de árboles dentro del bosque. Aumentar el número de árboles generalmente proporciona resultados más precisos, mientras que disminuir el número de árboles proporcionará resultados más rápidos.

Algoritmo (clasificación)

Diagrama de flujo del algoritmo de ensacado cuando se utiliza para clasificación

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]

  1. Crear nuevos conjuntos de entrenamiento , desde con reemplazo
  2. El clasificador se construye a partir de cada conjunto para determinar la clasificación del conjunto.
  3. Finalmente, el clasificador se genera utilizando el conjunto de clasificadores creado previamente en el conjunto de datos original ; la clasificación predicha con mayor frecuencia por los subclasificadores es la clasificación final.
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 

Ejemplo: datos de ozono

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 y desventajas

Ventajas:

Desventajas:

Historia

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]

Ver también

Referencias

  1. ^ Aslam, Javed A.; Popa, Raluca A.; y Rivest, Ronald L. (2007); On Estimating the Size and Confidence of a Statistical Audit, Proceedings of the Electronic Voting Technology Workshop (EVT '07), Boston, MA, 6 de agosto de 2007. De manera más general, al extraer con reemplazo n′ valores de un conjunto de n ( diferentes e igualmente probables), el número esperado de sorteos únicos es .
  2. ^ ab Breiman, Leo (1996). "Predictores de embolsado". Aprendizaje automático . 24 (2): 123-140. CiteSeerX  10.1.1.32.9399 . doi :10.1007/BF00058655. S2CID  47328136.
  3. ^ ab Breiman, Leo (septiembre de 1994). "Predictores de embolsado" (PDF) . Informe Técnico (421). Departamento de Estadística, Universidad de California Berkeley . Consultado el 28 de julio de 2019 .
  4. ^ Sahu, A., Runger, G., Apley, D., Eliminación de ruido de imágenes con un enfoque de componente principal del núcleo de múltiples fases y una versión de conjunto, Taller de reconocimiento de patrones de imágenes aplicadas del IEEE, páginas 1-7, 2011.
  5. ^ Shinde, Amit, Anshuman Sahu, Daniel Apley y George Runger. "Preimágenes para patrones de variación de Kernel PCA y embolsado". Transacciones IIE, Vol.46, Edición 5, 2014
  6. ^ "Aprendizaje del árbol de decisiones", Wikipedia , 29 de noviembre de 2021 , consultado el 29 de noviembre de 2021
  7. ^ "Bosques aleatorios: descripción de la clasificación". www.stat.berkeley.edu . Consultado el 9 de diciembre de 2021 .
  8. ^ ab "Introducción al bosque aleatorio en el aprendizaje automático". Programa de Educación en Ingeniería (EngEd) | Sección . Consultado el 9 de diciembre de 2021 .
  9. ^ Montantes, James (4 de febrero de 2020). "Tres razones para utilizar el bosque aleatorio en una red neuronal: comparación del aprendizaje automático con el profundo ...". Medio . Consultado el 9 de diciembre de 2021 .
  10. ^ "Pros y contras del bosque aleatorio". HolyPython.com . Consultado el 26 de noviembre de 2021 .
  11. ^ K, Dhiraj (22 de noviembre de 2020). "Ventajas y desventajas del algoritmo forestal aleatorio". Medio . Consultado el 26 de noviembre de 2021 .
  12. ^ Equipo, hacia la IA. "¿Por qué elegir bosques aleatorios y no árboles de decisión? Hacia la IA: la publicación de tecnología e inteligencia artificial líder en el mundo" . Consultado el 26 de noviembre de 2021 .
  13. ^ "Bosque aleatorio". Instituto de Finanzas Corporativas . Consultado el 26 de noviembre de 2021 .
  14. ^ Bauer, Eric; Kohavi, Ron (1999). "Una comparación empírica de algoritmos de clasificación de votación: embolsado, impulso y variantes". Aprendizaje automático . 36 : 108-109. doi : 10.1023/A:1007515423169 . S2CID  1088806.
  15. ^ ab "¿Qué es el embolsado (agregación Bootstrap)?". CFI . Instituto de Finanzas Corporativas . Consultado el 5 de diciembre de 2020 .
  16. ^ Zoghni, Raouf (5 de septiembre de 2020). "Ensacado (agregación Bootstrap), descripción general". La puesta en marcha - a través de Medium.
  17. ^ Efron, B. (1979). "Métodos bootstrap: otra mirada a la navaja". Los anales de la estadística . 7 (1): 1–26. doi : 10.1214/aos/1176344552 .

Otras lecturas