K-fold vs. Monte Carlo validación cruzada

29

Estoy tratando de aprender varios métodos de validación cruzada, principalmente con la intención de aplicar a técnicas de análisis supervisado multivariado. Dos que he encontrado son las técnicas de validación cruzada K-fold y Monte Carlo. He leído que K-fold es una variación de Monte Carlo, pero no estoy seguro de entender completamente lo que constituye la definición de Monte Carlo. ¿Podría alguien explicar la distinción entre estos dos métodos?

Liam
fuente
Entonces, ¿sería correcto decir que Monte Carlo tiene tamaños aleatorios de los conjuntos de entrenamiento y prueba, mientras que k-fold es un tamaño definido de conjuntos? He visto la página anterior pero no entendí cuál era la diferencia.
Liam
Estoy familiarizado con diferentes tipos de validación cruzada y validación fuera de lugar, pero aún no he encontrado el término validación cruzada de Monte Carlo (puedo conocerlo con otro nombre). ¿Podría vincular o citar una descripción de cómo funciona la validación cruzada de Monte Carlo?
cbeleites apoya a Monica el
La descripción más simple y de acceso abierto de Monte Carlo está en wiki . Simplemente no parece ver la distinción entre los métodos k-fold y Monte Carlo.
Liam

Respuestas:

36

-Validación cruzada doblek

Supongamos que tiene 100 puntos de datos. Para la validación cruzada de veces, estos 100 puntos se dividen en k "pliegues" de igual tamaño y mutuamente excluyentes. Para k = 10, puede asignar los puntos 1-10 para doblar el n. ° 1, 11-20 para doblar el n. ° 2, y así sucesivamente, terminando asignando los puntos 91-100 para doblar el n. ° 10. A continuación, seleccionamos un pliegue para que actúe como el conjunto de prueba y utilizamos los k - 1 pliegues restantes para formar los datos de entrenamiento. Para la primera carrera, puede usar los puntos 1-10 como conjunto de prueba y 11-100 como conjunto de entrenamiento. La siguiente ejecución usaría los puntos 11-20 como conjunto de prueba y entrenaría en los puntos 1-10 más 21-100, y así sucesivamente, hasta que cada pliegue se use una vez como conjunto de prueba.kkkk1

Validación cruzada de Montecarlo

Monte Carlo funciona de manera algo diferente. Seleccionas al azar (sin reemplazo) alguna fracción de tus datos para formar el conjunto de entrenamiento y luego asignas el resto de los puntos al conjunto de prueba. Este proceso se repite varias veces, generando (al azar) nuevas particiones de entrenamiento y prueba cada vez. Por ejemplo, suponga que elige usar el 10% de sus datos como datos de prueba. Luego, su conjunto de prueba en el representante n. ° 1 podría ser los puntos 64, 90 , 63, 42 , 65, 49, 10, 64, 96 y 48. En la próxima ejecución, su conjunto de prueba podría ser 90 , 60, 23, 67, 16, 78, 42 , 17, 73 y 26. Dado que las particiones se realizan de forma independiente para cada ejecución, el mismo punto puede aparecer en el conjunto de prueba varias veces,cuál es la principal diferencia entre Monte Carlo y la validación cruzada .

Comparación

Cada método tiene sus propias ventajas y desventajas. Bajo validación cruzada, cada punto se prueba exactamente una vez, lo que parece justo. Sin embargo, la validación cruzada solo explora algunas de las posibles formas en que sus datos podrían haberse particionado. Monte Carlo le permite explorar un poco más de particiones posibles, aunque es poco probable que las obtenga todas: hay posibles formas de división 50/50 100 un conjunto de puntos de datos (!).(10050)1028

Si está intentando hacer inferencia (es decir, comparar estadísticamente dos algoritmos), promediar los resultados de una ejecución de validación cruzada fold le proporciona una estimación (casi) imparcial del rendimiento del algoritmo, pero con una gran variación (como lo haría esperar de tener solo 5 o 10 puntos de datos). Dado que, en principio, puede ejecutarlo todo el tiempo que desee / pueda permitirse, la validación cruzada de Monte Carlo puede proporcionarle una estimación menos variable pero más sesgada.k

Algunos enfoques fusionan los dos, como en la validación cruzada 5x2 (ver Dietterich (1998) para la idea, aunque creo que ha habido algunas mejoras adicionales desde entonces), o al corregir el sesgo (por ejemplo, Nadeau y Bengio, 2003 ) .

Matt Krause
fuente
2
Alguien preguntó, a través de la cola de ediciones sugeridas, si Monte Carlo se realiza con o sin reemplazo. Para cada carrera de Monte Carlo, el conjunto de entrenamiento y prueba se dibuja sin reemplazo (es decir, cada punto se asigna, exactamente una vez, al tren o al conjunto de prueba). Sin embargo, las ejecuciones se realizan de forma independiente, por lo que un ejemplo dado puede aparecer en el mismo conjunto varias veces; ¡Esta es la principal diferencia entre la validación cruzada de Monte Carlo y k-fold!
Matt Krause
13

NkkntnvN=k×nvkN=nt+nv

kNkkkkkN2k=Nk=510

Nntnvntntnv(Nnt)N2(Nnt)

kntkntknt


v

[2] Hastie, T., Tibshirani, R. y Friedman, J. (2011). Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción. Segunda ed. Nueva York: Springer.

[3] Zhang, P. (1993). Selección del modelo a través de la validación cruzada Muiltfold. Ana. Stat. 21 299–313

un jefe de datos
fuente
7

Las otras dos respuestas son geniales, solo agregaré dos imágenes y un sinónimo.


Validación cruzada K-fold (kFCV):

ingrese la descripción de la imagen aquí

Validación cruzada de Monte Carlo (MCCV) = validación de submuestreo aleatorio repetido (RRSSV):

ingrese la descripción de la imagen aquí


Referencias

Las imágenes provienen de (1) ( páginas 64 y 65 ), y el sinónimo se menciona en (1) y (2).

Franck Dernoncourt
fuente