¿Necesitamos un conjunto de prueba cuando se utiliza la validación cruzada k-fold?


21

He estado leyendo sobre la validación de k-fold, y quiero asegurarme de que entiendo cómo funciona.

Sé que para el método de retención, los datos se dividen en tres conjuntos, y el conjunto de prueba solo se usa al final para evaluar el rendimiento del modelo, mientras que el conjunto de validación se usa para ajustar hiperparámetros, etc.

En el método k-fold, ¿todavía tenemos un conjunto de prueba para el final, y solo usamos los datos restantes para el entrenamiento y el ajuste de hiperparámetros, es decir, dividimos los datos restantes en k pliegues, y luego usamos la precisión promedio después del entrenamiento con cada pliegue (o cualquier métrica de rendimiento que elijamos para ajustar nuestros hiperparámetros)? ¿O no usamos un conjunto de pruebas por separado y simplemente dividimos todo el conjunto de datos en k pliegues (si este es el caso, supongo que solo consideramos que la precisión promedio en los k pliegues es nuestra precisión final)?


3
Depende de lo que quieras hacer. Si desea una estimación de rendimiento generalizada, entonces sí, el modelo debe hacer pruebas en datos que nunca antes había visto. Pero eso no significa que tenga que ser una única iteración de espera, puede usar el remuestreo para lograr el mismo objetivo.
Firebug

2
... lo que significa que siempre que utilice resultados de "validación" para la optimización de hiperparámetros / ajuste del modelo, necesita otra etapa de validación que sea independiente de ese ajuste. Para ambas etapas puede usar, por ejemplo, validación cruzada o resistencia (o fuera de arranque o ...). CV + CV se llama CV anidado, espera + espera conduce a la configuración de 3 conjuntos que mencionaste
cbeleites apoya a Monica el

Respuestas:


9

En el método K-Fold, ¿todavía tenemos un conjunto de pruebas para el final y solo usamos los datos restantes para el entrenamiento y el ajuste de hiperparámetros (es decir, dividimos los datos restantes en k pliegues y luego usamos la precisión promedio después de entrenar con cada pliegue (o cualquier métrica de rendimiento que elijamos) para ajustar nuestros hiperparámetros)?

Sí. Como regla general, el conjunto de prueba nunca debe usarse para cambiar su modelo (por ejemplo, sus hiperparámetros).

Sin embargo, la validación cruzada a veces se puede usar para fines distintos al ajuste de hiperparámetros, por ejemplo, determinar en qué medida la división tren / prueba impacta los resultados.


66
+1 pero es posible que desee mencionar la validación cruzada anidada como una alternativa al conjunto de prueba de validación cruzada +.
ameba dice Reinstate Monica

1
"a veces se puede usar para fines distintos al ajuste de hiperparámetros". Por ejemplo, puede usar la validación cruzada para fines de validación (= probar casos desconocidos para medir el error de generalización).
cbeleites apoya a Monica el

3

En general si. Básicamente estamos hablando de la compensación de sesgo-varianza. Si usa datos para construir su modelo (datos de capacitación y validación) e itera sobre diferentes hiperparámetros e intenta maximizar una métrica de rendimiento promedio, su modelo podría no ser tan bueno como se indica.

Sin embargo, especialmente en conjuntos de datos pequeños, la división adicional podría conducir a un conjunto de entrenamiento aún más pequeño y dar como resultado un mal modelo.


2
Esta no es una respuesta real a la pregunta.
Michael R. Chernick

¿Puede ampliar esto para que agregue algo a la respuesta aceptada y los comentarios bastante detallados?
mdewey

1

Idealmente, la validación (para la selección del modelo) y la prueba final no deben mezclarse. Sin embargo, si su valor k es alto, o es omitido, usar el resultado de la prueba para guiar su selección de modelo es menos dañino. En este escenario, si está escribiendo un artículo académico, no lo haga (a menos que se moleste en explicarlo), es decir, siempre tenga un conjunto de pruebas por separado. Si está construyendo un proyecto práctico, está bien hacerlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.