Validación cruzada interna y externa y selección de modelo


26

Tengo entendido que con la validación cruzada y la selección de modelos tratamos de abordar dos cosas:

P1 . Estime la pérdida esperada en la población cuando entrena con nuestra muestra

P2 . Mida e informe nuestra incertidumbre sobre esta estimación (varianza, intervalos de confianza, sesgo, etc.)

La práctica estándar parece ser la validación cruzada repetida, ya que esto reduce la varianza de nuestro estimador.

Sin embargo, cuando se trata de informes y análisis, entiendo que la validación interna es mejor que la validación externa porque:

Es mejor informar:

  • Las estadísticas de nuestro estimador, por ejemplo, su intervalo de confianza, varianza, media, etc. en la muestra completa (en este caso, la muestra CV).

que informar:

  • La pérdida de nuestro estimador en un subconjunto de la muestra original, ya que:

    (i) Esta sería una medición única ( incluso si seleccionamos nuestro estimador con CV )

    (ii) Nuestro estimador para esta medición individual habría sido entrenado en un conjunto (por ejemplo, el conjunto de CV) que es más pequeño que nuestra muestra inicial, ya que tenemos que dejar espacio para el conjunto de retención. Esto da como resultado una estimación más sesgada (pesimista) en P1 .

¿Es esto correcto? Si no, ¿por qué?

Fondo:

Es fácil encontrar libros de texto que recomienden dividir su muestra en dos conjuntos:

  • El conjunto de CV , que se divide subsecuentemente y repetidamente en conjuntos de tren y validación .
  • El conjunto de retención (prueba), solo se usa al final para informar el rendimiento del estimador

Mi pregunta es un intento de comprender los méritos y las ventajas de este enfoque de libro de texto, teniendo en cuenta que nuestro objetivo es abordar realmente los problemas P1 y P2 al comienzo de esta publicación. Me parece que informar sobre el conjunto de pruebas de retención es una mala práctica ya que el análisis de la muestra de CV es más informativo.

K-fold anidado frente a K-fold repetido:

En principio, se puede combinar la resistencia con el pliegue en K regular para obtener un pliegue en K anidado . Esto nos permitiría medir la variabilidad de nuestro estimador, pero me parece que para el mismo número de modelos totales entrenados (número total de pliegues), el pliegue en K repetido produciría estimadores menos sesgados y más precisos que el K anidado. doblez. Para ver esto:

  • El pliegue en K repetido utiliza una fracción mayor de nuestra muestra total que el pliegue en K anidado para la misma K (es decir, conduce a un sesgo más bajo)
  • 100 iteraciones solo darían 10 mediciones de nuestro estimador en K-fold anidado (K = 10), pero 100 mediciones en K-fold (más mediciones conducen a una menor varianza en P2 )

¿Qué tiene de malo este razonamiento?


1
He modificado tu título para que sea más específico de lo que creo que quieres saber. Creo que es más probable que obtenga la información que necesita de esta manera. Siéntete libre de cambiarlo si no estás de acuerdo. Tenga en cuenta también que este hilo se ha convertido automáticamente en CW debido a la gran cantidad de ediciones. Si no quiere que sea CW, márquelo para atención del moderador; debería ser posible revertir eso (creo).
gung - Restablece a Monica

1
Gracias @gung. Mi única preocupación es que algunas personas puedan confundir la resistencia con un CV doble , con esto, creo que el CV interno frente al externo como en Steyerberg03 es más claro
Amelio Vazquez-Reina

Respuestas:


20

Permítanme agregar algunos puntos a las buenas respuestas que ya están aquí:

Pliegue en K anidado versus pliegue en K repetido: el pliegue en K anidado y repetido son cosas totalmente diferentes, que se utilizan para diferentes propósitos.

  • Como ya sabe , anidado es bueno si desea utilizar el cv interno para la selección del modelo.
  • repetido: en mi humilde opinión, siempre debe repetir el k-fold cv [ver más abajo].

