Varianza delle stime di convalida incrociata di


37

TL, DR: sembra che, contrariamente ai consigli spesso ripetuti, convalida incrociata una tantum (LOO-CV) - cioèK -piega CV conK (il numero di pieghe) uguale aN (il numero di osservazioni di addestramento) - fornisce stime dell'errore di generalizzazione che sono le meno variabili per qualsiasiK , non la più variabile, assumendo una certacondizione di stabilità sul modello / algoritmo, sul set di dati o su entrambi (non sono sicuro di quale è corretto in quanto non capisco davvero questa condizione di stabilità).

  • Qualcuno può spiegare chiaramente cos'è esattamente questa condizione di stabilità?
  • È vero che la regressione lineare è uno di questi algoritmi "stabili", il che implica che, in tale contesto, LOO-CV è strettamente la scelta migliore di CV per quanto riguarda la parzialità e la varianza delle stime dell'errore di generalizzazione?

La saggezza convenzionale è che la scelta di in K -fold CV segue un compromesso di bias-varianza, tali valori più bassi di K (si avvicina a 2) portano a stime dell'errore di generalizzazione che hanno un bias più pessimistico, ma una varianza più bassa, mentre valori più alti di K (avvicinandosi a N ) portano a stime meno distorte, ma con maggiore varianza. La spiegazione convenzionale per questo fenomeno di varianza che aumenta con K è forse forse più evidente in The Elements of Statistical Learning (Sezione 7.10.1):KKKKNK

Con K = N, lo stimatore della convalida incrociata è approssimativamente imparziale per l'errore di previsione reale (atteso), ma può avere una varianza elevata poiché gli "insiemi di addestramento" N sono così simili tra loro.

L'implicazione è che gli errori di convalida sono più altamente correlati in modo che la loro somma sia più variabile. Questo ragionamento è stato ripetuto in molte risposte su questo sito (ad es. Qui , qui , qui , qui , qui , qui e quiN ) così come su vari blog ed ecc. Ma un'analisi dettagliata non viene praticamente mai fornita, invece solo un'intuizione o un breve schizzo di come potrebbe essere un'analisi.

Si possono tuttavia trovare affermazioni contraddittorie, di solito citando una certa condizione di "stabilità" che non capisco davvero. Ad esempio, questa risposta contraddittoria cita un paio di paragrafi di un articolo del 2015 che dice, tra l'altro, "Per i modelli / procedure di modellazione con bassa instabilità , LOO ha spesso la più piccola variabilità" (enfasi aggiunta). Questo documento (sezione 5.2) sembra concordare sul fatto che LOO rappresenti la scelta meno variabile di purché il modello / algoritmo sia "stabile". Prendendo anche un'altra posizione sul problema, c'è anche questo documento (Corollary 2), che dice "La varianza della validazione incrociata di k fold [...] non dipende daKkk, "citando nuovamente una certa condizione di" stabilità ".

La spiegazione del perché LOO potrebbe essere la più variabile CV con Kè abbastanza intuitiva, ma esiste una contro-intuizione. La stima CV finale dell'errore quadratico medio (MSE) è la media delle stime MSE in ogni piega. Quindi quando K aumenta fino a N , la stima CV è la media di un numero crescente di variabili casuali. E sappiamo che la varianza di una media diminuisce con il numero di variabili su cui si fa la media. Quindi, affinché LOO sia la K più variabileKKNK CV con , dovrebbe essere vero che l'aumento della varianza dovuto all'aumentata correlazione tra le stime MSE supera la diminuzione della varianza dovuta al maggior numero di pieghe su cui viene calcolata la media. E non è affatto ovvio che questo sia vero.

Essendo diventato completamente confuso pensando a tutto ciò, ho deciso di eseguire una piccola simulazione per il caso di regressione lineare. Ho simulato 10.000 set di dati con = 50 e 3 predittori non correlati, stimando ogni volta l'errore di generalizzazione usandoN -fold CV con K = 2, 5, 10, o 50 = N . Il codice R è qui. Ecco le medie e le variazioni risultanti delle stime del CV in tutti i 10.000 set di dati (in unità MSE):KKN

         k = 2 k = 5 k = 10 k = n = 50
mean     1.187 1.108  1.094      1.087
variance 0.094 0.058  0.053      0.051

Questi risultati mostrano lo schema atteso secondo cui valori più alti di portano a una distorsione meno pessimistica, ma sembrano anche confermare che la varianza delle stime CV è più bassa, non più alta, nel caso LOO.K

