Validación cruzada anidada: ¿en qué se diferencia de la selección del modelo a través de kfold CV en el conjunto de entrenamiento?

10

A menudo veo personas hablando de validación cruzada 5x2 como un caso especial de validación cruzada anidada .

Supongo que el primer número (aquí: 5) se refiere al número de pliegues en el bucle interno y el segundo número (aquí: 2) se refiere al número de pliegues en el bucle externo. Entonces, ¿en qué se diferencia esto de un enfoque de selección y evaluación de modelos "tradicionales"? Por "tradicional", quiero decir

  • dividir el conjunto de datos en un entrenamiento separado (por ejemplo, 80%) y un conjunto de prueba
  • utilice la validación cruzada k-fold (p. ej., k = 10) para el ajuste de hiperparámetros y la selección del modelo en el conjunto de entrenamiento
  • evaluar el rendimiento de generalización del modelo seleccionado utilizando el conjunto de prueba

¿No es 5x2 exactamente igual excepto que el conjunto de prueba y entrenamiento tiene el mismo tamaño si k = 2?


fuente
1
Tiene razón, en este caso es el mismo, excepto que utiliza una división 50/50 en el bucle externo en lugar de una división 80/20. En general, proporciona una mejor estimación del rendimiento de generalización y debería preferirse, especialmente con tamaños de muestra relativamente pequeños. Desde mi experiencia, incluso para CV anidados, la estimación del rendimiento varía mucho. A menudo es mejor realizar un CV anidado varias veces para obtener una buena estimación del rendimiento de generalización.
George
Gracias, tiene sentido! Sin embargo, para conjuntos de entrenamiento pequeños, probablemente aumente el número de pliegues en los bucles interno y externo; podría disminuir la varianza, sino también aumentar el sesgo aunque
En general, en lugar de hacer un CV anidado de 5x2, generalmente realizo un (k-1) xk, con k = 5 o 10. En caso de pocas muestras, en lugar de aumentar el número de pliegues, elegiría valores más pequeños de k .
George
1
Creo que lo tuvo al revés en lugar de estar completamente equivocado, pero la respuesta aceptada puede estar en desacuerdo con la fuente con la que estoy a punto de referirme. En Python Machine Learning de Raschka, se refiere a un "tipo particular de validación cruzada anidada también conocida como validación cruzada 5x2". Hay un gráfico incluido en el que muestra que el 2 se refiere al bucle interno para la sintonización de hiperparámetros y el 5 se refiere al bucle externo para la estimación imparcial del rendimiento del modelo. Puede encontrar una copia en color del gráfico en el Escenario 3 aquí: sebastianraschka.com/faq/docs/evaluate-a-model.html
Austin

Respuestas:

12

5x2cv por lo que he visto en la literatura, siempre se refieren a una repetición 5 de 2 veces. No hay anidamiento en absoluto. haz 2 veces (división 50/50 entre el tren y la prueba), repítelo 4 veces más. El 5x2cv fue popularizado por el artículo Pruebas estadísticas aproximadas para comparar los algoritmos supervisados ​​de aprendizaje de clasificación por Dietterich como una forma de obtener no solo una buena estimación del error de generalización sino también una buena estimación de la varianza de ese error (para realizar pruebas estadísticas )

Jacques Wainer
fuente
¡Gracias! ¿Sabe lo que la gente hace comúnmente si los bucles internos seleccionan diferentes modelos, por ejemplo, si el parámetro de regularización "óptimo" es lambda = 100 durante una selección de modelo y lambda = 1000 para el otro? En este caso, calcular el rendimiento promedio del modelo sería un poco extraño, ¿verdad? ¿Desecharías los modelos como "inestables"?
3
El bucle interno muy probablemente dará como resultado una selección diferente de hiperparámetros. No utiliza la validación cruzada anidada para seleccionar los hiperparámetros, solo para obtener una buena estimación del error de generalización (con los mejores hiperparámetros posibles). El cv anidado se usa para decidir entre uno u otro algoritmo. Ver stats.stackexchange.com/questions/136296/… o stats.stackexchange.com/questions/65128/… (entre otros)
Jacques Wainer,
¡Ah, ya veo, eso tiene mucho sentido! Pensé que la gente lo usaba de manera diferente. Creo que podemos cerrar la pregunta entonces.
2

2 repeticiones en el bucle externo significan que repites tu CV 5 veces 2 veces en todo el conjunto de trenes. Cada vez que la subdivisión en pliegues será diferente.

Esto se usa principalmente para mejores estimaciones del rendimiento del modelo, como ejecutar pruebas estadísticas sobre si un modelo funciona estadísticamente significativamente mejor que otro.

El CV anidado no es críticamente importante si su conjunto de datos es grande y no tiene valores atípicos. Si sus datos tienen valores atípicos, entonces el rendimiento de la validación cruzada puede ser drásticamente diferente dependiendo de en qué pliegues / pliegues se encuentren estos valores atípicos. Por lo tanto, repite el CV varias veces.

Lanenek
fuente
Buen punto. En el enfoque tradicional (prueba / entrenamiento dividido y luego k-fold CV en el conjunto de entrenamiento) solo tiene 1 veces para evaluar el modelo, mientras que en 5x2 CV el rendimiento promedio se puede calcular a partir de los 2 pliegues diferentes.