¿En qué se diferencia la validación cruzada de la indagación de datos?

13

Acabo de terminar "Una introducción al aprendizaje estadístico" . Me preguntaba si el uso de la validación cruzada para encontrar los mejores parámetros de ajuste para diversas técnicas de aprendizaje automático es diferente de la indagación de datos.

Estamos comprobando repetidamente qué valor del parámetro de ajuste da como resultado un mejor resultado predictivo en el conjunto de prueba. ¿Qué sucede si el parámetro de ajuste al que llegamos se ajusta por casualidad a este conjunto de prueba en particular y no funciona bien en algún conjunto de prueba futuro?

Disculpe mi comprensión novata del aprendizaje automático, y estoy ansioso por ser educado.

EDITAR: Consulte la respuesta de @AdamO sobre la definición de "indagación de datos". Usé el término de manera muy imprecisa en mi pregunta.

Heisenberg
fuente
Estoy muy feliz de encontrar esto ... teniendo un TC mañana con algunos investigadores que han publicado algo ... lamentablemente sufriendo de este problema. Gran pregunta!
pallevillesen

Respuestas:

12

Me preguntaba si el uso de la validación cruzada para encontrar los mejores parámetros de ajuste para diversas técnicas de aprendizaje automático es diferente de la indagación de datos.

Su preocupación es acertada, y hay mucha literatura sobre este tema, por ej.

El problema es que el ajuste de hiperparámetros con validación cruzada es un proceso de optimización basado en datos, y todavía tenderá a ajustarse demasiado a su conjunto de datos (menos que el ajuste por error de restitución, pero aún así). Intentar utilizar los resultados de validación cruzada de ajuste como medida de rendimiento "independiente" es como comerse el pastel (= ajuste) y conservarlo (= medir el rendimiento final del modelo).

Esto no significa que no deba usar la validación cruzada para el ajuste de hiperparámetros. Solo significa que puede usarlo solo para un propósito. Optimice o mida el rendimiento del modelo para fines de validación.

La solución es que necesita hacer una validación independiente para medir la calidad del modelo obtenido con los hiperparámetros sintonizados. Esto se llama validación anidada o doble. Aquí encontrará una serie de preguntas y respuestas sobre estos temas.

Conceptualmente, me gusta decir que la capacitación incluye todo tipo de pasos sofisticados para adaptarse no solo a los parámetros del modelo "habituales" sino también para ajustar (autoajustar) los hiperparámetros. Por lo tanto, la optimización basada en datos de λ es claramente parte de la capacitación del modelo.

Como regla general, también puede decir que el entrenamiento modelo es todo lo que debe hacerse antes de tener una función final de caja negra lista para usar que pueda generar predicciones para nuevos casos.


PD: Encuentro la terminología de prueba versus validación muy confusa porque en mi campo "validación" significa probar que el modelo final es adecuado para su propósito y, por lo tanto, es lo que otras personas llaman prueba en lugar de validación. Prefiero llamar al conjunto de prueba interno "conjunto de prueba de ajuste" y al "conjunto de prueba de validación final" externo o similar.


Actualizar:

Entonces, si mi modelo (es decir, mi parámetro de ajuste en este caso) falla la validación externa, ¿qué debo hacer entonces?

Por lo general, esto no es nada de lo que sucede: hay situaciones típicas que pueden causar tal falla. Y todas esas situaciones de las que estoy al tanto son situaciones de sobreajuste. Debe tener en cuenta que si bien la regularización ayuda a reducir la cantidad necesaria de casos de capacitación, la optimización basada en datos necesita grandes cantidades de datos.

Mis recomendaciones:

  • Por lo general, ya debería (debería) tener expectativas aproximadas, por ejemplo, qué rendimiento debería alcanzarse, qué rendimiento consideraría sospechosamente atractivo. O tenga especificaciones sobre el rendimiento que necesita lograr y un rendimiento de referencia. A partir de eso y el número de casos de capacitación disponibles (para el esquema de división que decidió), calcule la incertidumbre esperada para las pruebas internas (ajuste). Si esa incertidumbre indica que no podría obtener comparaciones significativas, no haga una optimización basada en datos.

  • Debe verificar cuán estables son las predicciones obtenidas con el λ elegido y el λ óptimo encontrado por el procedimiento de autoajuste. Si λ no es razonablemente estable con respecto a las diferentes divisiones de sus datos, la optimización no funcionó.

  • Si descubre que no podrá realizar la optimización basada en datos o que no funcionó después de todo, puede elegir el λ según su conocimiento experto, por ejemplo, por experiencia con datos similares. O sabiendo que si descubre que la optimización falló, necesitará una regularización más fuerte: el sobreajuste que conduce al fracaso funciona hacia modelos demasiado complejos.

