Por qué no es suficiente dividir los datos en el conjunto de entrenamiento y prueba

18

Sé que para acceder al rendimiento del clasificador tengo que dividir los datos en un conjunto de entrenamiento / prueba. Pero leyendo esto :

Al evaluar diferentes configuraciones ("hiperparámetros") para estimadores, como la configuración C que debe configurarse manualmente para un SVM, todavía existe el riesgo de sobreajuste en el conjunto de prueba porque los parámetros pueden ajustarse hasta que el estimador funcione de manera óptima. De esta manera, el conocimiento sobre el conjunto de pruebas puede "filtrarse" en el modelo y las métricas de evaluación ya no informan sobre el rendimiento de generalización. Para resolver este problema, otra parte del conjunto de datos se puede presentar como el llamado "conjunto de validación": el entrenamiento continúa en el conjunto de entrenamiento, después de lo cual se realiza la evaluación en el conjunto de validación y cuando el experimento parece ser exitoso , la evaluación final se puede hacer en el conjunto de prueba.

Veo que se introduce otro (tercer) conjunto de validación que se justifica por el sobreajuste del conjunto de prueba durante el ajuste de hiperparámetros.

El problema es que no puedo entender cómo puede aparecer este sobreajuste y, por lo tanto, no puedo entender la justificación del tercer conjunto.

Salvador Dalí
fuente
2
Creo que mucha de la confusión aquí proviene de 2 o 3 significados bastante diferentes del término "validación". La validación en validación cruzada es principalmente solo un nombre para un procedimiento de división sin reemplazo. La "validación" establecida en el texto citado se entendería mejor en mi humilde opinión como "ajuste" o "conjunto de optimización". Mientras que "validación", por ejemplo, en ingeniería o también en química analítica, significa probar que un método final dado es adecuado para su propósito, lo cual se hace (simula, aproxima) por el conjunto de "prueba". (Para mí, las pruebas suenan mucho menos definitivas que la validación ...)
cbeleites apoya a Monica el

Respuestas:

17

Aunque está entrenando modelos exclusivamente con los datos de entrenamiento, está optimizando hiperparámetros (por ejemplo, para un SVM) según el conjunto de pruebas. Como tal, su estimación de rendimiento puede ser optimista, porque esencialmente está informando los mejores resultados. Como algunos en este sitio ya han mencionado, la optimización es la raíz de todo mal en las estadísticas .C

Las estimaciones de rendimiento siempre deben hacerse con datos completamente independientes. Si está optimizando algún aspecto basado en datos de prueba, entonces sus datos de prueba ya no son independientes y necesitaría un conjunto de validación.

Otra forma de lidiar con esto es a través de la validación cruzada anidada , que consiste en dos procedimientos de validación cruzada entre sí. La validación cruzada interna se usa en la sintonización (para estimar el rendimiento de un conjunto dado de hiperparámetros, que está optimizado) y la validación cruzada externa estima el rendimiento de generalización de toda la tubería de aprendizaje automático (es decir, optimizar hiperparámetros + entrenar el modelo final )

Marc Claesen
fuente
Podría estar equivocado, pero el conjunto de pruebas no es solo para ajustar hiperparámetros, sino también para comparar diferentes tipos de técnicas como, por ejemplo, el rendimiento de SVM en comparación con LDA o bosque aleatorio, como indiqué en mi respuesta.
@fcoppens Sí, definitivamente. No mencioné explícitamente esto, pero eso ciertamente también encaja en ese paso.
Marc Claesen
1
de manera más general, el ajuste u optimización aquí es cualquier tipo de proceso basado en datos (mediante la validación cruzada interna).
cbeleites apoya a Monica el
@MarcClaesen Tengo una pregunta. Si tengo 2 valores diferentes del hiperparámetro, y ajusto estos 2 modelos en el conjunto de entrenamiento, luego los aplico en el conjunto de prueba, entonces si la tasa de error que obtuve en el conjunto de prueba es un estimador imparcial de la tasa de error de predicción real de estos 2 modelos? Porque si ahora me da otro conjunto de datos de prueba independiente, este nuevo conjunto de datos de prueba es esencialmente el mismo que el conjunto de prueba anterior. Por lo tanto, si un modelo tiene una mejor puntuación en la prueba, también debería superar al otro modelo en un nuevo conjunto de datos de prueba. ¿Por qué necesitamos un conjunto de validación?
KevinKim
"Si está optimizando algún aspecto basado en datos de prueba, entonces sus datos de prueba ya no son independientes y necesitaría un conjunto de validación". eso es perspicaz
Sudip Bhandari
11

