31 votos

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

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

Lo que he entendido es que divido los datos en 3 subconjuntos: entrenamiento, validación y prueba. El entrenamiento y la validación es para encontrar la complejidad óptima de un modelo. Lo que no entiendo es el tercer subconjunto. Entiendo que tomo un número de características para el modelo, lo entreno y lo valido en el subconjunto de validación y busco la función de coste mínima cuando cambio la estructura. Cuando la encuentro, pruebo el modelo en el subconjunto de Prueba. Si ya he encontrado la función de coste mínima en el subconjunto de validación, ¿por qué tengo que volver a probarlo en el subconjunto de prueba?

¿Podría alguien aclararme esto?

Gracias

39voto

Pat Puntos 1698
  • El conjunto de entrenamiento se utiliza para elegir los parámetros óptimos para un modelo determinado. Tenga en cuenta que la evaluación de un determinado conjunto de parámetros utilizando el conjunto de entrenamiento debería proporcionarle una estimación insesgada de su función de coste: es el acto de elegir los parámetros que optimizar la estimación de su función de coste basada en el conjunto de entrenamiento que sesga la estimación que proporcionan. Se han elegido los parámetros que mejor funcionan en el conjunto de entrenamiento; por lo tanto, el rendimiento aparente de esos parámetros, evaluado en el conjunto de entrenamiento, será excesivamente optimista.
  • Una vez entrenado con el conjunto de entrenamiento, se utiliza el conjunto de validación para elegir el mejor modelo. Una vez más, hay que tener en cuenta que la evaluación de cualquier modelo utilizando el conjunto de validación debería proporcionar una estimación representativa de la función de coste: es el acto de elegir el modelo que realiza mejor en el conjunto de validación que sesga la estimación que proporcionan. Se ha elegido el modelo que mejor funciona en el conjunto de validación; por lo tanto, el rendimiento aparente de ese modelo, evaluado en el conjunto de validación, será excesivamente optimista.
  • Teniendo entrenado cada modelo utilizando el formación y elegido el mejor modelo utilizando el validación el conjunto de pruebas te dice lo bueno que es tu elección final del modelo. Te da una estimación no sesgada del rendimiento real que obtendrás en tiempo de ejecución, lo que es importante saber por muchas razones. No se puede utilizar el conjunto de entrenamiento para esto, porque los parámetros están sesgados hacia él. Y no se puede utilizar el conjunto de validación para esto, porque el propio modelo está sesgado hacia ellos. De ahí la necesidad de un tercer conjunto.

13voto

cbeleites Puntos 12461

Si ya he encontrado la función de coste mínima en el subconjunto de validación, ¿por qué tendría que volver a probarla en el subconjunto de prueba?

Debido al error aleatorio: Normalmente sólo se tiene un número finito de casos.

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

Esto significa que es necesario tener otro conjunto de pruebas (externo) que sea independiente de todo el procedimiento de modelado (incluyendo todos los procesos de optimización y preprocesamiento de datos o de selección de modelos) si se quiere estimar las propiedades de generalización.

Te recomiendo que hagas una simulación y compares las tres estimaciones de error que puedes tener

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

En una simulación se pueden comparar fácilmente también con un conjunto de pruebas adecuado, grande y generado de forma independiente. Si la configuración es correcta, la prueba externa debería ser insesgada (con respecto al modelo sustituto que evalúa, no con respecto a un modelo "final" construido sobre el conjunto de datos). La prueba interna suele tener un sesgo optimista, y la sustitución, un sesgo aún más 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 los esquemas de optimización agresivos).


Nota: la nomenclatura de los conjuntos no es universal. En mi campo (química analítica), la validación suele significar la prueba del rendimiento del procedimiento final, es decir, 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 pruebas interno y externo, o del conjunto de pruebas de optimización (= conjunto de pruebas interno) y entonces el conjunto de validación significaría el conjunto de pruebas externo.

3voto

mopoke Puntos 6437

Mientras se entrena el modelo hay que seleccionar los meta parámetros para el modelo (por ejemplo, el parámetro de regularización) o incluso elegir entre varios modelos. En este caso, el subconjunto de validación se utiliza para elegir los parámetros, pero el subconjunto de prueba para la estimación final de la predicción.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X