Quali sono le implicazioni per l'addestramento di un insieme di alberi con set di dati altamente distorti?


14

Ho un set di dati binari altamente distorto: ho 1000 volte più esempi della classe negativa rispetto alla classe positiva. Vorrei addestrare un albero insieme (come alberi casuali extra o una foresta casuale) su questi dati, ma è difficile creare set di dati di addestramento che contengano abbastanza esempi della classe positiva.

Quali sarebbero le implicazioni di un approccio di campionamento stratificato per normalizzare il numero di esempi positivi e negativi? In altre parole, è una cattiva idea, ad esempio, gonfiare artificialmente (ricampionando) il numero di esempi di classe positivi nel set di addestramento?

Risposte:


10

Sì, è problematico. Se sopravvaluti la minoranza, rischi di esagerare. Se sottocampisti la maggioranza, rischi di perdere aspetti della classe di maggioranza. Il campionamento stratificato, tra l'altro, equivale ad assegnare costi di classificazione errata non uniformi.

alternative:

(1) Campionamento indipendente di diversi sottogruppi della classe di maggioranza e creazione di più classificatori combinando ciascun sottoinsieme con tutti i dati della classe di minoranza, come suggerito nella risposta di @Debasis e descritto in questo documento di EasyEnsemble ,

(2) SMOTE (Synthetic Minority Oversampling Technique) o SMOTEBoost, (che combina SMOTE con boosting) per creare istanze sintetiche della classe di minoranza creando i vicini più vicini nello spazio delle caratteristiche. SMOTE è implementato in R nel pacchetto DMwR .


11

Consiglierei la formazione su sottoinsiemi più equilibrati dei tuoi dati. Addestramento di foreste casuali su set di esempi positivi selezionati casualmente con un numero simile di campioni negativi. In particolare, se le caratteristiche discriminanti presentano molte variazioni, ciò sarà abbastanza efficace ed eviterà un adattamento eccessivo. Tuttavia, nella stratificazione è importante trovare un equilibrio poiché un eccesso di adattamento può diventare un problema a prescindere. Suggerirei di vedere come funziona il modello con l'intero set di dati, aumentando progressivamente il rapporto tra campioni positivi e negativi avvicinandosi a un rapporto uniforme e selezionando quello che massimizza la metrica delle prestazioni su alcuni dati di controllo rappresentativi.

Questo documento sembra abbastanza pertinente http://statistics.berkeley.edu/sites/default/files/tech-reports/666.pdf e parla di un weighted Random Forestche penalizza più pesantemente l'errata classificazione della classe di minoranza.


4

Un modo rapido, semplice e spesso efficace per affrontare questo squilibrio sarebbe quello di sottocampionare casualmente la classe più grande (che nel tuo caso è la classe negativa), eseguire la classificazione N numero di volte con membri delle due classi (una piena e l'altra sottocampionato) e riporta i valori metrici medi, la media viene calcolata su N (diciamo 1000) iterazioni.

Un approccio più metodico sarebbe quello di eseguire l'algoritmo Mapping Convergence (MC), che prevede l'identificazione di un sottoinsieme di campioni fortemente negativi con l'aiuto di un classificatore di una classe, come OSVM o SVDD, e quindi eseguire iterativamente la classificazione binaria sul set di campioni fortemente negativi e positivi. Maggiori dettagli sull'algoritmo MC sono disponibili in questo documento .


0

Come accennato in precedenza, il modo migliore è campionare ripetutamente la classe di maggioranza N volte (campionamento senza sostituzione) e per ogni volta, la dimensione della classe negativa dovrebbe essere uguale alla dimensione della classe positiva. Ora è possibile addestrare N diversi classificatori e la media può essere utilizzata per valutarlo.

Un altro modo è utilizzare la tecnica del bootstrap. Ciò potrebbe introdurre un overfitting, ma vale la pena provare e quindi se necessario, è possibile regolarizzare il modello per evitare un overfitting.

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.