Media (punteggi) vs Punteggio (concatenazione) in validazione incrociata


15

TLDR:

Il mio set di dati è piuttosto piccolo (120) campioni. Durante la convalida incrociata di 10 volte, dovrei:

  1. Raccogliere gli output da ciascuna piega di prova, concatenarli in un vettore e quindi calcolare l'errore su questo vettore completo di previsioni (120 campioni)?

  2. O dovrei invece calcolare l'errore sugli output che ottengo su ogni piega (con 12 campioni per piega) e quindi ottenere la mia stima dell'errore finale come media delle stime dell'errore di 10 volte?

Ci sono articoli scientifici che sostengono le differenze tra queste tecniche?


Contesto: potenziale relazione con i punteggi Macro / Micro nella classificazione multietichetta:

Penso che questa domanda possa essere correlata alla differenza tra medie micro e macro che sono spesso utilizzate in un compito di classificazione multi-etichetta (ad esempio diciamo 5 etichette).

Nell'impostazione multi-etichetta, i punteggi della micro media vengono calcolati creando una tabella di contingenza aggregata di veri positivi, falsi positivi, veri negativi, falsi negativi per tutte e 5 le previsioni del classificatore su 120 campioni. Questa tabella di contingenza viene quindi utilizzata per calcolare la micro precisione, il micro richiamo e la micro misura f. Quindi quando abbiamo 120 campioni e cinque classificatori, le micro misure vengono calcolate su 600 previsioni (120 campioni * 5 etichette).

Quando si utilizza la variante Macro , si calcolano le misure (precisione, richiamo, ecc.) In modo indipendente su ciascuna etichetta e, infine, tali misure vengono calcolate in media.

L'idea alla base della differenza tra le stime micro vs Macro può essere estesa a ciò che può essere fatto in un'impostazione K-fold in un problema di classificazione binaria. Per 10 volte possiamo o mediare oltre 10 valori ( misura macro ) o concatenare i 10 esperimenti e calcolare le micro misure.

Sfondo - Esempio espanso:

L'esempio seguente illustra la domanda. Diciamo che abbiamo 12 campioni di test e abbiamo 10 pieghe:

  • Piega 1 : TP = 4, FP = 0, TN = 8 Precisione = 1.0
  • Piega 2 : TP = 4, FP = 0, TN = 8 Precisione = 1.0
  • Piega 3 : TP = 4, FP = 0, TN = 8 Precisione = 1.0
  • Piega 4 : TP = 0, FP = 12, Precisione = 0
  • Piega 5 .. Piega 10 : tutti hanno lo stesso TP = 0, FP = 12 e Precisione = 0

dove ho usato la seguente notazione:

TP = # di veri positivi, FP = # falso positivo, TN = # di veri negativi

I risultati sono:

  • Precisione media su 10 pieghe = 3/10 = 0,3
  • Precisione sulla concatenazione delle previsioni delle 10 pieghe = TP / TP + FP = 12/12 + 84 = 0,125

Si noti che i valori 0,3 e 0,125 sono molto diversi !


Il CV non è in realtà una grande misura per prevedere le prestazioni future. La varianza è troppo piccola. Meglio andare con bootstrap per convalidare il tuo modello.
user765195,

2
@ user765195: potresti eseguire il backup del tuo reclamo con alcune citazioni?
Zach,

Ho cercato ma non ho trovato alcuna documentazione relativa al metodo CV aggregato. Sembra essere un modo più appropriato per calcolare la misura in quanto ha una minore varianza.
user13420

1
@Zach, c'è qualche discussione qui, nel libro di Harrell: tinyurl.com/92fsmuv (guarda l'ultimo paragrafo a pagina 93 e il primo paragrafo a pagina 94.) Cercherò di ricordare altri riferimenti che sono più espliciti.
user765195

1
K

Risposte:


3

La differenza descritta è IMHO fasullo.

