¿Cómo supera la validación cruzada el problema del sobreajuste?

Respuestas:

23

No puedo pensar en una explicación suficientemente clara en este momento, así que se lo dejaré a otra persona; sin embargo, 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 no tiene una variación insignificante, especialmente si el tamaño del conjunto de datos es pequeño; en otras palabras, obtienes un valor ligeramente diferente dependiendo de la muestra particular de datos que uses. Esto significa que si tiene muchos grados de libertad en la selección del modelo (por ejemplo, muchas características de las cuales seleccionar un pequeño subconjunto, muchos hiperparámetros para ajustar, muchos modelos de los cuales elegir) puede sobrepasar el criterio de validación cruzada ya que el modelo se ajusta de manera que explote esta variación aleatoria en lugar de maneras que realmente mejoren el rendimiento, y puedes terminar con un modelo que funciona mal. Para una discusión de esto, veaCawley y Talbot "Sobre el ajuste excesivo en la selección del modelo y el sesgo de selección posterior en la evaluación del rendimiento", JMLR, vol. 11, págs. 2079-2107, 2010

Lamentablemente, es muy probable que la validación cruzada lo decepcione cuando tiene un conjunto de datos pequeño, que es exactamente cuando más necesita una validación cruzada. Tenga en cuenta que la validación cruzada de k-fold es generalmente más confiable que la validación cruzada de dejar uno fuera, ya que tiene una varianza más baja, pero puede ser más costoso de calcular para algunos modelos (razón por la cual a veces se usa LOOCV para la selección de modelos, a pesar de que tiene una alta varianza).

Dikran Marsupial
fuente
1
Un pensamiento que he tenido es que la validación cruzada es simplemente aplicar un modelo diferente (implícito) para los datos. Ciertamente puede mostrar esto con el "primo" de CV, la rutina de arranque no paramétrica (que se basa en un modelo de Proceso de Dirichlet con un parámetro de concentración de 0).
probabilidadislogica
Idea interesante. Mi opinión es que (para los modelos que me interesan) la separación en parámetros e hiperparámetros es computacional más que lógica; los hiperparámetros siguen siendo parámetros que deben ajustarse a los datos, y que hacer esto indirectamente usando validación cruzada realmente no cambia eso. En el último artículo de mayo, investigué el ajuste de lo que normalmente son hiperparámetros de un modelo de kernel utilizando el criterio de entrenamiento y agregando un término de regularización adicional para evitar sobreajustar el criterio de selección de modelo (LOOCV) y funcionó bastante bien.
Dikran Marsupial
1
¿Por qué k-fold CV es más costoso que dejar-uno-fuera? Mi experiencia (y mi intuición) dice lo contrario. Dado que en k-fold CV estamos haciendo k pruebas, en cualquier lugar de L1O, estamos haciendo N (>> k) pruebas, y por lo general la parte de entrenamiento lleva más tiempo debido a cierta inversión en la matriz, entonces ¿no es L1O la opción costosa?
Jeff
1
Dejar uno fuera puede realizarse (o aproximarse) como un subproducto de ajustar el modelo a todo el conjunto de datos, a un costo adicional muy bajo, para una amplia gama de modelos (por ejemplo, regresión lineal). Editaré la respuesta para aclarar esto.
Dikran Marsupial
Comprendo que Leave-One-Out es que se trata de k-fold CV: la mejor pero más costosa computacionalmente de k-fold CV, donde k = tamaño del conjunto de datos.
Daniel Winterstein
10

Mi respuesta es más intuitiva que rigurosa, pero tal vez ayude ...

Según tengo entendido, el sobreajuste es el resultado de la selección del modelo basada en la capacitación y las pruebas utilizando los mismos datos, donde tiene un mecanismo de ajuste flexible: ajusta su muestra de datos tan estrechamente que ajusta el ruido, los valores atípicos y todo La otra varianza.

Dividir los datos en un conjunto de entrenamiento y prueba le impide hacerlo. Pero una división estática no está utilizando sus datos de manera eficiente y su división en sí podría ser un problema. La validación cruzada mantiene la ventaja de no recompensar un ajuste exacto a los datos de entrenamiento de la división de pruebas de entrenamiento, al tiempo que utiliza los datos que tiene de la manera más eficiente posible (es decir, se utilizan todos sus datos como datos de entrenamiento y prueba, simplemente no en la misma carrera).

Si tiene un mecanismo de ajuste flexible, debe restringir la selección de su modelo para que no favorezca los ajustes "perfectos" pero complejos de alguna manera. Puede hacerlo con AIC, BIC o algún otro método de penalización que penalice directamente la complejidad del ajuste, o puede hacerlo con CV. (O puede hacerlo utilizando un método de ajuste que no sea muy flexible, razón por la cual los modelos lineales son buenos).