Quindi sembra che la regressione lineare sia uno dei casi "stabili" menzionati nei documenti precedenti, in cui l'aumento di è associato a una diminuzione anziché ad una variazione della stima del CV. Ma ciò che ancora non capisco è:K

  • Cos'è esattamente questa condizione di "stabilità"? Si applica a modelli / algoritmi, set di dati o entrambi in una certa misura?
  • C'è un modo intuitivo per pensare a questa stabilità?
  • Quali sono altri esempi di modelli / algoritmi o set di dati stabili e instabili?
  • È relativamente sicuro supporre che la maggior parte dei modelli / algoritmi o set di dati siano "stabili" e quindi che dovrebbe essere generalmente scelto il più alto possibile dal punto di vista computazionale?K

1
+1. Che cosa è esattamente "cattivo" nei risultati della simulazione? Stima CV media dell'errore di generalizzazione (media su 10000 serie di dati)? Ma a cosa dovremmo confrontarlo? Sarebbe più significativo mostrare il bias, cioè radice-media-quadrata-deviazione dal vero errore di generalizzazione. Inoltre, qual è "vero errore di generalizzazione" in questo caso? Vero errore di generalizzazione della stima su un dato set di dati N = 100? O valore atteso dell'errore di generalizzazione reale (valore atteso su tutti i set di dati N = 100)? O qualcos'altro?
ameba dice Ripristina Monica

3
+1. Dopo una breve occhiata a en.wikipedia.org/wiki/… sembra che in questo contesto stabilità significhi che un algoritmo produce risultati simili sull'allenamento impostato con esempi e N - 1 . Laddove simili significano differenza rispetto a una funzione di perdita limitata da un valore bassoNN1
Łukasz Grad

1
A parte questo, ne ho recentemente parlato con @DikranMarsupial (che è probabilmente uno dei nostri principali esperti di convalida incrociata qui su CV) qui nei commenti - ha suggerito di leggere l'articolo di Kohavi del 1995 . Dikran stava anche parlando di stabilità. Sfortunatamente, da allora non l'ho seguito.
ameba dice che ripristini Monica

2
Non penso proprio, @Jake. Ciò che ho scritto invalida la tua "contro-intuizione", ma la "intuizione" principale (circa i modelli di diverse pieghe essendo altamente dipendenti) può ancora essere valida.
ameba dice di reintegrare Monica

1
Un'altra simulazione a supporto delle tue conclusioni secondo cui la varianza diminuisce con : stats.stackexchange.com/a/357749/28666 . K
ameba dice Ripristina Monica il

Risposte:


15

Questa risposta fa seguito alla mia risposta in Bias e varianza nella convalida incrociata con ritiro a vuoto vs K-fold che discute sul perché LOOCV non porta sempre a una varianza più elevata. Seguendo un approccio simile, tenterò di evidenziare un caso in cui LOOCV conduce a una maggiore varianza in presenza di valori anomali e un "modello instabile".

