Come trovare valori ottimali per i parametri di ottimizzazione nel potenziamento degli alberi?


9

Mi rendo conto che ci sono 3 parametri di ottimizzazione nel modello degli alberi esaltanti, ad es

  1. il numero di alberi (numero di iterazioni)
  2. parametro di restringimento
  3. numero di divisioni (dimensioni di ciascun albero costituente)

La mia domanda è: per ciascuno dei parametri di ottimizzazione, come devo trovare il suo valore ottimale? E quale metodo?

Si noti che: il parametro di restringimento e il parametro del numero di alberi funzionano insieme, vale a dire un valore più piccolo per il parametro di restringimento porta a un valore più elevato per il numero di alberi. E dobbiamo anche tenerne conto.

Sono particolarmente interessato al metodo per trovare il valore ottimale per il numero di divisioni. Dovrebbe essere basato sulla convalida incrociata o sulla conoscenza del dominio sul modello alla base?

E come vengono eseguite queste cose nel gbmpacchetto in R?

Risposte:


6

Il pacchetto del cursore in R è fatto su misura per questo.

La sua funzione train prende una griglia di valori di parametro e valuta le prestazioni utilizzando vari tipi di convalida incrociata o bootstrap. L'autore del pacchetto ha scritto un libro, Modellazione predittiva applicata , che è altamente raccomandato. 5 ripetizioni della convalida incrociata di 10 volte sono utilizzate in tutto il libro.

Per scegliere la profondità dell'albero, per prima cosa sceglierei la conoscenza dell'argomento sul problema, cioè se non ti aspetti alcuna interazione - limita la profondità a 1 o scegli un modello parametrico flessibile (che è molto più facile da capire e interpretare). Detto questo, mi trovo spesso a regolare la profondità dell'albero in quanto la conoscenza della materia è spesso molto limitata.

Penso che il pacchetto gbm sintonizzi il numero di alberi per valori fissi della profondità e del restringimento dell'albero.


Il libro include anche il codice R?
user1769197,

Intendo un esempio funzionante che include il codice R, quindi comprendiamo come i modelli sono implementati computazionalmente e applicati su un set di dati
user1769197,

1
Sì lo fa. Controlla la pagina web del libro applicatopredictivemodeling.com per maggiori informazioni.
ErikL,

1

Esistono due buone fonti per gli alberi di regressione potenziati e il pacchetto gbm. Per la spiegazione di BRT e l'ottimizzazione del numero di alberi ( nt), tasso di apprendimento ( lr) e complessità dell'albero ( tc) vedere Una guida di lavoro per potenziare gli alberi di regressione Sebbene si concentri sull'ecologia, penso che non troverai una migliore introduzione a BRT .

Per l'implementazione di BRT nel pacchetto gbm, vedere Alberi di regressione potenziati per la modellazione ecologica

In breve, una regola empirica è quella di selezionare un tasso di apprendimento che consenta al modello BRT di adattarsi ad almeno 1000 alberi, quindi è probabilmente necessario un basso tasso di apprendimento, forse 0,001 per farlo. Ma dipende dalla dimensione dei tuoi dati, vedi fig. 2 e 3 nella Guida operativa di BRT. Penso che un possibile modo sarebbe quello di impostare diversi modelli in BRT in base alle dimensioni dei dati, ad esempio combinare diversi lr (0.1, 0.01, 0.001), tc (1, 3, 5, 7, 9, 20) con borsa diversa .frazioni (0,5, 0,7, 0,9) e scegli quella migliore in base alla devianza più bassa o al punteggio ROC più alto. Forse ha aiutato.


1
Per riferimento, BRT_MODEL$self.statistics$correlation[[1]]è la correlazione del test con i dati di allenamento, che è una buona metrica di test.
dez93_2000,

mi sembra un disegno statistico di esperimento. : P
EngrStudent,
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.