È "giusto" mettere un seme in una regressione casuale della foresta per ottenere la massima precisione?


10

Ho una regressione casuale della foresta creata usando skl e noto che produco risultati diversi in base all'impostazione del seme casuale su valori diversi.

Se uso LOOCV per stabilire quale seme funziona meglio, è un metodo valido?


1
La gente lo fa nelle competizioni. Anche se per il mondo accademico sarebbe difficile giustificarlo.
Firebug

2
Pensa a uno scenario estremo: giochiamo a una partita: tiriamo due dadi e vince chi ottiene la somma più alta. Ma in realtà mi è permesso lanciare due volte i dadi. Sei giusto tu? Vorrei sottolineare che l'impostazione dei semi casuali è parte integrante della ricerca riproducibile e dovrebbe essere sempre effettuata. Ciò non significa però che dovremmo provare molti semi diversi fino a quando non troviamo un "seme favorevole".
usεr11852,

@ usεr11852 cosa ne pensi del mio commento sulla risposta attualmente accettata? Non sono sicuro che sia diverso dai riavvii casuali come con i kmean. Nessuno pensa che dovremmo essere costretti ad accettare la prima corsa che facciamo, al punto che i riavvii casuali sono integrati nella funzione standard in R. A meno che tu non pensi che il modello stia eseguendo km km 100 volte anziché il modello essendo solo il miglior clustering singolo
jld

No, sembra proprio la definizione di overfitting sulla casualità effettiva.
Mark White,

@Chaconne: sostengo pienamente il tuo punto sulla necessità di una corretta convalida. Detto questo, penso che ci sia una differenza fondamentale nei due casi d'uso: nel caso di k-mean (o ottimizzazione stocastica in generale) cerchiamo un "set ottimale" di parametri mentre per CV ci prendiamo cura di un "set rappresentativo ". Nel primo caso ci sforziamo di mostrare "quanto possiamo essere bravi" mentre nel secondo caso "quanto saremo buoni".
usεr11852,

Risposte:


10

La risposta è no .

Il tuo modello fornisce un risultato diverso per ogni seme che usi. Questo è il risultato della natura non deterministica del modello. Scegliendo un seme specifico che massimizza le prestazioni sul set di validazione significa che hai scelto la "disposizione" che meglio si adatta a questo set. Tuttavia, ciò non garantisce che il modello con questo seme avrebbe prestazioni migliori su un set di test separato . Questo significa semplicemente che hai adattato troppo il modello sul set di validazione .

Questo effetto è il motivo per cui vedi molte persone che si classificano in alto nelle competizioni (ad es. Kaggle) sul set di test pubblico, cadendo lontano sul set di test nascosto. Questo approccio non è considerato in alcun modo l'approccio corretto.


4
Sì, questo è il motivo per cui la validazione incrociata è una tecnica così forte e anche perché le persone usano sia una validazione che un set di test (uno su cui basare la selezione del modello e uno per ottenere una valutazione imparziale).
Djib2011

1
Non sono convinto. Con l'ottimizzazione non convessa è normale eseguire riavvii casuali perché semi diversi possono portare a stime dei parametri del modello molto diverse e solo per sfortuna si può ottenere una cattiva convergenza. Ad esempio con kmeans questo è ben noto. Con la foresta casuale solo per caso, forse il tuo modello finisce per fare troppe suddivisioni secondarie. Non penso che sia appropriato riconoscere che esecuzioni diverse portano a stime dei parametri del modello diverse e alcune potrebbero effettivamente generalizzare meglio di altre. Tutto ciò è condizionato dalla valutazione corretta delle prestazioni del campione, ovviamente.
jld

5
@ user2723494 È valido per gli iperparametri nella speranza di aumentare le prestazioni senza il costo della generalizzazione. Tuttavia, la messa a punto dei parametri ancora e ancora sul set di validazione produrrebbe lo stesso effetto che ho descritto (overfitting sul set di validazione). Poiché la semina casuale è per sua natura stocastica, è molto più probabile che migliori le prestazioni a causa di un eccesso di equipaggiamento che a causa della effettiva produzione di un modello migliore.
Djib2011

4
@Chaconne Non ho detto che era impossibile. Tuttavia, con questa procedura è molto più probabile selezionare un seme che si vesti di uno che effettivamente produce un modello migliore ...
Djib2011

4
Ad essere sincero, non ho mai considerato il seeding di algoritmi ML (e privandoli della loro natura stocastica) una buona pratica. L'OP ha creato una nuova domanda ponendo proprio questo. Sarei interessato a leggere la tua risposta!
Djib2011
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.