k Valida convalida incrociata
Supponiamo di avere 100 punti dati. Per la validazione incrociata di -fold, questi 100 punti sono divisi in 'pieghe' uguali e reciprocamente uguali. Per = 10, è possibile assegnare i punti 1-10 alla piega n. 1, 11-20 alla piega n. 2 e così via, terminando assegnando i punti 91-100 alla piega n. 10. Successivamente, selezioniamo una piega per fungere da set di test e utilizziamo le rimanenti pieghe per formare i dati di allenamento. Per la prima corsa, è possibile utilizzare i punti 1-10 come set di test e 11-100 come set di allenamento. La corsa successiva utilizzerà quindi i punti 11-20 come set di prova e si allenerà sui punti 1-10 più 21-100, e così via, fino a quando ogni piega non verrà utilizzata una volta come set di prova.kkkk−1
Convalida della croce di Monte-Carlo
Monte Carlo funziona in modo leggermente diverso. Seleziona casualmente (senza sostituzione) una parte dei tuoi dati per formare il set di allenamento, quindi assegna il resto dei punti al set di test. Questo processo viene quindi ripetuto più volte, generando (in modo casuale) nuovo addestramento e testando partizioni ogni volta. Ad esempio, supponi di aver scelto di utilizzare il 10% dei tuoi dati come dati di test. Quindi il set di test sul rep # 1 potrebbe essere i punti 64, 90 , 63, 42 , 65, 49, 10, 64, 96 e 48. Alla prossima corsa, il set di test potrebbe essere 90 , 60, 23, 67, 16, 78, 42 , 17, 73 e 26. Poiché le partizioni vengono eseguite in modo indipendente per ogni corsa, lo stesso punto può apparire più volte nel set di test,quale è la differenza principale tra Monte Carlo e cross validation .
Confronto
Ogni metodo ha i suoi vantaggi e svantaggi. Sotto convalida incrociata, ogni punto viene testato esattamente una volta, il che sembra giusto. Tuttavia, la convalida incrociata esplora solo alcuni dei possibili modi in cui i dati potrebbero essere stati partizionati. Monte Carlo ti consente di esplorare partizioni un po 'più possibili, anche se è improbabile ottenerle tutte - ci sono possibili modi per 50/50 dividere un punto dati 100 impostato(!).(10050)≈1028
Se stai tentando di fare inferenza (cioè, confrontando statisticamente due algoritmi), la media dei risultati di una serie di convalide incrociate dà una stima (quasi) imparziale delle prestazioni dell'algoritmo, ma con una varianza elevata (come faresti aspettarsi di avere solo 5 o 10 punti dati). Dal momento che, in linea di principio, puoi eseguirlo per tutto il tempo che desideri / puoi permetterti, la convalida incrociata Monte Carlo può darti una stima meno variabile, ma più distorta.k
Alcuni approcci fondono i due, come nella validazione incrociata 5x2 (vedi Dietterich (1998) per l'idea, anche se penso che da allora siano stati apportati ulteriori miglioramenti), o correggendo la distorsione (ad esempio, Nadeau e Bengio, 2003 ) .