AdaBoost è meno o più soggetto a sovralimentazione?


20

Ho letto varie dichiarazioni (apparentemente) contraddittorie sul fatto che AdaBoost (o altre tecniche di potenziamento) siano meno o più inclini al sovralimentazione rispetto ad altri metodi di apprendimento.

Ci sono buoni motivi per credere l'uno o l'altro? Se dipende, da cosa dipende? Quali sono i motivi per cui AdaBoost è meno / più incline al sovradimensionamento?


1
La mia intuizione è che è più incline al sovradimensionamento di una foresta casuale. Tuttavia, l'algoritmo è progettato per evitare un eccesso di adattamento e di solito non sembra essere un problema. Non ho riferimenti a sostegno di questo, ma è possibile utilizzare il caretpacchetto per convalidare in modo incrociato adaboost e ho scoperto che di solito si generalizza bene.
Zach,

Risposte:


17

Come dici tu è stato discusso molto su questo argomento, e c'è una teoria piuttosto pesante che è andata avanti con esso che devo ammettere che non ho mai capito del tutto. Nella mia esperienza pratica, AdaBoost è abbastanza robusto da sovralimentare, e LPBoost (Linear Programming Boosting) ancora di più (perché la funzione obiettivo richiede una scarsa combinazione di studenti deboli, che è una forma di controllo della capacità). I principali fattori che lo influenzano sono:

  • La "forza" dei discenti "deboli": se si utilizzano discenti deboli molto semplici, come ad esempio ceppi di decisione (alberi decisionali di 1 livello), gli algoritmi sono molto meno inclini a un eccesso di adattamento. Ogni volta che ho provato ad usare studenti deboli più complicati (come alberi decisionali o persino iperpiani) ho scoperto che il sovradimensionamento si verifica molto più rapidamente

  • Livello di rumore nei dati: AdaBoost è particolarmente incline al sovradimensionamento su set di dati rumorosi. In questa impostazione sono preferibili i moduli regolarizzati (RegBoost, AdaBoostReg, LPBoost, QPBoost)

  • La dimensionalità dei dati: Sappiamo che in generale, sperimentiamo un eccesso di adattamento in spazi ad alta dimensione ("la maledizione della dimensionalità"), e AdaBoost può anche soffrire a tale riguardo, in quanto è semplicemente una combinazione lineare di classificatori che essi stessi soffrono dal problema. È difficile stabilire se sia incline come altri classificatori.

K


9

Concordo con la maggior parte dei punti menzionati nel commento tdc. tuttavia, devo aggiungere e correggere alcune cose.

  • Come mostrato in L2Boost da Peter Bühlmann, con l'aumentare del numero di discenti deboli (round di potenziamento), il bias converge esponenzialmente velocemente mentre la varianza aumenta di magnitudo diminuendo geometricamente, il che significa: si adatta molto più lentamente rispetto alla maggior parte degli altri metodi.
  • È stato erroneamente menzionato nel commento di Zach che è meglio della foresta casuale in termini di vestibilità. È completamente sbagliato. In effetti, secondo la teoria (guarda il documento originale sulla foresta casuale di Breiman), Random Forest è assolutamente immune dal sovrautilizzo finché i suoi deboli classificatori non si adattano ai dati.
  • A differenza di quanto menzionato nel commento di tdc, la maggior parte dei metodi di potenziamento sono altamente sensibili al rumore di etichettatura e possono facilmente sovrautilizzare in presenza di rumore di etichettatura.
  • Nei set di dati in cui i tassi di errore di Bayes sono lontani da 0 (ovvero, le funzionalità non sono abbastanza discriminatorie), anche i metodi di potenziamento possono facilmente sovrautilizzare. Perché cercano di ridurre l'errore di allenamento a zero mentre in realtà anche il classificatore ottimale, vale a dire, il classificatore Bayes può raggiungere un tasso di errore del 40%.
  • infine, e questo non è stato pubblicato dove (per quanto ne sappia) c'è una sorta di overfitting in cui l'errore di generalizzazione non aumenta all'aumentare dei round di potenziamento, ma non diminuisce neanche. Significa che l'algoritmo si è bloccato in un optima locale. In questa situazione, l'errore di allenamento diminuisce costantemente mentre l'errore di test rimane quasi costante. Finora, non abbiamo mai considerato questo fenomeno come un'indicazione di un eccesso, ma credo che sia un segno di un eccesso e, usando studenti deboli più complessi, (strano!) Possiamo in effetti andare contro di esso (Quest'ultimo punto dovrebbe essere considerato con cautela : D)

1
Vale la pena aggiungere a questa risposta che oggi avrei potuto sperimentare l'ultimo tipo di overfitting, sia con AdaBoost che con Random Forest. Nella convalida incrociata, l'errore out-of-fold converge in una costante con solo 20 stimatori di base, quindi rimbalza attorno a quella costante con una varianza elevata. Il mio sospetto era esattamente lo stesso: gli algoritmi golosi erano bloccati in una sorta di ottimo locale. Questa non è la conferma di quello che è successo, ma è bello sapere che qualcun altro ha avuto lo stesso pensiero.
Shadowtalker,

@ssdecontrol Puoi condividere quello che hai fatto? Voglio riprodurre i risultati per avere una migliore comprensione
saurabh agarwal

@saurabhagarwal Penso che stavo lavorando al progetto Kaggle Titanic
shadowtalker
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.