K-fold vs. convalida incrociata Monte Carlo


29

Sto cercando di apprendere vari metodi di convalida incrociata, principalmente con l'intenzione di applicare a tecniche di analisi multivariate supervisionate. Due che ho incontrato sono le tecniche di convalida incrociata K-fold e Monte Carlo. Ho letto che K-fold è una variante di Monte Carlo ma non sono sicuro di aver compreso appieno ciò che costituisce la definizione di Monte Carlo. Qualcuno potrebbe spiegare la distinzione tra questi due metodi?



Quindi, avrei ragione di dire che Monte Carlo ha dimensioni casuali dei set di allenamento e test mentre k-fold è una dimensione definita di set? Ho visto la pagina sopra ma non ho capito bene quale fosse la differenza.
Liam,

Conosco diversi tipi di convalida incrociata e convalida fuori dal bootstrap, ma non ho ancora trovato il termine convalida incrociata Monte Carlo (potrei conoscerlo con qualche altro nome). Potresti collegare o citare una descrizione di come funziona la validazione incrociata di Monte Carlo?
cbeleites supporta Monica il

La descrizione dell'accesso più semplice e aperto di Monte Carlo è su wiki . Non riesco proprio a vedere la distinzione tra i metodi di k-fold e Monte Carlo.
Liam,

Risposte:


36

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.kkkk1

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 ) .


2
Qualcuno ha chiesto, tramite la coda di modifiche suggerite, se Monte Carlo viene eseguito con o senza sostituzione. Per ogni corsa di Monte Carlo, il set di allenamento e di prova viene disegnato senza sostituzione (ovvero, ogni punto viene assegnato, esattamente una volta, al treno o al set di prova). Tuttavia, le esecuzioni vengono eseguite in modo indipendente, quindi un dato esempio può apparire più volte nello stesso set; questa è la principale differenza tra Monte Carlo e k-fold cross validation!
Matt Krause,

13

Supponiamo che sia la dimensione del set di dati, sia il numero dei sottoinsiemi -fold, sia la dimensione del set di addestramento e sia la dimensione del set di validazione. Pertanto, per -fold cross-validation e per Monte Carlo cross-validation.NkkntnvN=k×nvkN=nt+nv

k -fold cross-validation (kFCV) divide i punti dati in sottoinsiemi reciprocamente esclusivi di uguale dimensione. Il processo quindi esclude uno dei sottoinsiemi come set di convalida e si allena sui restanti sottoinsiemi. Questo processo viene ripetuto volte, tralasciando ogni volta uno dei sottoinsiemi. La dimensione di può variare da a ( è chiamata validazione incrociata a esclusione). Gli autori in [2] suggeriscono di impostare o .NkkkkkN2k=Nk=510

La convalida incrociata Monte Carlo (MCCV) suddivide semplicemente i punti di dati nei due sottoinsiemi e campionando, senza sostituzione, i punti di dati . Il modello viene quindi addestrato sul sottoinsieme e convalidato sul sottoinsieme . Esistono set di addestramento unici, ma MCCV evita la necessità di eseguire queste numerose iterazioni. Zhang [3] mostra che l'esecuzione di MCCV per iterazioni ha risultati vicini alla convalida incrociata su tutti i set di addestramento unici . Va notato che la letteratura manca di ricerca per grandi N. Nntnvntntnv(Nnt)N2(Nnt)

La scelta di e influenza il compromesso di bias / varianza. Maggiore è o , minore è il bias e maggiore è la varianza. Set di training più grandi sono più simili tra le iterazioni, quindi si adattano ai dati di training. Vedi [2] per ulteriori informazioni su questa discussione. Il bias e la varianza di kFCV e MCCV sono diversi, ma il bias dei due metodi può essere reso uguale scegliendo i livelli appropriati di e . I valori di distorsione e varianza per entrambi i metodi sono mostrati in [1] (questo documento si riferisce a MCCV come modello di test ad apprendimento ripetuto).kntkntknt


[1] Burman, P. (1989). Uno studio comparativo della convalida incrociata ordinaria, della convalida incrociata a e dei metodi del modello di test di apprendimento ripetuto. Bometrika 76 503-514.v

[2] Hastie, T., Tibshirani, R. e Friedman, J. (2011). Gli elementi dell'apprendimento statistico: data mining, inferenza e previsione. Secondo ed. New York: Springer.

[3] Zhang, P. (1993). Selezione del modello tramite convalida incrociata Muiltfold. Ann. Statistica. 21 299–313


7

Le altre due risposte sono fantastiche, aggiungerò solo due immagini e un sinonimo.


Convalida incrociata K-fold (kFCV):

inserisci qui la descrizione dell'immagine

Convalida incrociata Monte Carlo (MCCV) = Convalida ripetuta del sottocampionamento casuale (RRSSV):

inserisci qui la descrizione dell'immagine


Riferimenti:

Le immagini provengono da (1) ( pagine 64 e 65 ) e il sinonimo è menzionato in (1) e (2).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.