In realtà va bene eseguire la selezione delle funzioni senza supervisione prima della convalida incrociata?


9

In The Elements of Statistical Learning , ho trovato la seguente dichiarazione:

Esiste una qualifica: le fasi iniziali di screening senza supervisione possono essere eseguite prima che i campioni vengano esclusi. Ad esempio, potremmo selezionare i 1000 predittori con la varianza più elevata tra tutti i 50 campioni, prima di iniziare la convalida incrociata. Poiché questo filtro non coinvolge le etichette di classe, non offre un vantaggio ingiusto ai predittori.

Questo è effettivamente valido? Voglio dire, filtrando preventivamente gli attributi, non stiamo imitando i dati di addestramento / nuovo ambiente di dati - quindi è importante che il filtro che stiamo eseguendo non sia supervisionato? Non è meglio eseguire effettivamente tutte le fasi di preelaborazione all'interno del processo di convalida incrociata? In caso contrario, significa che è possibile eseguire preventivamente tutte le preelaborazioni senza supervisione, inclusa la normalizzazione delle funzioni / PCA, ecc. Ma eseguendo queste operazioni sull'intero set di training, stiamo effettivamente perdendo alcuni dati sul set di training. Posso essere d'accordo sul fatto che con un set di dati relativamente stabile, queste differenze molto probabilmente dovrebbero essere minuscole - ma ciò non significa che non esistano, giusto? Qual è il modo corretto di pensare a questo?

Risposte:


2

Come fase precedente alla convalida incrociata, la selezione delle funzioni senza supervisione è in qualche modo simile alla normalizzazione delle funzioni:

  1. Dal punto di vista di una piega specifica nella convalida incrociata, i dati del treno hanno dato una sbirciatina ai dati di prova (anche se solo nelle variabili indipendenti).

  2. Questa sbirciata è relativamente mite.

In questa domanda è stata discussa la normalizzazione delle funzionalità prima della validazione incrociata . Citando la risposta lì di Dikran Marsupial

La convalida incrociata è meglio considerata come un metodo per stimare le prestazioni di una procedura statistica, piuttosto che un modello statistico. Pertanto, al fine di ottenere una stima delle prestazioni imparziale, è necessario ripetere ogni elemento di tale procedura separatamente in ogni piega della convalida incrociata, che includerebbe la normalizzazione.

Pertanto, se è possibile risparmiare risorse, la cosa migliore sarebbe che ogni piega di convalida incrociata esegua da zero qualsiasi elaborazione dipendente dai dati.

y


Bene, questo sostanzialmente coincide con i miei pensieri, e l'ultima frase qui è in realtà la risposta breve alla mia domanda. Grazie, farò di questo una risposta accettata.
Matek,

1
L'effetto potrebbe essere piccolo, ma potrebbe non essere così piccolo. Come dici tu, è come pre-ridimensionare le variabili indipendenti prima del CV, che utilizzerà "il futuro" (dati di test) per aiutare a ridimensionare "il presente" (dati di addestramento), che non accadrà nel mondo reale. Se hai pieghe casuali (non usando serie temporali, stratificazione, ecc.) È meno un effetto, ma perché rompere la barriera Train / Test e tutto il resto?
Wayne,

@Wayne Sono certamente d'accordo con te sul fatto che, quando possibile, è meglio non rompere la barriera treno / prova. Personalmente, non ho mai incontrato casi del mondo reale in cui ciò ha fatto la differenza (rispetto a FS non supervisionato e / o normalizzazione), ma ho riscontrato casi in cui era assolutamente impossibile fare la selezione delle caratteristiche nel "modo giusto" (cioè all'interno di ogni piegare). Tuttavia, vedo dalla tua bella risposta (che sto votando) che hai riscontrato il caso opposto, quindi apparentemente esistono entrambi gli scenari.
Ami Tavory,

Non sono sicuro di aver riscontrato risultati CV in cui la normalizzazione ha fatto la differenza, cosa che attribuisco a fare normalmente CV 10 volte, il che significa che la piega del test è solo del 10%, il che ne riduce l'effetto. Ho visto una differenza con qualcosa di simile a una divisione non CV CV 67/33 o addirittura 75/25.
Wayne,

9

Mi permetto di differire in questa domanda con l'opinione di @ AmiTavory e con gli Elementi di apprendimento statistico.

Proveniente da un campo applicato con campioni di dimensioni molto basse, ho l'esperienza che anche fasi di pre-elaborazione senza supervisione possono introdurre gravi distorsioni.

Nel mio campo sarebbe più frequentemente un PCA per la riduzione della dimensionalità prima che un classificatore venga addestrato. Anche se non posso mostrare qui i dati, ho visto PCA + (cross validated LDA) vs. cross validated (PCA + LDA) sottovalutare il tasso di errore di circa un ordine di grandezza . (Questo di solito indica che il PCA non è stabile.)

Per quanto riguarda l'argomentazione degli "indebiti vantaggi" degli Elementi, se si esamina la varianza dei casi di guadagno + test, si finisce con caratteristiche che funzionano bene con i casi di training e test. Pertanto, qui creiamo una profezia che si autoavvera, che è la causa del pregiudizio eccessivamente ottimistico. Questo bias è basso se si hanno dimensioni del campione ragionevolmente comode.

Quindi raccomando un approccio leggermente più conservativo rispetto agli Elements:

  • i calcoli di preelaborazione che considerano più di un caso devono essere inclusi nella validazione: cioè sono calcolati solo sul rispettivo set di addestramento (e quindi applicati ai dati del test)
  • le fasi di preelaborazione che considerano ogni caso singolarmente (sono spettroscopista: esempi sarebbero la correzione della linea di base e la normalizzazione dell'intensità, che è una normalizzazione a livello di riga) possono essere estratte dalla convalida incrociata finché sono prima del primo passo che calcola per più casi.

Detto questo, anche la valutazione incrociata è solo una scorciatoia per fare uno studio di validazione adeguato. Pertanto, puoi discutere con praticità:

  • È possibile verificare se la preelaborazione in questione produce risultati stabili (è possibile farlo ad es. Mediante validazione incrociata). Se lo trovi perfettamente stabile già con campioni di dimensioni inferiori, IMHO potresti obiettare che non verrà introdotta molta distorsione estraendolo dalla validazione incrociata.

  • Tuttavia, per citare un supervisore precedente: il tempo di calcolo non è un argomento scientifico.
    Vado spesso per una "anteprima" di poche pieghe e poche iterazioni per la convalida incrociata per assicurarmi che tutto il codice (incluso il riepilogo / grafici dei risultati) e poi lo lasci per tutta la notte o durante il fine settimana sul server per un convalida incrociata più dettagliata.

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.