Por lo tanto, recomiendo repetir cualquier validación cruzada k-fold anidada .

Mejor informe "Las estadísticas de nuestro estimador, por ejemplo, su intervalo de confianza, varianza, media, etc. en la muestra completa (en este caso, la muestra CV)". :

Seguro. Sin embargo, debe ser consciente del hecho de que no podrá (fácilmente) estimar el intervalo de confianza solo por los resultados de la validación cruzada. La razón es que, por mucho que muestree, el número real de casos que ve es finito (y generalmente bastante pequeño, de lo contrario no se molestaría por estas distinciones).
Véase, por ejemplo , Bengio, Y. y Grandvalet, Y .: No Estimador imparcial de la varianza de la validación cruzada K-Fold Journal of Machine Learning Research, 2004, 5, 1089-1105 .

Sin embargo, en algunas situaciones, sin embargo, puede hacer estimaciones de la varianza: con la validación cruzada repetida de k-fold, puede hacerse una idea de si la inestabilidad del modelo juega un papel importante. Y esta variación relacionada con la inestabilidad es en realidad la parte de la variación que puede reducir mediante la validación cruzada repetida. (Si sus modelos son perfectamente estables, cada repetición / iteración de la validación cruzada tendrá exactamente las mismas predicciones para cada caso. Sin embargo, todavía tiene una variación debido a la elección / composición real de su conjunto de datos). Por lo tanto, hay un límite para la varianza más baja de la validación cruzada repetida de k veces. Hacer más y más repeticiones / iteraciones no tiene sentido, ya que la variación causada por el hecho de que al final solo se probaron casos reales no se ve afectada. norte

La varianza causada por el hecho de que al final solo se probaron casos reales puede estimarse para algunos casos especiales, por ejemplo, el rendimiento de los clasificadores medidos por proporciones como la tasa de aciertos, la tasa de error, la sensibilidad, la especificidad, los valores predictivos, etc. : siguen distribuciones binomiales Desafortunadamente, esto significa que tienen una gran varianza con el verdadero valor de rendimiento del modelo, lo observado, el tamaño de la muestra en el denominador de la fracción. Esto tiene el máximo paraσ 2 ( p ) = 1nortep p np=0,5σ2(pags^)=1nortepags(1-pags)pagspags^nortepags=0.5 0.5. También puede calcular intervalos de confianza a partir de la observación. (@Frank Harrell comentará que estas no son reglas de puntuación adecuadas, por lo que no debe usarlas, lo que está relacionado con la gran variación). Sin embargo, en mi humilde opinión, son útiles para derivar límites conservadores (hay mejores reglas de puntuación, y el mal comportamiento de estas fracciones es el límite de peor caso para las mejores reglas),
ver , por ejemplo, C. Beleites, R. Salzer y V. Sergo: Validación de modelos de clasificación blanda utilizando membresías de clase parcial: un concepto extendido de sensibilidad y compañía aplicado a la clasificación de tejidos de astrocitoma, Chemom. Intell. Laboratorio. Syst., 122 (2013), 12-22.

Así que esto me permite cambiar su argumentación contra la resistencia :

  • Tampoco el muestreo solo (necesariamente) le da una buena estimación de la varianza,
  • OTOH, si puede razonar sobre la variación de tamaño de muestra de prueba finita de la estimación de validación cruzada, eso también es posible para esperar.

Nuestro estimador para esta medición individual habría sido entrenado en un conjunto (por ejemplo, el conjunto de CV) que es más pequeño que nuestra muestra inicial, ya que tenemos que dejar espacio para el conjunto de retención. Esto da como resultado una estimación más sesgada (pesimista) en P1.

