In che modo l'aumento del gradiente è come la discesa del gradiente?


9

Sto leggendo l'utile voce di Wikipedia sull'aumento del gradiente ( https://en.wikipedia.org/wiki/Gradient_boosting ), e cerco di capire come / perché possiamo approssimare i residui con la fase di discesa più ripida (chiamata anche pseudo-gradiente ). Qualcuno può darmi l'intuizione su come la discesa più ripida è collegata / simile ai residui? Aiuto molto apprezzato!

inserisci qui la descrizione dell'immagine

Risposte:


11

Supponiamo di essere nella seguente situazione. Abbiamo alcuni dati , in cui ogni può essere un numero o un vettore e vorremmo determinare una funzione che approssima la relazione , nel senso che i minimi quadrati errore:x i f f ( x i ) y i{xi,yi}xiff(xi)yi

12i(yif(xi))2

è piccolo.

Ora, si pone la questione di cosa vorremmo che fosse il dominio di . Una scelta degenerata per il dominio sono solo i punti nei nostri dati di formazione. In questo caso, potremmo semplicemente definire , coprendo l'intero dominio desiderato, ed essere fatto con esso. Un modo per arrivare a questa risposta è fare una discesa gradiente con questo spazio discreto come dominio. Questo richiede un po 'di cambiamento dal punto di vista. Vediamo la perdita in funzione del punto vero e della previsione (per il momento, non è una funzione, ma solo il valore della previsione)f ( x i ) = y y f fff(xi)=yy ff

L(f;y)=12(yf)2

e quindi prendere il gradiente rispetto alla previsione

fL(f;y)=fy

Quindi l'aggiornamento del gradiente, a partire da un valore iniziale di èy0

y1=y0f(y0,y)=y0(y0y)=y

Quindi recuperiamo la nostra previsione perfetta in un gradiente con questa configurazione, il che è bello!

Il difetto qui è, ovviamente, che vogliamo che sia definito in molto più dei semplici punti di dati di allenamento. Per fare questo, dobbiamo fare alcune concessioni, poiché non siamo in grado di valutare la funzione di perdita, o il suo gradiente, in punti diversi dal nostro set di dati di allenamento. f

La grande idea è quella di debolmente approssimativa . L

Startcon un'ipotesi iniziale , quasi sempre una semplice funzione costante , questa è definita ovunque. Ora genera un nuovo set di dati di lavoro valutando il gradiente della funzione di perdita in corrispondenza dei dati di allenamento, usando l'ipotesi iniziale per :ff(x)=f0f

W={xi,f0y}

Now approximate L inserendo studente debole . Diciamo che otteniamo il ravvicinamento . Abbiamo acquisito un'estensione dei dati nell'intero dominio sotto forma di , anche se abbiamo perso la precisione nei punti di addestramento, dal momento che ci adattiamo a un piccolo studente.WFLWF(X)

Finally, usa al posto di nell'aggiornamento del gradiente di sull'intero dominio:FLf0

f1(x)=f0(x)F(x)

Usciamo da , una nuova approssimazione di , un po 'meglio di . Ricominciare con e iterare fino a quando non è soddisfatto.f1ff0f1

Spero che tu veda che ciò che è veramente importante è approssimare il gradiente della perdita. Nel caso della minimizzazione dei minimi quadrati, ciò assume la forma di residui grezzi, ma in casi più sofisticati no. Il macchinario si applica comunque comunque. Finché si può costruire un algoritmo per calcolare la perdita e il gradiente di perdita sui dati di addestramento, possiamo usare questo algoritmo per approssimare una funzione che minimizza quella perdita.


Yah, penso che sia buono. L'unica cosa da notare è che se, ad esempio, vuoi aumentare per ridurre al minimo la perdita binomiale il gradiente che espandiamo non è più legati ai residui in modo naturale.
iyilog(pi)+(1yi)log(1pi)
Matthew Drury,

Grazie Matteo. Una cosa che sto cercando di farmi girare la testa. In letteratura si afferma spesso che l'aggiornamento del modello è F (m + 1) = F (m) + , dove h (m) è lo studente debole. Se sto pensando a un modello basato sull'albero, significa che sia per la regressione che per la classificazione aggiorniamo praticamente la nostra previsione per un dato punto dati con la semplice aggiunta dei risultati dei due modelli? funziona anche se stiamo cercando di classificare questo binario? o il segno + non dovrebbe essere interpretato in modo così letterale? αmh(m)
Wouter,

Il segno più è piuttosto letterale. Ma per gli studenti deboli basati su alberi, le previsioni del modello dovrebbero essere interpretate come la media ponderata nella foglia, anche nel caso in cui l'albero sia adatto ai dati binomiali. Si noti, tuttavia, che nel potenziamento, di solito non ci stiamo adattando ai dati binomiali, ci stiamo adattando al gradiente della probabilità valutata nelle previsioni della fase precedente, che non sarà valutato . 0,1
Matthew Drury,

1
@MatthewDrury Penso che in molte pubblicazioni non siamo aggiornamento diretto con , ma con , dove da 0 a 1 è un tasso di apprendimento. f 0 - F ( x ) f 0 - α F ( x ) αf1f0F(x)f0αF(x)α
Haitao Du,

@ hxd1011 Sì, è assolutamente corretto e cruciale per utilizzare correttamente l'incremento gradiente.
Matthew Drury,
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.