Lo osserverai solo se la distribuzione di casi veramente positivi (cioè il metodo di riferimento dice che è un caso positivo) è molto disuguale tra le pieghe (come nell'esempio) e il numero di casi di test rilevanti (il denominatore della misura di prestazione stiamo parlando, qui il veramente positivo) non viene preso in considerazione quando si fa la media delle medie fold.

412=13


modifica: la domanda originale è stata posta anche sull'iterazione / ripetizione della convalida:

K

  • Quanto cambiano le previsioni se i dati di allenamento sono perturbati dallo scambio di alcuni campioni di allenamento?
  • Vale a dire, quanto variano le previsioni dei diversi modelli "surrogati" per lo stesso campione di test?

Stavi chiedendo articoli scientifici :

Sottovalutare la varianza Alla fine, il tuo set di dati ha dimensioni del campione finite (n = 120), indipendentemente da quante iterazioni di bootstrap o cross validation fai.

  • Hai (almeno) 2 fonti di varianza nei risultati della convalida del ricampionamento (cross validation e out of bootstrap):

    • varianza dovuta al numero finito di campione (di prova)
    • varianza dovuta all'instabilità delle previsioni dei modelli surrogati
  • Se i tuoi modelli sono stabili, allora

    • K
    • Tuttavia, la stima delle prestazioni è ancora soggetta a variazioni a causa del numero finito di campioni di prova.
    • Se la struttura dei dati è "semplice" (ovvero un singolo vettore di misurazione per ciascun caso statisticamente indipendente), si può presumere che i risultati del test siano i risultati di un processo di Bernoulli (lancio di monete) e calcolare la varianza del set di test finito.
  • nK


Inoltre, sto facendo una classificazione multi-etichetta con quattro classificatori. Quindi voglio esaminare le misure F micro e macro in tutte e 4 le attività. Presumo che la convalida incrociata "combinata" sarebbe persino necessaria in questo caso? Inoltre, non sono sicuro che il bootstrap non coincida con il metodo CV "combinato" di cui sopra. Ci sono state anche delle discussioni su stats.stackexchange.com/questions/4868/…
user13420

@ user13420: non sono nemmeno sicuro di cosa intendi con CV combinato ... Ecco una risposta in cui ho scritto cosa significano per me out-of-bootstrap e cross validation: stats.stackexchange.com/a/26548/4598
cbeleites supporta Monica,

@ user13420: la terminologia è molto diversa in diversi campi. Puoi aggiornare la tua risposta con le informazioni sulle misure F Micro e Macro? Tuttavia, la convalida incrociata è una tecnica molto generale: è uno schema per calcolare i risultati dei test dei modelli. È possibile calcolare qualsiasi misura delle prestazioni che necessita come input del valore di riferimento per ciascun caso e del valore previsto per ciascun caso.
cbeleites supporta Monica il

CV combinato significherebbe raccogliere la previsione di ciascun controllo e calcolare la misura dopo tutti e 10 i pagamenti. Quindi, se misuro la precisione, richiamo per un'attività di classificazione, avrebbe una sola precisione, richiama invece di 10 valori e una media (come nel solito CV)
user13420

2
Grazie cbeleites - ho aggiunto questi chiarimenti perché ho trovato un po 'confuso il testo della domanda originale. Spero che le mie modifiche siano migliorate - ho cercato di evidenziare meglio il dilemma - ma per favore fatemi sapere altrimenti. Detto questo, quando hai detto che trovi la differenza fasulla, vorrei notare che @ user13420 ottiene due risultati sostanzialmente diversi nella parte inferiore del suo PO quando si seguono gli approcci 1 o 2 . Mi sono trovato ad affrontare questo dilemma da solo. Credo che il 2 ° approccio sia più comune, ma sarebbe bello prenderlo in considerazione.
Josh,

1

Dovresti fare un punteggio (concatenazione). È un malinteso comune sul campo che significa (punteggi) è il modo migliore. Può introdurre più distorsioni nel tuo preventivo, specialmente su classi rare, come nel tuo caso. Ecco un documento a supporto di questo:

http://www.kdd.org/exploration_files/v12-1-p49-forman-sigkdd.pdf

Nel documento, usano "Favg" al posto del tuo "medio (punteggi)" e "Ftp, fp" al posto del tuo "punteggio (concatenazione)"

Esempio di giocattoli:

Immagina di avere una validazione incrociata di 10 volte e una classe che appare 10 volte e sembra essere assegnata in modo che appaia una volta in ogni piega. Inoltre, la classe viene sempre prevista correttamente, ma nei dati è presente un singolo falso positivo. La piega di prova contenente il falso positivo avrà una precisione del 50%, mentre tutte le altre pieghe avranno il 100%. Quindi media (punteggi) = 95%. D'altra parte, il punteggio (concatenazione) è del 10/11, circa il 91%.

Se assumiamo che quella popolazione reale sia ben rappresentata dai dati e che i 10 classificatori di convalida incrociata rappresentino bene il classificatore finale, l'accuratezza del mondo reale sarebbe del 91% e la stima media (punteggi) del 95% è distorta .

In pratica, non vorrai fare queste ipotesi. Invece è possibile utilizzare le statistiche di distribuzione per stimare la fiducia, consentendo in modo casuale i dati e ricalcolando il punteggio (concatenazione) più volte, oltre al bootstrap.


Questo è un ottimo documento! Penso che il risultato nella lingua della domanda originale (non utilizzata nel documento) sia che quando si calcola il punteggio F, utilizzare un approccio di "micro-media"; in particolare, sommare TP, TN, FP, FN da tutte le pieghe, per ottenere una singola matrice di confusione, quindi calcolare il punteggio F (o altre metriche desiderate).
travelingbones
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.