Otra forma de verlo es que el aprendizaje se trata de generalizar, y un ajuste demasiado apretado es, en cierto sentido, no generalizar. Al variar lo que aprende y lo que se evalúa, generaliza mejor que si solo aprendiera las respuestas a un conjunto específico de preguntas.

Wayne
fuente
3

Desde una perspectiva bayesiana, no estoy tan seguro de que la validación cruzada haga algo que un análisis bayesiano "adecuado" no hace para comparar modelos. Pero no estoy 100% seguro de que así sea.

METROUNAMETROsireyo

PAGS(METROUNAEl |re,yo)PAGS(METROsiEl |re,yo)=PAGS(METROUNAEl |yo)PAGS(METROsiEl |yo)×PAGS(reEl |METROUNA,yo)PAGS(reEl |METROsi,yo)

PAGS(reEl |METROUNA,yo)

PAGS(reEl |METROUNA,yo)=PAGS(re,θUNAEl |METROUNA,yo)reθUNA=PAGS(θUNAEl |METROUNA,yo)PAGS(reEl |METROUNA,θUNA,yo)reθUNA

Que se llama la distribución predictiva previa . Básicamente dice qué tan bien el modelo predijo los datos que realmente se observaron, que es exactamente lo que hace la validación cruzada, con el "previo" reemplazado por el modelo de "entrenamiento" y los "datos" reemplazados por la "prueba". datos. Entonces, si el modelo B predijo los datos mejor que el modelo A, su probabilidad posterior aumenta en relación con el modelo A. Parece que el teorema de Bayes realmente hará la validación cruzada utilizando todos los datos, en lugar de un subconjunto. Sin embargo, no estoy completamente convencido de esto, parece que obtenemos algo por nada.

Otra característica clara de este método es que tiene una "navaja de afeitar" incorporada, dada por la proporción de constantes de normalización de las distribuciones anteriores para cada modelo.

Sin embargo, la validación cruzada parece valiosa para la temida "otra cosa" o lo que a veces se llama "especificación errónea del modelo". Me preocupa constantemente si este "algo más" importa o no, porque parece que debería importar, pero te deja paralizado sin ninguna solución cuando aparentemente importa. Es solo algo que le causa dolor de cabeza, pero nada que pueda hacer al respecto, excepto pensar en qué podría ser esa "otra cosa" y probarla en su modelo (para que ya no sea parte de "otra cosa") .

Y además, la validación cruzada es una forma de hacer un análisis bayesiano cuando las integrales anteriores son ridículamente difíciles. Y la validación cruzada "tiene sentido" para casi cualquier persona: es "mecánica" en lugar de "matemática". Por lo tanto, es fácil entender lo que está sucediendo. Y también parece enfocarse en la parte importante de los modelos: hacer buenas predicciones.

probabilidadislogica
fuente
2
El problema del modelo de especificación incorrecta es la clave. Los métodos bayesianos (especialmente la maximización de la evidencia Bayes de los "hombres pobres") pueden funcionar muy mal bajo la especificación errónea del modelo, mientras que la validación cruzada parece funcionar bastante bien casi todo el tiempo. La ganancia cuando las suposiciones (anteriores) son "correctas" es generalmente mucho menor que la penalización cuando están "equivocadas", por lo que la validación cruzada gana en promedio (ya que casi no hace suposiciones). ¡Sin embargo, no es tan intelectualmente satisfactorio! ; o)
Dikran Marsupial
1
@dikran: interesante. Sin embargo, no estoy tan seguro de estar de acuerdo con lo que dices. ¿Entonces dice que si el modelo está mal especificado, entonces la validación cruzada con ese mismo modelo es mejor que usar el teorema de Bayes? Me gustaría ver un ejemplo de esto.
probabilidadislogic
@probabiltyislogic No creo que sea una observación particularmente nueva, Rasmussen y Williams lo mencionan en la página 118 de su excelente libro del Proceso Gaussiano (aunque es esencialmente una referencia a un comentario similar en la monografía de splines de Grace Wahba). Esencialmente, la probabilidad marginal es la probabilidad de los datos dados los supuestos del modelo, mientras que la probabilidad XVAL es una estimación de la probabilidad de los datos, independientemente de los supuestos del modelo, por lo tanto, más confiable cuando los supuestos no son válidos. Un estudio empírico adecuado sería útil.
Dikran Marsupial
@probabilityislogic Debo agregar que me gusta el enfoque bayesiano para la selección de modelos, pero casi siempre utilicé la validación cruzada en la práctica simplemente porque generalmente proporciona resultados (estadísticamente) tan buenos o mejores que los enfoques bayesianos.
Dikran Marsupial
XyoyyoXyopags(yyoEl |Xyo,θy)pags(XyoEl |θX). El segundo término tiene una contribución mucho mayor a la probabilidad, por lo que si un modelo funciona bien allí y lo muerde en la predicción, a la probabilidad marginal no le importará.
JMS