Aumento gradiente per la regressione lineare: perché non funziona?


35

Durante l'apprendimento del Gradient Boosting, non ho sentito parlare di vincoli riguardanti le proprietà di un "classificatore debole" che il metodo utilizza per costruire e creare un modello. Tuttavia, non potevo immaginare un'applicazione di un GB che utilizza la regressione lineare, e infatti quando ho eseguito alcuni test, non funziona. Stavo testando l'approccio più standard con un gradiente di somma di residui quadrati e sommando i modelli successivi.

Il problema evidente è che i residui del primo modello sono popolati in modo tale che non esiste più alcuna linea di regressione per adattarsi. Un'altra mia osservazione è che una somma dei successivi modelli di regressione lineare può essere rappresentata anche come un singolo modello di regressione (aggiungendo tutte le intercettazioni e i coefficienti corrispondenti), quindi non riesco a immaginare come ciò possa mai migliorare il modello. L'ultima osservazione è che una regressione lineare (l'approccio più tipico) sta usando la somma dei residui quadrati come funzione di perdita, la stessa utilizzata da GB.

Ho anche pensato di abbassare il tasso di apprendimento o di utilizzare solo un sottoinsieme di predittori per ogni iterazione, ma alla fine questo potrebbe essere comunque riassunto in una rappresentazione di un singolo modello, quindi immagino che non porterebbe alcun miglioramento.

Cosa mi sto perdendo qui? La regressione lineare è in qualche modo inappropriata da usare con Gradient Boosting? È perché la regressione lineare utilizza la somma dei residui quadrati come funzione di perdita? Ci sono particolari vincoli sui predittori deboli in modo che possano essere applicati al Gradient Boosting?


Intuitivamente tendo a pensare che non dovresti usare classificatori poiché la loro somma è lo stesso tipo di classificatore. ad es. la somma delle funzioni lineari è una funzione lineare.
user18764

So che questo è vecchio, ma la mia comprensione è che il passo di potenziamento minimizza la funzione di perdita tra i residui attuali e lo studente di base (che nel tuo caso è un regresso lineare) moltiplicato per il tasso di apprendimento. Quindi, mentre lo studente di base minimizza mse, la funzione di perdita utilizzata dal booster potrebbe essere la stessa MAPE?
David Waterworth,

Risposte:


35

Cosa mi sto perdendo qui?

Non penso che ti manchi davvero nulla!

Un'altra osservazione è che una somma dei successivi modelli di regressione lineare può essere rappresentata anche come un singolo modello di regressione (aggiungendo tutte le intercettazioni e i coefficienti corrispondenti), quindi non riesco a immaginare come ciò possa mai migliorare il modello. L'ultima osservazione è che una regressione lineare (l'approccio più tipico) sta usando la somma dei residui quadrati come funzione di perdita, la stessa utilizzata da GB.

Mi sembra che tu l'abbia inchiodato proprio lì, e hai dato un breve schizzo di una prova che la regressione lineare batte solo aumentando le regressioni lineari in questa impostazione.

Per essere pedanti, entrambi i metodi stanno tentando di risolvere il seguente problema di ottimizzazione

β^=argminβ(yXβ)t(yXβ)

La regressione lineare osserva semplicemente che puoi risolverlo direttamente, trovando la soluzione all'equazione lineare

XtXβ=Xty

Questo ti dà automaticamente il miglior valore possibile di tra tutte le possibilità.β

β1,β2,

Xβ1+Xβ2++Xβn=X(β1+β2++βn)

Ognuno di questi passaggi è scelto per ridurre ulteriormente la somma degli errori al quadrato. Ma avremmo potuto trovare la somma minima possibile di errori quadrati all'interno di questa forma funzionale semplicemente eseguendo una regressione lineare completa per cominciare.

Una possibile difesa del potenziamento in questa situazione potrebbe essere la regolarizzazione implicita che fornisce. Forse (non ho giocato con questo) potresti usare la funzione di arresto anticipato di un booster di gradiente, insieme a una validazione incrociata, per fermare la regressione lineare completa. Ciò fornirebbe una regolarizzazione alla tua regressione e potrebbe aiutare con un eccesso di adattamento. Questo non è particolarmente pratico, in quanto si hanno opzioni molto efficienti e ben comprese come la regressione della cresta e la rete elastica in questa impostazione.

Aumentare brilla quando non vi è alcuna forma funzionale concisa intorno. L'aumento degli alberi delle decisioni consente alla forma funzionale del regressore / classificatore di evolversi lentamente per adattarsi ai dati, dando spesso origine a forme complesse che non si sarebbero potute immaginare a mano e ad occhio. Quando si desidera una semplice forma funzionale , il potenziamento non ti aiuterà a trovarla (o almeno è probabilmente un modo piuttosto inefficiente per trovarla).


2
β

Questa è una risposta molto buona e chiara. Grazie per la conferma / spiegazione Matteo!
Matek,

"Boosting shines when there is no terse functional form around. " this is the answer I am looking for. So, just want to confirm, do you mean my question's answer is yes, but no one use linear model as base learner?, stats.stackexchange.com/questions/231286/…
Haitao Du

5

The least squares projection matrix is given by

X(XTX)1XT

We can use this to directly obtain our predicted values y^, e.g.

y^=X(XTX)1XTy

Let's say you fit a regression and subsequently you calculate your residuals

e=yy^=yX(XTX)1XTy

And then you use this residual vector e as your new dependent variable in the next regression. Use the projection matrix again to directly calculate the predictions of this second regression and call these new predictions y^2 :

y^2=X(XTX)1XTe=X(XTX)1XT(yX(XTX)1XTy)=X(XTX)1XTyX(XTX)1XTX(XTX)1XTy=X(XTX)1XTyX(XTX)1XTy=0

A reason for this is that by construction the residual vector e from the initial regression is orthogonal to the X Space i. e. y^ is a orthogonal projection from y onto the X space (you'll find nice pictures visualizing this in the literature).

This means the simple approach of fitting a regression and then fitting a new regression on the residuals from the first regression will not result in anything senseful because X is entirely uncorrelated with e.

I write this because you said there is not really a new line to fit which corresponds to the derivations above.

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.