Creo que es más fácil pensar en las cosas de esta manera. Hay dos cosas para las que se usa la validación cruzada: ajustar los hiperparámetros de un modelo / algoritmo y evaluar el rendimiento de un modelo / algoritmo.

Considere el primer uso como parte del entrenamiento real del algoritmo. Por ejemplo, la validación cruzada para determinar la fuerza de regularización de un GLM es parte del establecimiento del resultado final del GLM. Este uso generalmente se denomina validación cruzada interna . Debido a que todavía se están configurando (hiper) parámetros, la pérdida del conjunto de ajuste no es una gran medida del rendimiento real de los algoritmos.

El segundo uso de la validación cruzada es usar datos que se mantuvieron fuera del proceso completo que produjo el modelo, para probar su poder predictivo. Este proceso se llama validación cruzada externa .

Tenga en cuenta que la validación interna puede haber sido parte del proceso que produjo el modelo, por lo que en muchos casos es necesaria la validación cruzada interna y externa.

jlimahaverford
fuente
Personalmente, no usaría la frase "validación cruzada externa", ya que vería la validación cruzada como la división repetida de diferentes conjuntos de validación del conjunto de entrenamiento para la selección del modelo y los propósitos de ajuste. No puede hacer esto de manera significativa repetidamente con el conjunto de prueba, ya que es como un proxy único para futuros datos aún desconocidos utilizados para juzgar el rendimiento del modelo final.
Henry
3
Henry, no creo que estés entendiendo la validación cruzada externa. Puede "hacer esto repetidamente con el conjunto de prueba", reteniendo repetidamente una parte de sus datos completos para fines de prueba mientras ejecuta su procedimiento de entrenamiento completo en el resto (que puede incluir validación cruzada interna). La validación cruzada externa todavía se realiza típicamente en pliegues, y permite que todos los datos originales estén en algún momento en el conjunto de prueba.
jlimahaverford
αα
2

Durante la construcción del modelo, entrena a sus modelos en una muestra de entrenamiento . Tenga en cuenta que puede entrenar diferentes modelos (es decir, diferentes técnicas como SVM, LDA, Random Forest, ... o la misma técnica con diferentes valores de los parámetros de ajuste, o una mezcla).

Entre todos los modelos diferentes que entrenó, debe elegir uno y, por lo tanto, usar la muestra de validación para encontrar el que tenga el menor error en la muestra de prueba.

Para este modelo 'final' todavía tenemos que estimar el error y, por lo tanto, utilizamos la muestra de prueba .


fuente
1
Revertiría la redacción en su segundo y tercer párrafos: usaría el conjunto de validación para encontrar el mejor modelo y ajustar sus hiperparámetros (haciendo esto con varios conjuntos de validación que dividen el conjunto de entrenamiento realiza esta validación cruzada ) y, una vez que el modelo tiene finalizado, luego aplíquelo al conjunto de prueba para ver un ejemplo del rendimiento fuera de muestra del modelo.
Henry
@Henry: OK Henry, creo que las etiquetas de las fases son menos importantes que su secuencia / contenido, pero tu comentario tiene sentido para mí,
1

La validación cruzada no supera por completo el problema de ajuste excesivo en la selección del modelo, solo lo reduce. El error de validación cruzada depende del conjunto de datos que use. Cuanto más pequeño sea el conjunto de datos, mayor será el error de validación cruzada.

Además, si tiene altos grados de libertad en la selección del modelo, existe el peligro de que el modelo funcione mal, ya que el criterio de validación cruzada se sobreajusta.

Entonces, cuando los datos se dividen en 2 conjuntos, también conocidos como los conjuntos de entrenamiento y prueba, la división se realiza de forma estática. Por lo tanto, existe la posibilidad de sobreajustar el conjunto de entrenamiento. Sin embargo, los conjuntos de validación cruzada se crean a través de diferentes métodos , como la validación cruzada k-fold, la validación Cross-out-one-cross (LOOCV), etc., que ayuda a garantizar que se elimine la recompensa de ajuste exacto de la división de 2 conjuntos y así se reduce la posibilidad de un ajuste excesivo.

Estos son algunos recursos que lo ayudarán a comprender mejor.

Por lo tanto, la validación cruzada lo ayudaría cuando tenga un conjunto de datos más grande, en lugar de uno más pequeño.

Dawny33
fuente