¿Cómo se ajusta la validación cruzada k-fold en el contexto de los conjuntos de entrenamiento / validación / prueba?

14

Mi pregunta principal es con respecto a tratar de entender cómo encaja la validación cruzada k-fold en el contexto de tener conjuntos de capacitación / validación / prueba (si cabe en ese contexto).

Por lo general, las personas hablan de dividir los datos en un conjunto de entrenamiento, validación y prueba, digamos en una proporción de 60/20/20 por curso de Andrew Ng, por lo que el conjunto de validación se usa para identificar parámetros óptimos para el entrenamiento modelo.

Sin embargo, si uno quisiera usar la validación cruzada k-fold con la esperanza de obtener una medida de precisión más representativa cuando la cantidad de datos es relativamente pequeña, ¿qué implica la validación cruzada k-fold exactamente en esta división 60/20/20? ¿guión?

Por ejemplo, ¿eso significaría que realmente combinaríamos los conjuntos de entrenamiento y prueba (80% de los datos) y realizaríamos una validación cruzada en ellos para obtener nuestra medida de precisión (descartando efectivamente tener un 'conjunto de prueba' explícito)? Si es así, ¿qué modelo entrenado usamos a) en producción, yb) para usar contra el conjunto de validación e identificar parámetros de entrenamiento óptimos? Por ejemplo, una posible respuesta para a y b es quizás usar el modelo de mejor pliegue.

blu
fuente

Respuestas:

12

La validación cruzada generalmente ayuda a evitar la necesidad de un conjunto de validación.

La idea básica con los conjuntos de datos de entrenamiento / validación / prueba es la siguiente:

  1. Entrenamiento: Pruebe diferentes tipos de modelos con diferentes opciones de hiperparámetros en los datos de entrenamiento (por ejemplo, modelo lineal con diferente selección de características, red neuronal con diferentes opciones de capas, bosque aleatorio con diferentes valores de mtry).

  2. Validación: compara el rendimiento de los modelos en el Paso 1 según el conjunto de validación y selecciona el ganador. Esto ayuda a evitar decisiones equivocadas tomadas al sobreajustar el conjunto de datos de capacitación.

  3. Prueba: prueba el modelo ganador en los datos de prueba solo para tener una idea de lo bien que funciona en la realidad. Este desentrañamiento se introdujo en el Paso 2. Aquí, no tomaría ninguna otra decisión. Es simplemente información simple.

Ahora, en el caso de que reemplace el paso de validación por validación cruzada, el ataque a los datos se realiza de forma casi idéntica, pero solo tiene un conjunto de datos de entrenamiento y prueba. No hay necesidad de un conjunto de datos de validación.

  1. Entrenamiento: Ver arriba.

  2. Validación: realiza una validación cruzada en los datos de entrenamiento para elegir el mejor modelo del Paso 1 con respecto al rendimiento de validación cruzada (aquí, los datos de entrenamiento originales se dividen repetidamente en un conjunto de entrenamiento y validación temporal). Los modelos calculados en validación cruzada solo se utilizan para elegir el mejor modelo del Paso 1, que se calculan en el conjunto de entrenamiento completo.

  3. Prueba: ver arriba.

Michael M
fuente
1
¡Gracias! Para confirmar, en el contexto de CV, uno puede tener un 80% de entrenamiento vs 20% de división de prueba. Entonces uno puede construir un modelo sobre ese 80% de los datos y probarlo contra el 20% para obtener la precisión. Para probar diferentes variaciones del modelo, se puede realizar un CV de 10 veces en el conjunto de datos de entrenamiento (80% de los datos): entrenamiento efectivo en el 8% de los datos totales y pruebas contra el 72% de los datos totales en cada pliegue. Con base en los resultados de CV, se pueden identificar los valores óptimos de hiperparámetro y usarlos para construir un nuevo modelo entrenado en todos los datos de entrenamiento (80% del conjunto de datos completo) y probar contra el 20% restante del conjunto de datos de prueba. ¿Correcto?
blu
3
Sí, excepto que en cada carrera de CV, usaría el 72% para el entrenamiento y el 8% para la validación ;-)
Michael M
Impresionante respuesta @MichaelM. Estaba leyendo acerca de la validación cruzada anidada (NCV) , y me cuesta decidir si debería usarla, o simplemente hacer lo que describió para CV. Y para que lo entienda, NCV se aplicaría al paso 3. En lugar de obtener un puntaje de 1 ganador, obtienes K puntajes de ganador (multiplicando el total de carreras por K, paso 1-2, repetidas K veces con un 80% de datos de tren diferentes), que luego puedes promediar. Entonces preguntas: 1) ¿es correcto mi entendimiento? 2) ¿se recomienda usar NCV?
Aziz Javed
Tienes toda la razón. El CV anidado ayudará a obtener estimaciones más confiables que el enfoque "simple" descrito anteriormente. Si el tiempo lo permite, definitivamente es una opción. ¿Sabe en qué conjunto de datos se calcula el modelo final en CV anidado? En pleno?
Michael M
3

K validación cruzada pliegue es una estrategia de (re) muestreo como muchas otras.

Dividirse en entrenamiento / validación / prueba también es una estrategia de muestreo.

Puede sustituir la capacitación / validación por otra estrategia de muestreo. Luego, realizaría un CV doble en el 80% de los datos y probaría en el 20% restante.K

También puede aplicarlo a la parte de prueba (esto es lo que la gente llama validación cruzada anidada), donde pliegues se usan para entrenamiento / validación y el resto para probar, luego itera esto sobre pliegues.K1

Firebug
fuente