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{ xio, yio}Xioff( xio) ≈ yio
12Σio( yio- f( xio) )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( xio) = yy ff
L ( f; y) = 12( y- f)2
e quindi prendere il gradiente rispetto alla previsione
∇fL ( f; y) = f- y
Quindi l'aggiornamento del gradiente, a partire da un valore iniziale di èy0
y1= y0- ∇f( y0, y) = y0- ( y0- y) = 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
Start
con 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= { xio, f0- y}
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.WF≈ ∇ LWF( X)
Finally
, usa al posto di nell'aggiornamento del gradiente di sull'intero dominio:F∇ Lf0
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.