Evitare il sovradimensionamento nella regressione: alternative alla regolarizzazione


19

La regolarizzazione nella regressione (lineare, logistica ...) è il modo più popolare per ridurre l'eccessivo adattamento.

Quando l'obiettivo è l'accuratezza della previsione (non la spiegazione), ci sono buone alternative alla regolarizzazione, particolarmente adatte per grandi insiemi di dati (mi / miliardi di osservazioni e milioni di funzionalità)?


3
"Grandi set di dati" possono significare molte osservazioni, molte variabili o entrambe, e la risposta può dipendere dal numero di osservazioni e variabili.
Pere,

Perché non usare la regolarizzazione delle norme? Per le reti neurali, c'è dropout
seanv507

4
Il vantaggio della regolarizzazione è che è computazionalmente economico. Metodi di ensemble come insaccamento e boosting (ecc.) Combinati con metodi di validazione incrociata per la diagnostica dei modelli sono una buona alternativa, ma sarà una soluzione molto più costosa.
Digio

1
Questo potrebbe essere di interesse: stats.stackexchange.com/a/161592/40604
Dan

1
Per aggiungere al commento di Digio: la regolarizzazione è economica rispetto al bagging / boosting ma comunque costosa rispetto all'alternativa di "nessuna regolarizzazione" (vedi ad esempio questo post di Ben Recht su come la regolarizzazione rende difficile l'apprendimento profondo ). Se hai un numero enorme di campioni, nessuna regolarizzazione può funzionare bene per molto più economico. Il modello può comunque generalizzare così come @ hxd1001 sottolinea )
Berk U.

Risposte:


11

Due punti importanti che non sono direttamente correlati alla tua domanda:

  • In primo luogo, anche l'obiettivo è l'accuratezza anziché l'interpretazione, la regolarizzazione è ancora necessaria in molti casi, poiché garantirà la "elevata accuratezza" sul set di dati di test / produzione reali, non i dati utilizzati per la modellazione.

  • In secondo luogo, se ci sono miliardi di righe e milioni di colonne, è possibile che non sia necessaria alcuna regolarizzazione. Questo perché i dati sono enormi e molti modelli computazionali hanno un "potere limitato", cioè è quasi impossibile adattarsi troppo. Questo è il motivo per cui una rete neurale profonda ha miliardi di parametri.


Ora, riguardo alla tua domanda. Come menzionato da Ben e Andrey, ci sono alcune opzioni come alternative alla regolarizzazione. Vorrei aggiungere altri esempi.

  • Usa un modello più semplice (Ad esempio, riduci il numero di unità nascoste nella rete neurale. Usa il kernel polinomiale di ordine inferiore in SVM. Riduci il numero di gaussiani in miscela di gaussiana. Ecc.)

  • Fermati presto nell'ottimizzazione. (Ad esempio, ridurre l'epoca nella formazione della rete neurale, ridurre il numero di iterazioni nell'ottimizzazione (CG, BFGS, ecc.)

  • Media su molti modelli (ad esempio, foresta casuale ecc.)


Molte grazie. La seconda opzione (stop anticipato) è ciò che stiamo provando attualmente con SGD. Funziona piuttosto bene. Vogliamo confrontarlo presto con la regolarizzazione. Sei a conoscenza di qualche articolo che menziona questo metodo?
Benoit Sanchez,

1
C'è un accenno di una relazione geometrica tra l'arresto anticipato con discesa gradiente e la regolarizzazione. Ad esempio, la regressione della cresta nella sua forma primaria richiede i parametri che minimizzano la funzione di perdita che giacciono all'interno di un'ellisse solida centrata sull'origine, con la dimensione dell'ellisse in funzione della forza di regolarizzazione. I parametri della cresta si trovano sulla superficie dell'ellisse se sono diversi dalla soluzione non regolarizzata. Se corri una salita partendo dall'origine e poi ti fermi presto, sarai sul confine di una di queste ellissi ...
Matthew Drury,

Poiché hai seguito i gradienti, hai seguito il percorso fino al minimo reale, quindi finirai per circa la soluzione della cresta quasi sempre. Non sono sicuro di quanto sia rigoroso questo treno di pensieri, ma potrebbe esserci una relazione.
Matthew Drury,