Stabilità algoritmica (teoria dell'apprendimento)

Il tema della stabilità algoritmica è recente e diversi risultati classici e influenti sono stati dimostrati negli ultimi 20 anni. Ecco alcuni articoli che sono spesso citati

La pagina migliore per capire è sicuramente la pagina di Wikipedia che fornisce un eccellente riassunto scritto da un utente presumibilmente molto informato.

Definizione intuitiva di stabilità

Intuitivamente, un algoritmo stabile è uno per il quale la previsione non cambia molto quando i dati di allenamento vengono leggermente modificati.

Formalmente, ci sono una mezza dozzina di versioni di stabilità, collegate tra loro da condizioni tecniche e gerarchie, vedi questo grafico da qui ad esempio:

inserisci qui la descrizione dell'immagine

L'obiettivo tuttavia è semplice, vogliamo ottenere limiti stretti sull'errore di generalizzazione di uno specifico algoritmo di apprendimento, quando l'algoritmo soddisfa il criterio di stabilità. Come ci si aspetterebbe, più restrittivo sarà il criterio di stabilità, più stretto sarà il limite corrispondente.

Notazione

La seguente notazione proviene dall'articolo di Wikipedia, che a sua volta copia il documento Bousquet ed Elisseef:

  • Training set S={z1=(x1,y1),...,zm=(xm,ym)} viene disegnato da una distribuzione sconosciuta D
  • La funzione di perdita di un'ipotesi f rispetto a un esempio z è definita come V ( f , z )VfzV(f,z)
  • Modifichiamo il set di allenamento rimuovendo l' elemento -th: S | i = { z 1 , . . . , Z i - 1 , z i + 1 , . . . , z m }iS|i={z1,...,zi1,zi+1,...,zm}
  • O sostituendo il l' elemento -esimo: s i = { z 1 , . . . , z i - 1 , ziSi={z1,...,zi1,zi,zi+1,...,zm}

Definizioni formali

Forse la nozione più forte di stabilità a cui ci si aspetterebbe da obbedire a un interessante algoritmo di apprendimento è quella di stabilità uniforme :

Stabilità uniforme Un algoritmo ha stabilità uniforme rispetto alla funzione di perdita V se vale quanto segue:βV

SZm  i{1,...,m},  sup|V(fs,z)V(fS|i,z)|  β

Considerato come una funzione di , il termine β può essere scritto come β m . Diciamo che l'algoritmo è stabile quando β m diminuisce di 1mββmβm . Una forma leggermente più debole di stabilità è:1m

Ipotesi di stabilità

i{1,...,m},  E[ |V(fs,z)V(fS|i,z)| ] β

Se viene rimosso un punto, la differenza nel risultato dell'algoritmo di apprendimento viene misurata dalla differenza assoluta media delle perdite ( norma ). Intuitivamente: piccoli cambiamenti nel campione possono solo far sì che l'algoritmo passi alle ipotesi vicine.L1

Il vantaggio di queste forme di stabilità è che forniscono limiti per la distorsione e la varianza degli algoritmi stabili. In particolare, Bousquet ha dimostrato questi limiti per la stabilità uniforme e ipotetica nel 2002. Da allora, è stato fatto molto lavoro per cercare di allentare le condizioni di stabilità e generalizzare i limiti, ad esempio nel 2011, Kale, Kumar, Vassilvitskii sostengono che significhi stabilità quadrata fornisce migliori limiti di riduzione della varianza quantitativa.

Alcuni esempi di algoritmi stabili

I seguenti algoritmi si sono dimostrati stabili e hanno dimostrato limiti di generalizzazione:

  • Regressione minima quadrata regolarizzata (con precedente appropriato)
  • Classificatore KNN con funzione di perdita 0-1
  • SVM con un kernel limitato e grande costante di regolarizzazione
  • Margine morbido SVM
  • Algoritmo entropia relativa minima per la classificazione
  • Una versione di regolarizzatori di insaccamento

Una simulazione sperimentale

Ripetendo l'esperimento dal thread precedente ( vedi qui ), ora introduciamo un certo rapporto di valori anomali nel set di dati. In particolare:

  • [.5,.5]
  • [20,20]

3

enter image description here

L'esecuzione della simulazione come in precedenza e la rappresentazione dell'MSE medio risultante e la varianza dell'MSE danno risultati molto simili all'esperimento 2 del documento Bengio & Grandvalet 2004 .

Lato sinistro : nessun valore anomalo. Lato destro : valori anomali del 3%.

enter image description here

enter image description here

(vedi il documento collegato per la spiegazione dell'ultima figura)

spiegazioni

citando la risposta di Yves Grandvalet sull'altra discussione:

Intuitivamente, [nella situazione di algoritmi instabili], il CV lasciato in sospeso può essere cieco alle instabilità esistenti, ma potrebbe non essere innescato cambiando un singolo punto nei dati di addestramento, il che lo rende altamente variabile alla realizzazione del set di allenamento.

In pratica è abbastanza difficile simulare un aumento della varianza dovuto a LOOCV. Richiede una particolare combinazione di instabilità, alcuni valori anomali ma non troppi e un gran numero di iterazioni. Forse questo è previsto poiché la regressione lineare si è dimostrata abbastanza stabile. Un esperimento interessante sarebbe quello di ripeterlo per dati dimensionali più elevati e un algoritmo più instabile (ad es. Albero decisionale)


+1 ma spero che questo thread alla fine possa essere chiuso come il duplicato di quello collegato (aspetterei fino al termine del periodo di ricompensa e la discussione si attenua e vedo quale risposta finisce per essere accettata). Commenterò più tardi.
ameba dice Reinstate Monica il

Non sono davvero convinto che la domanda sia un duplicato. La mia domanda usa la varianza della questione LOO principalmente come un modo per inquadrare le domande principali, che riguardano il tentativo di ottenere una spiegazione accessibile di cosa significhi "stabilità" - vedere le domande a punta di proiettile nella parte superiore e inferiore dell'OP. A proposito, sebbene questa risposta sia utile (+1), non riesco a vedere che hai tentato di rispondere alle domande di stabilità ... usi il termine un paio di volte, ma sembra che lo faccia in un modo che presume che il lettore sappia già cosa significa. Non sono sicuro di poter accettare la risposta nella sua forma attuale.
Jake Westfall,

1
@JakeWestfall Quando ho scritto che "spero" che questo thread alla fine possa essere chiuso come duplicato, volevo dire che spero che una risposta accettata in quel thread alla fine sarà abbastanza grande da coprire le cose che hai chiesto :) Dai un'occhiata al documento Bengio & Grandvalet, Esperimento 2. Mostrano che usando la regressione lineare e i dati gaussiani ottengono una varianza minima per LOOCV (questo è anche il tuo risultato), ma se i dati contengono una frazione di valori anomali, LOOCV ha una varianza maggiore di 10- piega o giù di lì. Penso che ciò accenni a ciò che riguarda la "stabilità" rilevante.
ameba dice Ripristina Monica il

3
Lo adoro @XavierBourretSicotte. Grazie per aver fatto un ottimo lavoro su questa risposta.
Jake Westfall,

1
Sì, citando questo documento: pdfs.semanticscholar.org/bf83/… : "Un algoritmo stabile ha la proprietà che la sostituzione di un elemento nel suo set di apprendimento non cambia molto il suo risultato. Di conseguenza, l'errore empirico, se pensato come un variabile casuale, dovrebbe avere una piccola varianza. Gli algoritmi stabili possono quindi essere buoni candidati per il loro errore empirico vicino al loro errore di generalizzazione
Xavier Bourret Sicotte

2

Darò la mia risposta nel contesto del paragrafo che citi:

Con K = N, lo stimatore della convalida incrociata è approssimativamente imparziale per l'errore di previsione reale (atteso), ma può avere una varianza elevata poiché gli "insiemi di addestramento" N sono così simili tra loro.

Lo stimatore CV dell'errore di previsione reale (previsto) si basa su un esempio di set di training, quindi qui l'aspettativa è oltre i campioni del set di training, quando lo capisco correttamente.

Quindi, ciò che dice questo paragrafo relativo alla "varianza elevata" è che esiste una differenza "elevata" tra l'errore previsto e l'errore stimato dal CV (che è qui, la media delle pieghe multiple).

Ciò ha senso perché il modello è adatto a un determinato set di allenamento e perché tutte le pieghe dell'allenamento sono così simili nel congedo. Tuttavia, mentre le pieghe dell'allenamento sono molto simili all'interno di un ciclo di CV, la stima probabilmente differisce di molto se scambiamo campioni di allenamento con CV. Nel CV di k-fold, poiché "diversifichiamo" le pieghe dell'allenamento, abbiamo un certo effetto di media, e attraverso le k-fold, le stime quindi variano di meno.

O in altre parole, lo stimatore CV con esclusione è praticamente simile a un metodo di controllo in cui non si ruotano le pieghe e si basa la stima dell'errore su un set di convalida. Ancora una volta, rispetto agli esempi di allenamento, ci sarà una varianza elevata rispetto alle stime da k-fold, dove si esegue la media delle pieghe già allenando modelli piuttosto diversi all'interno di k-fold round (in altre parole, se si scambiano i set di allenamento, le stime di l'errore tramite k-fold probabilmente non varierà molto).

MODIFICARE:

Quando leggo alcune risposte qui su cross-validate e su Internet in generale, penso che ci sia un po 'di confusione a quale stimatore ci riferiamo. Penso che alcune persone si riferiscano a un modello con varianza elevata (con il discorso ML per la perdita con una componente di varianza dominante) rispetto alla varianza elevata dello stimatore CV k-fold. Inoltre, un'altra serie di risposte si riferisce alla varianza come varianza di esempio relativa alle pieghe quando qualcuno afferma che "k-fold ha una varianza elevata". Quindi, suggerisco di essere specifico, perché le risposte sono diverse in entrambi i casi.


Quando parliamo di varianza, la mia ipotesi è che stiamo parlando della varianza dello stimatore CV sul set di addestramento D come definito qui: stats.stackexchange.com/questions/365224/… e qui: stats.stackexchange.com/questions/325123/… . Yves Grandvalet e Bengio sostengono nel loro articolo del 2004 che il CV stima l'errore di previsione previsto. Puoi vedere la sua risposta qui: stats.stackexchange.com/a/358138/192854
Xavier Bourret Sicotte

Se vuoi basare la tua risposta su diverse definizioni di varianza, penso che sarebbe utile aggiungere definizioni e formule formali. Forse dovrei farlo anche nelle mie risposte ..
Xavier Bourret Sicotte,

Sì, ho bisogno di rivedere un po 'la letteratura e aggiungere alcune formule alla risposta. La citazione da The Elements of Statistical Learning è comunque intuitiva per me, secondo cui LOOCV ha una varianza elevata se il modello ha una varianza elevata, perché è una media delle pieghe. Se un modello presenta un'inclinazione elevata, sia LOOCV che tutti gli stimatori del k-fold dovrebbero avere una bassa varianza (indipendente dall'inclinazione) perché le previsioni non varieranno molto. Ma il punto nel paragrafo era prob. quel LOOCV rispetto a k-fold per la maggior parte dei casi

La citazione si è dimostrata errata - almeno come generalizzazione - vedi i molteplici articoli citati nelle mie risposte
Xavier Bourret Sicotte

1

Ci siamo già passati prima: stai diventando troppo matematico su un cavallo morto. Vedi di Ron Kohavi (Stanford-Univ) Carta classica sul CV e il bias-varianza dilemma qui . Quando hai finito di leggere questo, non vorrai eseguire LOOCV e probabilmente sarai attratto da CV 10 volte e / o CV con bias bootstrap.

Devi anche pensare a grandi set di dati, per i quali LOOCV è troppo costoso dal punto di vista computazionale. Al momento, LOOCV non è in realtà un'opzione nei flussi di lavoro / pipeline della maggior parte dei gruppi.

Cos'è esattamente questa condizione di "stabilità"? Si applica a modelli / algoritmi, set di dati o entrambi in una certa misura?

Nell'universo di tutte le funzioni di costo e nell'universo di tutti i set di funzionalità, non presumo che esista un indice generale di "stabilità", perché non sarebbe inammissibile e sarebbe troppo incline a crollare sotto un insieme infinitamente grande di condizioni. fondamentalmente,K=nè appropriato quando i parametri df e / o # sono così grandi che sono necessari più dati di allenamento. La distorsione sarà anche maggiore perK=n, poiché vengono utilizzati più dati e la varianza sarebbe artificialmente zero, poiché i set di dati di addestramento sono troppo simili tra loro. Impareresti anche più rumore nei dati quandoK=n.

LREG come classificatore funzionerebbe quando i dati sono separabili linearmente, ma in media la sua distorsione sarebbe troppo elevata, poiché molti set di dati non sono separabili linearmente.

C'è un modo intuitivo per pensare a questa stabilità?

A mio avviso, dal momento che non esiste una regola generale sulla stabilità.

Quali sono altri esempi di modelli / algoritmi o set di dati stabili e instabili?

Questo è a tempo indeterminato e troppo ampio, dal momento che un numero infinitamente elevato di risposte può essere inventato, il che non sarebbe utile.

È relativamente sicuro supporre che la maggior parte dei modelli / algoritmi o set di dati siano "stabili" e quindi quello K dovrebbe essere generalmente scelto il più alto possibile dal punto di vista computazionale?

No. No. Affidandoti solo a Kpresume che tu creda ai dati. Un esempio sono le foreste casuali, per le quali non esiste davveroK. Mentre circa il 37% dei dati verrà utilizzato per i test (in media, il 37% degli oggetti non viene selezionato durante il campionamento con la sostituzione), ad esempio ci sono 5.000 set di dati diversi (bootstrap) ciascuno dei quali suddiviso in formazione / test in modo diverso. Il tuo esempio tratto da documenti presupponeva che ogni set di dati utilizzato fosse una vera realizzazione dei dati, il che è un presupposto errato.

Dato bootstrap, la regola della stabilità circostante K è ammissibile, dal momento che il campione di dati utilizzato per un approccio CV semplice che coinvolge K non è una vera realizzazione dell'universo di tutti i dati da cui è stato ottenuto il campione.


Grazie per i tuoi commenti, ma questo non sembra rispondere alla domanda.
Jake Westfall,

Vedere la risposta allegata al PO.
JoleT,

3
Ho solo sfogliato l'articolo, ma sembrano davvero affermare che 10x è il migliore su un terreno estremamente traballante. Non posso credere che abbia 7k citazioni. Detto questo, sembra esserci una buona ragione per credere che ci siano molti benefici in più di 10 volte. Darò una lettura più approfondita quando ne avrò la possibilità.
Cliff AB,
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.