No necesariamente (si se compara con k-fold), pero debe intercambiar: pequeño conjunto de retención (por ejemplo, de la muestra => sesgo bajo (≈ igual que k-fold cv), alta varianza (> k-fold cv, aproximadamente por un factor de k).1k

Me parece que informar sobre el conjunto de pruebas de retención es una mala práctica ya que el análisis de la muestra de CV es más informativo.

Por lo general, si. Sin embargo, también es bueno tener en cuenta que existen tipos importantes de errores (como la deriva) que no se pueden medir / detectar mediante la validación de remuestreo.
Ver, por ejemplo , Esbensen, KH y Geladi, P. Principios de validación adecuada: uso y abuso del muestreo para la validación, Journal of Chemometrics, 2010, 24, 168-187.

pero me parece que para el mismo número de modelos totales entrenados (número total de pliegues) el pliegue en K repetido produciría estimadores menos sesgados y más precisos que el pliegue en K anidado. Para ver esto:

El pliegue en K repetido utiliza una fracción mayor de nuestra muestra total que el pliegue en K anidado para la misma K (es decir, conduce a un sesgo más bajo)

Yo diría que no a esto: no importa cómo el modelo de entrenamiento use sus muestras de entrenamiento, siempre que los modelos sustitutos y el modelo "real" los usen en el mismo camino. (Miro la validación cruzada interna / estimación de hiperparámetros como parte de la configuración del modelo). Las cosas se ven diferentes si compara los modelos sustitutos que están entrenados, incluida la optimización de hiperparámetros con "el" modelo que está entrenado en hiperparámetros fijos. Pero en mi humilde opinión, se está generalizando de manzanas a 1 naranja.kk-1knorte
k

100 iteraciones solo darían 10 mediciones de nuestro estimador en K-fold anidado (K = 10), pero 100 mediciones en K-fold (más mediciones conducen a una menor varianza en P2)

Si esto hace una diferencia depende de la inestabilidad de los modelos (sustitutos), ver arriba. Para modelos estables es irrelevante. Puede ser si haces 1000 o 100 repeticiones / iteraciones externas.


Y este documento definitivamente pertenece a la lista de lectura sobre este tema: Cawley, GC y Talbot, NLC sobre el ajuste excesivo en la selección del modelo y el sesgo de selección posterior en la evaluación del rendimiento, Journal of Machine Learning Research, 2010, 11, 2079-2107


6

Una referencia clave que explica esto es:

@ARTICLE{pic90,
  author = {Picard, R. R. and Berk, K. N.},
  year = 1990,
  title = {Data splitting},
  journal = The American Statistician,
  volume = 44,
  pages = {140-147}
}

Ver también:

@Article{mic05pre,
  author =       {Michiels, Stefan and Koscielny, Serge and Hill, Catherine},
  title =        {Prediction of cancer outcome with microarrays: a
multiple random validation strategy},
  journal =      {Lancet},
  year =         2005,
  volume =       365,
  pages =        {488-492},
  annote =       {comment on
p. 454; validation;microarray;bioinformatics;machine learning;nearest
centroid;severe problems with data splitting;high variability of list
of genes;problems with published studies;nice results for effect of
training sample size on misclassification error;nice use of confidence
intervals on accuracy estimates;unstable molecular signatures;high
instability due to dependence on selection of training sample}
}

En mi propio trabajo, descubrí que la división de datos requiere capacitación y tamaños de muestra de prueba cercanos a 10,000 para funcionar satisfactoriamente.


Frank: estos son excelentes recursos. Me pregunto cómo se relaciona esta información con lo que @Dan ha proporcionado en su respuesta. Tal vez estoy malinterpretando esto, pero parece que la comunidad está dividida sobre este tema.
Amelio Vazquez-Reina

No tuve tiempo de leer el primero, pero en cuanto al segundo, eché un vistazo rápido y parece hacer eco exactamente de lo que dicen mis documentos. Eche un vistazo de cerca a la sección "Análisis estadístico" y verá que describen el mismo proceso de selección de características que Dikran describe en la publicación que he vinculado anteriormente. Supongo que las personas que estudiaron no lo hicieron de esa manera, y es por eso que encuentran que "debido a una validación inadecuada, nuestros estudios elegidos publicaron resultados demasiado optimistas en comparación con los de nuestros propios análisis". No creo que haya ningún desacuerdo.
Dan L

4

Realmente depende del proceso de construcción de su modelo, pero este documento me pareció útil

http://www.biomedcentral.com/content/pdf/1471-2105-7-91.pdf

El quid de lo que se discute aquí es el sesgo liberal significativo (estimar que el rendimiento del modelo es mejor de lo que realmente será) que ocurrirá si selecciona su modelo basándose en lo mismo que está utilizando para estimar su rendimiento. Por lo tanto, si selecciona su modelo de un conjunto de modelos posibles al observar su error de validación cruzada, no debe usar el error de validación cruzada (o cualquier otro método de estimación interna) para estimar el rendimiento del modelo.

Otro recurso útil es

/stats//a/27751/26589

Esta publicación presenta un claro ejemplo de cómo seleccionar sus características cuando se "ven" todos los datos conducirá a un sesgo liberal en el rendimiento del modelo (diciendo que su modelo funcionará mejor de lo que realmente lo hará).

Si desea que presente un ejemplo que sea más específico de lo que hace, tal vez podría dar una descripción general de los tipos de modelos que está construyendo (cuántos datos tiene, cuántas funciones está seleccionando, el modelo real, etc.).


Gracias Dan. Todo esto es interesante. Para simplificar, podemos suponer que estamos tratando de estimar los parámetros del núcleo de un SVM (por ejemplo, un núcleo RBF) para la clasificación binaria (<~ 10 parámetros) y que estamos trabajando con 100 muestras (por ejemplo, 20 positivos) de una gran población.
Amelio Vazquez-Reina

Un par de preguntas rápidas. 1) Cuando construyes tus SVM, ¿te permites elegir un subconjunto de los 10 parámetros o siempre usas todos los que te entregan? 2) ¿Alguna vez consideró diferentes núcleos o modelos (logística, bosque aleatorio, etc.)? 3) ¿Qué software / paquete estás usando? Las implementaciones de validación cruzada incorporadas varían, y me gustaría saber cuál usaría.
Dan L