@BenoitSanchez Questo documento potrebbe essere pertinente. Gli autori affrontano un problema diverso (overfitting nel calcolo degli autovettori), ma la strategia per gestire il overfitting è la stessa (ovvero la regolarizzazione implicita riducendo il calcolo). La strategia è quella di risolvere un problema più economico che produce una soluzione approssimativa (che - penso - equivale a fermarsi presto nell'ottimizzazione).
Berk U.

@BenoitSanchez Lo consiglio. Le lezioni di Lorenzo sono disponibili su YouTube, ma questa pagina contiene anche collegamenti ad alcuni articoli mit.edu/~9.520/fall17/Classes/early_stopping.html
David Kozak

14

Due alternative alla regolarizzazione:

  1. Abbia molte, molte osservazioni
  2. Usa un modello più semplice

Geoff Hinton (co-inventore della retrocessione) una volta raccontò una storia di ingegneri che gli raccontarono (parafrasando pesantemente): "Geoff, non abbiamo bisogno di abbandonare le nostre reti profonde perché abbiamo così tanti dati". E la sua risposta fu: "Bene, allora dovresti costruire reti ancora più profonde, fino a quando non ti stai adattando in modo adeguato, e quindi utilizzare il dropout". Un buon consiglio a parte, apparentemente puoi evitare la regolarizzazione anche con reti profonde, purché ci siano abbastanza dati.

Con un numero fisso di osservazioni, puoi anche optare per un modello più semplice. Probabilmente non è necessaria la regolarizzazione per stimare un'intercettazione, una pendenza e una varianza di errore in una semplice regressione lineare.


3

Alcune possibilità aggiuntive per evitare un eccesso di adattamento

  • Riduzione dimensionale

    ml<<m

  • Selezione delle funzioni (anche riduzione della dimensionalità)

    È possibile eseguire un giro di selezione delle funzioni (ad es. Utilizzando LASSO) per ottenere uno spazio delle caratteristiche di dimensione inferiore. Qualcosa come la selezione di funzionalità che utilizza LASSO può essere utile se alcuni sottogruppi di funzionalità di grandi dimensioni ma sconosciuti sono irrilevanti.

  • Usa algoritmi meno inclini a un overfitting come una foresta casuale. (A seconda delle impostazioni, del numero di funzioni ecc ..., queste possono essere più costose dal punto di vista computazionale rispetto ai minimi quadrati ordinari.)

    Alcune delle altre risposte hanno anche menzionato i vantaggi del potenziamento e dell'inserimento di tecniche / algoritmi.

  • Metodi bayesiani

    Aggiungendo un precedente sul vettore del coefficiente si riduce il sovradattamento. Ciò è concettualmente collegato alla regolarizzazione: ad es. la regressione della cresta è un caso speciale di massima stima a posteriori.


2

Se si utilizza un modello con un solutore, in cui è possibile definire il numero di iterazioni / epoche, è possibile tenere traccia dell'errore di convalida e applicare l'arresto anticipato: interrompere l'algoritmo, quando l'errore di convalida inizia ad aumentare.


1
Questa domanda pone chiaramente domande sui modelli di regressione (lineari, logistici).
Matthew Drury,

2
Tecnicamente parlando, la regressione lineare e logistica sono reti neurali molto semplici.
Andrey Lukyanenko,

2
Non penso che ciò cambi la mia convinzione che questo non risponda alla domanda come chiesto. Se lo rielaborassi per dire "se si adatta la regressione con una qualche forma di discesa gradiente e si applica l'arresto anticipato" sarebbe meglio.
Matthew Drury,

Anche sklearn ha un numero di modelli che supportano il numero limite di iterazioni che limita i parametri. Potrebbe essere usato per tracciare la precisione. Ma suppongo che tu abbia ragione nel dire che la formulazione non è esattamente corretta.
Andrey Lukyanenko,

1

Due pensieri:

  1. Secondo, la strategia "usa un modello più semplice" proposta da Ben Ogorek .

    Lavoro su modelli di classificazione lineare molto sparsi con piccoli coefficienti interi (ad es. Max 5 variabili con coefficienti interi compresi tra -5 e 5). I modelli si generalizzano bene in termini di accuratezza e metriche delle prestazioni più difficili (ad es. Calibrazione).

    Questo metodo in questo documento verrà ridimensionato su campioni di grandi dimensioni per la regressione logistica e può essere esteso per adattarsi ad altri classificatori lineari con funzioni di perdita convessa. Non gestirà i casi con molte funzionalità (a meno chen/d è abbastanza grande, nel qual caso i dati sono separabili e il problema di classificazione diventa facile).

  2. Se è possibile specificare ulteriori vincoli per il proprio modello (ad es. Vincoli di monotonicità, informazioni collaterali), ciò può anche aiutare con la generalizzazione riducendo lo spazio delle ipotesi (vedere ad esempio questo documento ).

    Questo deve essere fatto con cura (ad esempio, probabilmente si desidera confrontare il proprio modello con una linea di base senza vincoli e progettare il proprio processo di formazione in modo da assicurarsi che non si siano vincoli alla raccolta delle ciliegie).

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.