Perché la stima OOB della foresta casuale di errore migliora quando si riduce il numero di funzionalità selezionate?


14

Sto applicando un algoritmo di foresta casuale come classificatore su un set di dati di microarray che sono divisi in due gruppi noti con migliaia di funzionalità. Dopo la corsa iniziale guardo l'importanza delle funzionalità ed eseguo di nuovo l'algoritmo dell'albero con le funzionalità più importanti 5, 10 e 20. Trovo che per tutte le funzionalità, le prime 10 e le 20 che la stima OOB del tasso di errore sia dell'1,19%, mentre per le prime 5 funzioni sia dello 0%. Questo mi sembra poco intuitivo, quindi mi chiedevo se potevi spiegare se mi sto perdendo qualcosa o sto usando la metrica sbagliata.

I usando un pacchetto randomForest in R con ntree = 1000, nodesize = 1 e mtry = sqrt (n)


2
Giusto per essere chiari: stai applicando le RF in modo iterativo, cioè selezionando le funzionalità più classificate (secondo l'indice Gini o la diminuzione in MSE) dall'intero spazio di input? So che le RF potrebbero non migliorare necessariamente con l'aumentare del numero di alberi, ma ciò che stai raffigurando sembra avere senso (le migliori caratteristiche consentono di prevedere con precisione al 100% i campioni OOB), anche se c'è chiaramente il rischio di un overfitting quando si procede in questo modo .
chl,

Sì, è quello che sto facendo
danielsbrewer il

2
@chl, potresti spiegare perché esiste il rischio di overfitting utilizzando solo 5 funzionalità?
Tashuhka,

Risposte:


15

Si tratta di un overfit per la selezione delle funzionalità e questo è abbastanza noto - vedi Ambroise & McLachlan 2002 . Il problema si basa sul fatto che la RF è troppo intelligente e il numero di oggetti è troppo piccolo. In quest'ultimo caso, è generalmente abbastanza facile creare in modo casuale attributi che possano avere una buona correlazione con la decisione. E quando il numero di attributi è elevato, potresti essere certo che alcuni di quelli totalmente irrilevanti saranno ottimi predittori, anche abbastanza da formare un cluster che sarà in grado di ricreare la decisione al 100%, soprattutto quando l'enorme flessibilità di RF è considerata. E così, diventa ovvio che quando viene richiesto di trovare il miglior sottoinsieme di attributi, la procedura FS trova questo cluster.
Una soluzione (CV) è data in A & McL, puoi anche testare il nostro approccio all'argomento, ilL'algoritmo di Boruta , che sostanzialmente estende l'insieme con "attributi dell'ombra" resi casuali dalla progettazione e confronta la loro importanza RF con quella ottenuta per attributi reali per giudicare quali di essi sono effettivamente casuali e possono essere rimossi; questo viene replicato molte volte per essere significativo. Boruta è piuttosto destinato a un compito un po 'diverso, ma per quanto riguarda i miei test, il set risultante è privo del problema di sovradimensionamento di FS.


2

Ho pensato di aggiungere una spiegazione intuitiva per questo modello.

In ogni albero decisionale comprendente la foresta casuale, i dati sono suddivisi iterativamente lungo singole dimensioni. Fondamentalmente, questa procedura comporta

1) considerando solo un piccolo sottoinsieme selezionato casualmente di tutte le variabili esplicative, e

2) selezionare la variabile esplicativa più fortemente associata all'interno di questo sottoinsieme di variabili selezionato casualmente per dividere i dati.

Pertanto, la probabilità del n variabili più importanti vengano selezionate in un determinato nodo diminuisce all'aumentare del numero di variabili esplicative. Pertanto, se si aggiunge un gran numero di variabili che contribuiscono con un potere esplicativo minimo o nullo, si determina automaticamente un aumento del tasso di errore della foresta. E viceversa, la scelta delle sole variabili più importanti per l'inclusione porterà molto probabilmente a una riduzione del tasso di errore.

Le foreste casuali sono piuttosto robuste e richiedono in genere un'aggiunta molto ampia di questi parametri di "rumore" per ridurre significativamente le prestazioni.

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.