Recentemente mi è stato detto che il processo che ho seguito (componente di una tesi di laurea) poteva essere visto come un adattamento eccessivo. Sto cercando di capire meglio questo e vedere se gli altri sono d'accordo.
L'obiettivo di questa parte del documento è quello di
Confrontare le prestazioni degli alberi di regressione potenziati con gradiente rispetto alle foreste casuali in un set di dati.
Guarda le prestazioni del modello finale scelto (GBM o RF).
Vengono utilizzati i pacchetti gbme randomForestin R, insieme a
caret.
Il processo seguito è stato il seguente:
- Preelaborazione preliminare dei dati (ad esempio inserendo i valori mancanti dei predittori nominali con una categoria distinta chiamata "Mancante"). La variabile target non è stata esaminata in relazione a nessuna pre-elaborazione (che era molto minima).
- Creare una griglia di valori per i meta-parametri di ciascun algoritmo (ad es. Numero di iterazioni per GBM).
- Crea 25 divisioni casuali del set di dati (65% di allenamento e 35% di test).
Ripeti 25 volte quanto segue per GBM (ogni volta che utilizzi una delle divisioni del treno / test casuali. Ogni volta che l'addestramento e il set di test sono "correnti" ovviamente cambia - questo è ripetuto convalida incrociata di gruppo di partenza):
- Utilizzare la convalida incrociata 5 volte per trovare le impostazioni dei parametri "ottimali" dell'algoritmo nella ricerca della griglia. Nulla di precedenti esecuzioni non è stato utilizzato affatto nella corsa corrente.
- Una volta determinato, adattare un modello all'intero set di allenamento "attuale" e prevedere il set di test "attuale". Metti da parte la misura delle prestazioni di questa corsa.
Una volta ottenute 25 misure di prestazione (in realtà una misura specifica di dominio, ma considerandola accuratezza) in questo modo, segui lo stesso identico processo, usando gli stessi identici campioni indipendenti di treno e prova, per RF (stesso processo, solo con differenti ricerca della griglia ovviamente).
Ora, ho 25 misurazioni delle prestazioni dagli allora "attuali" set di test per GBM e RF. Le metto a confronto usando un Wilcoxon Signed Rank Test e anche un test di permutazione. Ho trovato GBM superiore. Ho anche affermato che la distribuzione della misura delle prestazioni da queste 25 corse per GBM è la prestazione prevista del classificatore GBM finale.
Quello che non ho fatto è stato estrarre un set di test casuali sin dall'inizio e metterlo da parte per essere confrontato con il modello GBM finale creato da tutti i dati di training. Io sostengo che quello che ho fatto è stato davvero molto meglio quando ho ripetuto i dati suddivisi / ottimizzato il modello / test sul processo di controllo 25 volte rispetto a una sola volta.
C'è un eccesso di adattamento qui? Poiché le 25 serie sono state utilizzate per selezionare GBM rispetto a RF, ciò significa che le misure di prestazione acquisite dal processo non possono essere utilizzate come stima delle prestazioni per il modello completo?
MODIFICA In risposta al commento di Wayne, ecco cosa è stato fatto durante ciascuna delle 25 corse:
- I dati campionati per il set di addestramento (i = 1, .., 25) sono stati suddivisi in 5 gruppi di dimensioni uguali. Un modello è stato adattato utilizzando 4 dei 5 gruppi, impostando i parametri GBM (es. Numero di iterazioni) uguali ai valori nella griglia jth (j = 1, .., 18).
- Le prestazioni sul 5 ° gruppo sono state calcolate usando questo modello.
- I passaggi 1 e 2 sono stati ripetuti 4 volte in più (CV vecchio normale k-fold con k = 5). Le prestazioni sono state mediate dalle 5 sotto-serie e questo ha compensato le prestazioni previste di GBM con quel determinato set di valori dei parametri.
- I passaggi 1-3 sono stati ripetuti per le altre 17 "file" nella griglia.
Una volta completati, sono stati determinati i migliori valori dei parametri dell'esercizio precedente e un GBM è stato adattato utilizzando questi valori dei parametri e l'intero set di allenamento. Le sue prestazioni sono state stimate sul set di test.
Una volta che l'intero processo è stato eseguito 25 volte, c'erano 25 misure di prestazione disponibili per GBM. Quindi sono stati raccolti per RF nello stesso identico modo.
Dopo aver confrontato e scelto GBM, ho esaminato quelle 25 misure di prestazione e ho preso la media e Stnd Error per determinare un intervallo di confidenza per un modello GBM su questi dati.