Validación cruzada que incluye capacitación, validación y pruebas. ¿Por qué necesitamos tres subconjuntos?

29

Tengo una pregunta sobre el proceso de validación cruzada. Estoy en medio de un curso de Machine Learning en Cursera. Uno de los temas es sobre la validación cruzada. Me resultó un poco difícil de seguir. Sé por qué necesitamos CV porque queremos que nuestros modelos funcionen bien en datos futuros (desconocidos) y que CV evite el sobreajuste. Sin embargo, el proceso en sí mismo es confuso.

Lo que he entendido es que divido los datos en 3 subconjuntos: capacitación, validación y prueba. Train and Validation es encontrar la complejidad óptima de un modelo. Lo que no entiendo es el tercer subconjunto. Entiendo que tomo una serie de características para el modelo, lo entreno y lo valido en el subconjunto de Validación y busco la función de costo mínimo cuando cambio la estructura. Cuando lo encontré, pruebo el modelo en el subconjunto de prueba. Si ya he encontrado la función de costo mínimo en el subconjunto de validación, ¿por qué necesitaría probarlo nuevamente en el subconjunto de prueba?

¿Podría alguien aclarar esto por mí?

Gracias

Celdor
fuente
Encontrará que el documento y la discusión en [1] no son irrelevantes para su pregunta. De memoria, menciona tres subconjuntos: el primero para formular un modelo, el segundo para estimar sus parámetros y el tercero para validarlo por predicción. [1] Chatfield, C. Modelo de incertidumbre, minería de datos e inferencia estadística (con discusión) Journal of the Royal Statistical Society. Serie A (Estadísticas de la Sociedad), 1995, 158, 419-466
Hibernante
¡Aclamaciones! El hilo detrás de este enlace también es una buena fuente para entender esto :)
Celdor

Respuestas:

39
  • El conjunto de entrenamiento se utiliza para elegir los parámetros óptimos para un modelo dado. Tenga en cuenta que la evaluación de un determinado conjunto de parámetros utilizando el conjunto de capacitación debería proporcionarle una estimación imparcial de su función de costos: es el acto de elegir los parámetros que optimizan la estimación de su función de costos en función del conjunto de capacitación que sesga la estimación que proporcionan . Se eligieron los parámetros que funcionan mejor en el conjunto de entrenamiento; por lo tanto, el rendimiento aparente de esos parámetros, según lo evaluado en el conjunto de entrenamiento, será demasiado optimista.
  • Habiendo entrenado usando el conjunto de entrenamiento, el conjunto de validación se usa para elegir el mejor modelo. Una vez más, tenga en cuenta que la evaluación de cualquier modelo utilizando el conjunto de validación debería proporcionarle una estimación representativa de la función de costo: es el acto de elegir el modelo que mejor se desempeña en el conjunto de validación lo que sesga la estimación que proporcionan. Se eligió el modelo que funciona mejor en el conjunto de validación; por lo tanto, el rendimiento aparente de ese modelo, según lo evaluado en el conjunto de validación, será demasiado optimista.
  • Después de haber entrenado cada modelo con el conjunto de entrenamiento y haber elegido el mejor modelo con el conjunto de validación , el conjunto de prueba le indica qué tan buena es su elección final de modelo. Le proporciona una estimación imparcial del rendimiento real que obtendrá en tiempo de ejecución, lo cual es importante saber por muchas razones. No puede usar el conjunto de entrenamiento para esto, porque los parámetros están sesgados hacia él. Y no puede usar el conjunto de validación para esto, porque el modelo en sí está sesgado hacia ellos. Por lo tanto, la necesidad de un tercer conjunto.
Palmadita
fuente
Puedo ver esto ahora. Gracias. No pensé en el hecho de que necesitaría un subconjunto más para encontrar un rendimiento imparcial en términos de la estructura del modelo. Saludos :) Es una muy buena explicación.
Celdor
Entonces, ¿significa que el conjunto de prueba final no juega ningún papel en la optimización del modelo o en la selección del mejor modelo?
Anmol Singh Jaggi
1
No. De hecho, solo debe usarse para estimar el rendimiento esperado. Por lo tanto, si no le gusta el resultado del rendimiento en el conjunto de prueba, entonces realmente debe evitar la necesidad de ajustar su modelo para optimizar el resultado de la prueba, ya que su modelo estaría sesgado una vez más.
Ytsen de Boer
13

Si ya he encontrado la función de costo mínimo en el subconjunto de validación, ¿por qué necesitaría probarlo nuevamente en el subconjunto de prueba?

Debido a un error aleatorio: por lo general, solo tiene un número finito de casos.

La optimización del rendimiento de la validación (prueba interna) significa que puede estar sobreajustando a ese conjunto de prueba interna. El conjunto de prueba interno contribuye a la estimación del modelo final y, por lo tanto, no es independiente del modelo.

Esto significa que debe tener otro conjunto de pruebas (externo) que sea independiente de todo el procedimiento de modelado (incluidos todos los procesos de optimización y preprocesamiento basado en datos o selección de modelos) si desea estimar las propiedades de generalización.

Le recomiendo que haga una simulación y compare las tres estimaciones de error diferentes que puede tener

  • restitución: la predicción del conjunto de trenes
    mide la bondad de ajuste
  • conjunto de pruebas internas (en su nomenclatura: validación): la calidad que el optimizador cree que se logra
  • conjunto de prueba externo: error de generalización, independiente del modelo de entrenamiento.

En una simulación, también puede compararlos fácilmente con un conjunto de pruebas adecuado, grande y generado independientemente. Si la configuración es correcta, la prueba externa debe ser imparcial (wrt el modelo sustituto que evalúa, no wrt un modelo "final" construido en todo el conjunto de datos). La prueba interna generalmente está sesgada de manera optimista, y la restitución está aún más sesgada de manera optimista.

En mi campo, la prueba interna subestimaría fácilmente el error de generalización por un factor de 2 a 5 (mucho más para esquemas de optimización agresivos).


Nota: la nomenclatura de los conjuntos no es universal. En mi campo (química analítica), la validación generalmente significaría la prueba del desempeño del procedimiento final, por lo tanto, más lo que hace su conjunto de "prueba" que lo que hace su conjunto de "validación".

Por lo tanto, prefiero hablar de los conjuntos de prueba internos y externos, o del conjunto de prueba de optimización (= conjunto de prueba interno) y luego el conjunto de validación significaría el conjunto de prueba externo.

cbeleites apoya a Monica
fuente
2

Al entrenar el modelo, uno debe seleccionar metaparámetros para el modelo (por ejemplo, parámetro de regularización) o incluso elegir entre varios modelos. En este caso, el subconjunto de validación se usa para elegir parámetros, pero el subconjunto de prueba para la estimación de predicción final.

oraz
fuente