cbeleites apoya a Monica
fuente
1
Estoy de acuerdo, el tren de terminología / prueba / validación no es muy intuitivo
M. Berk
3

k

λλ

El "análisis de datos" o, como podría llamarlo, el "análisis de datos exploratorio" no trata una pregunta preespecificada. En cierto modo, enumera varios resultados posibles y plausiblemente interesantes y los evalúa individualmente. Puede realizar cualquier número de análisis exploratorios y, por lo general, no debe preocuparse por las pruebas múltiples. Puede evaluar cada análisis exploratorio individualmente mediante validación cruzada, pero no tiene en cuenta las pruebas múltiples cuando tiene más de 1 análisis exploratorio. Las hipótesis en este contexto pueden ser bastante amplias y de largo alcance, "¿qué factores están asociados con el cáncer de próstata?" (a partir del cual se midió el consumo de café, el uso de vasectomía, etc., etc. en una cohorte). Los resultados significativos son vistos como "generadores de hipótesis" y no proporcionan evidencia confirmatoria.

k

AdamO
fuente
λλ
1
@Anh: el ajuste de λ mediante validación cruzada no es en sí mismo malo. Pero al hacerlo, "agotó" esa validación cruzada para el ajuste de λ y necesita otra validación que sea independiente del modelado, incluido el proceso de ajuste de λ. No hacer esta validación externa es MALO. Si ese λ particular no funciona "otra vez" (por ejemplo, en otra división de los datos), su optimización no funcionó. En esa situación, normalmente también verá una gran diferencia entre los resultados de validación externa y el "mejor" rendimiento observado durante el ajuste.
cbeleites apoya a Monica el
@cbeleites Entonces, si mi modelo (es decir, mi parámetro de ajuste en este caso) falla la validación externa, ¿qué debo hacer entonces? No puedo regresar y encontrar otro parámetro de ajuste, porque esencialmente eso sería convertir la validación externa en el conjunto de prueba de ajuste. ¿Entonces lo que hay que hacer?
Heisenberg
λ
λk
1

En realidad, durante el CV intenta encontrar los mejores parámetros en un conjunto de validación , que es distinto del conjunto de prueba. Divide todos sus datos en tres conjuntos: conjunto de entrenamiento, conjunto de validación y conjunto de prueba. Cuando realiza la validación cruzada correctamente, nunca mira el final de la prueba hasta el final, por lo que no hay espionaje en absoluto. La validación cruzada en el conjunto de prueba es un error metodológico grave (pero frecuente).

Jerorx
fuente
Si el conjunto de validación y el conjunto de prueba son diferentes, entonces tiene sentido para mí. Sin embargo, en el libro que leí (por Hastie et al. Nada menos), argumentan que usar la prueba de retención es costoso (no estamos usando muchos datos para entrenar), por lo que recomiendan la validación cruzada de k-fold, en el que no creo que haya un conjunto de pruebas separado.
Heisenberg
1
@Anh: ambas divisiones se pueden realizar mediante remuestreo (por ejemplo, validación cruzada repetida) en lugar de reservar solo un pequeño conjunto de datos.
cbeleites apoya a Monica el
@Anh: en la validación cruzada k-fold, divide k veces el conjunto de entrenamiento original en un conjunto de entrenamiento más pequeño y un conjunto de validación. El conjunto de prueba original no está involucrado y se usa solo al final.
Jerorx
0

Si busca, por ejemplo, en la página 225 de "Introducción al aprendizaje estadístico" con el ejemplo de Lasso, verá que en realidad hacen una validación cruzada anidada. Es decir, la selección del modelo se realiza en cv.glmnetun trainconjunto, que se divide por el cv.glmnetpaquete en pares de prueba de tren. La validación del modelo se realiza en el conjunto de validación (" test"), por lo que es una validación independiente.

Dima Lituiev
fuente