Gracias @Dan: realizo una búsqueda de cuadrícula en modelos y parámetros (es decir, los núcleos y los parámetros son diferentes a través de la búsqueda de cuadrícula). Para cada experimento en la búsqueda de cuadrícula, hago CV (validación cruzada repetida en K). Estoy usando scikit-learn.
Amelio Vazquez-Reina

1
Gracias @Dan. Supongo que mi única pregunta sobre la validación cruzada anidada es cómo elegir el modelo (ya que obtengo un modelo diferente en cada pliegue del bucle externo). No me parecería razonable elegir el modelo que tenga la puntuación más alta en este bucle externo, ya que el modelo ganador en cada pliegue se mide contra una parte diferente del conjunto de datos.
Amelio Vazquez-Reina

1
Digamos que tienes 3 pliegues exteriores. Esto significa que ejecuta un proceso completo de construcción de modelos 3 veces, lo que le brinda tres modelos diferentes. No utiliza ninguno de esos modelos al final: para obtener su modelo final, ejecuta todo el proceso de construcción del modelo en todos sus datos (excepto posiblemente un conjunto de evaluación independiente). Parece que esto llevaría a un sobreajuste, pero si su estrategia de construcción de modelos se sobreajusta, también debería sobreajustar en la validación cruzada externa, lo que llevaría a una estimación de error apropiadamente más alta.
Dan L

2

Creo que su comprensión es correcta, el estimador de la pérdida obtenida mediante el uso de un único conjunto de prueba de retención generalmente tiene una gran varianza. Al realizar una validación cruzada de pliegues en K, obtiene una idea más precisa de la pérdida, así como un sentido de distribución de la pérdida.

Por lo general, hay una compensación, cuanto más pliegues de CV, mejor es su estimación, pero se necesita más tiempo de cálculo.


Gracias. He agregado una pieza de fondo al OP para aclarar mi pregunta aún más.
Amelio Vazquez-Reina
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.