¿Cuál es la diferencia entre bootstrapping y validación cruzada?

21

Solía ​​aplicar la validación cruzada K-fold para una evaluación sólida de mis modelos de aprendizaje automático. Pero también soy consciente de la existencia del método bootstrapping para este propósito. Sin embargo, no puedo ver la principal diferencia entre ellos en términos de estimación de rendimiento.

Por lo que veo, bootstrapping también está produciendo un cierto número de subconjuntos de entrenamiento + prueba aleatorios (aunque de manera diferente), entonces, ¿cuál es el punto, la ventaja de usar este método sobre CV? Lo único que pude deducir es que, en caso de bootstrapping, uno podría producir artificialmente un número prácticamente arbitrario de tales subconjuntos, mientras que para CV el número de instancias es una especie de límite para esto. Pero este aspecto parece ser una molestia muy pequeña.

Fredrik
fuente

Respuestas:

17

Tanto la validación cruzada como el bootstrapping son métodos de remuestreo .

  • bootstrap vuelve a muestrear con reemplazo (y generalmente produce nuevos conjuntos de datos "sustitutos" con el mismo número de casos que el conjunto de datos original). Debido al dibujo con reemplazo, un conjunto de datos de arranque puede contener múltiples instancias de los mismos casos originales y puede omitir completamente otros casos originales.
  • la validación cruzada vuelve a muestrear sin reemplazo y, por lo tanto, produce conjuntos de datos sustitutos que son más pequeños que el original. Estos conjuntos de datos se producen de manera sistemática, de modo que después de un número predeterminado de de conjuntos de datos sustitutos, cada uno de los casos originales se ha omitido exactamente una vez. Esto se denomina validación cruzada k-fold o validación cruzada leave- x -out con , por ejemplo, la validación cruzada leave-one-out omite 1 caso para cada conjunto sustituto, es decir, .knx=nkk=n

  • Como sugiere el nombre de validación cruzada , su propósito principal es medir (generalización) el rendimiento de un modelo. Por el contrario, el bootstrapping se usa principalmente para establecer funciones de distribución empíricas para una amplia gama de estadísticas (generalizadas como en el rango, por ejemplo, de la variación de la media a la variación de modelos en modelos de conjuntos en bolsas).

  • El análogo de omisión del procedimiento bootstrag se llama jackknifing (y en realidad es más antiguo que bootstrapping).

  • El análogo de bootstrap a las estimaciones de validación cruzada del error de generalización se denomina estimación fuera de bootstrap (porque los casos de prueba son aquellos que quedaron fuera del conjunto de entrenamiento remuestreado de bootstrap).

[validación cruzada vs. validación fuera de lugar] Sin embargo, no puedo ver la diferencia principal entre ellos en términos de estimación de rendimiento.

Esa intuición es correcta: en la práctica, a menudo no hay mucha diferencia entre la validación cruzada iterativa doble y fuera de lugar. Con un número total similar de modelos sustitutos evaluados, se ha encontrado que el error total [de la medición del error de predicción del modelo] es similar, aunque oob generalmente tiene más sesgo y menos varianza que las estimaciones CV correspondientes.k

Hay una serie de intentos para reducir el sesgo oob (.632-bootstrap, .632 + -bootstrap) pero si realmente mejorarán la situación depende de la situación en cuestión.

Literatura:


Lo único que pude deducir es que, en caso de bootstrapping, uno podría producir artificialmente un número prácticamente arbitrario de tales subconjuntos, mientras que para CV el número de instancias es una especie de límite para esto.

Sí, hay menos combinaciones posibles para CV que para bootstrapping. Pero el límite para CV es probablemente más alto de lo que usted sabe. Para un conjunto de datos con casos y plegado de validación cruzada, tienenk

  • CV combinaciones sin reemplazo (para k <n que son mucho más que las posibilidades que generalmente se evalúan) vs.(nk)k
  • bootstrap / oob combinaciones con reemplazo (que nuevamente son mucho más que, por ejemplo, 100 o 1000 modelos sustitutos que generalmente se evalúan)(2n1n)
cbeleites descontentos con SX
fuente
3

Bootstrapping es cualquier prueba o métrica que se basa en un muestreo aleatorio con reemplazo. Es un método que ayuda en muchas situaciones, como la validación del rendimiento de un modelo predictivo, métodos de conjunto, estimación de sesgo y varianza del parámetro de un modelo, etc. Funciona mediante realizar un muestreo con reemplazo del conjunto de datos original y, al mismo tiempo, asumir que los puntos de datos que no se han elegido son el conjunto de datos de prueba. Podemos repetir este procedimiento varias veces y calcular el puntaje promedio como una estimación del rendimiento de nuestro modelo. Además, Bootstrapping está relacionado con los métodos de entrenamiento de conjunto, porque podemos construir un modelo usando cada conjunto de datos de bootstrap y "empacar" estos modelos en un conjunto usando el voto mayoritario (para clasificación) o computando el promedio (para predicciones numéricas) para todos Estos modelos como nuestro resultado final.

La validación cruzada es un procedimiento para validar el rendimiento de un modelo, y se realiza dividiendo los datos de entrenamiento en k partes. Asumimos que las partes k-1 son el conjunto de entrenamiento y utilizamos la otra parte es nuestro conjunto de prueba. Podemos repetir que k veces de manera diferente manteniendo una parte diferente de los datos cada vez. Finalmente, tomamos el promedio de los puntajes k como nuestra estimación de rendimiento. La validación cruzada puede sufrir sesgos o variaciones. Al aumentar el número de divisiones, la varianza también aumentará y el sesgo disminuirá. Por otro lado, si disminuimos el número de divisiones, el sesgo aumentará y la varianza disminuirá.

En resumen, la validación cruzada divide el conjunto de datos disponible para crear múltiples conjuntos de datos, y el método Bootstrapping usa el conjunto de datos original para crear múltiples conjuntos de datos después del remuestreo con reemplazo. Bootstrapping no es tan fuerte como la validación cruzada cuando se usa para la validación del modelo. Bootstrapping tiene más que ver con la construcción de modelos de conjuntos o simplemente con la estimación de parámetros.

Christos Karatsalos
fuente
2

La validación cruzada es una técnica que tiene como objetivo ver qué tan bien generaliza su modelo en datos con los que no se entrenó. No afecta los resultados de su algoritmo, solo los evalúa .

Bootstrapping es un método de conjunto que agrega los resultados de varios modelos, como árboles de decisión, para producir un resultado promedio . Técnicamente hablando, reduce la varianza de un algoritmo de clasificación que se basa en un solo modelo, ya que promedia el resultado sobre los resultados de varias variantes de la misma estructura del modelo (con diferentes parámetros). Por lo tanto, cambia el rendimiento del algoritmo de clasificación, no lo evalúa .

En otras palabras : la validación cruzada evalúa qué tan bien generaliza un algoritmo, mientras que bootstrapping realmente ayuda al algoritmo a generalizar mejor.

En realidad, puede usar la validación cruzada en un modelo bootstrapped para ver qué tan bien se generaliza.

pcko1
fuente
3
Eso es embolsado no bootstrapping ¿verdad?
elemolotiv
0
  • Validación cruzada: proporcione estimaciones del error de prueba.
  • Bootstrap: proporciona el error estándar de las estimaciones.
Hangyu Tian
fuente