Regressione lineare: discesa del gradiente

La discesa del gradiente è una tecnica matematica che trova iterativamente le ponderazioni e i bias che producono il modello con la perdita più bassa. La discesa del gradiente trova la ponderazione e il bias migliori ripetendo il seguente processo per una serie di iterazioni definite dall'utente.

Il modello inizia l'addestramento con ponderazioni e bias randomizzati vicini allo zero, e ripete i seguenti passaggi:

  1. Calcola la perdita con la ponderazione e il bias attuali.

  2. Determinare la direzione in cui spostare le ponderazioni e i bias che riducono la perdita.

  3. Sposta leggermente i valori di ponderazione e bias nella direzione che si riduce o una perdita di dati.

  4. Torna al passaggio uno e ripeti il processo finché il modello non riesce a ridurre la perdita ulteriormente.

Il diagramma seguente illustra i passaggi iterativi della discesa del gradiente per trovare le ponderazioni e i bias che producono il modello con la perdita più bassa.

Figura 12. Illustrazione del processo di discesa del gradiente.

Figura 12. La discesa del gradiente è un processo iterativo che trova i pesi e i bias che producono il modello con la perdita più bassa.

Fai clic sull'icona Più per ulteriori informazioni sui calcoli alla base della discesa del gradiente.

A livello concreto, possiamo seguire i passaggi della discesa del gradiente usando un piccolo set di dati con sette esempi per il peso di un'auto in libbre e le relative miglia per gallone:

Libbre in migliaia (caratteristica) Miglia per gallone (etichetta)
3,5 18
3,69 15
3,44 18
3,43 16
4,34 15
4,42 14
2,37 24
  1. Il modello inizia l'addestramento impostando ponderazione e bias su zero:
  2. $$ \small{Weight:\ 0} $$ $$ \small{Bias:\ 0} $$ $$ \small{y = 0 + 0(x_1)} $$
  3. Calcola la perdita MSE con i parametri del modello attuale:
  4. $$ \small{Loss = \frac{(18-0)^2 + (15-0)^2 + (18-0)^2 + (16-0)^2 + (15-0)^2 + (14-0)^2 + (24-0)^2}{7}} $$ $$ \small{Loss= 303.71} $$
  5. Calcolare la pendenza della tangente alla funzione di perdita per ogni peso e i pregiudizi:
  6. $$ \small{Weight\ slope: -119.7} $$ $$ \small{Bias\ slope: -34.3} $$

    Fai clic sull'icona Più per ulteriori informazioni sul calcolo della pendenza.

    Per ottenere la pendenza delle linee tangenti alla ponderazione pregiudizi, prendiamo la derivata della funzione di perdita con rispetto alla ponderazione e al bias, quindi risolve equazioni.

    Scriveremo l'equazione per fare una previsione come:
    $ f_{w,b}(x) = (w*x)+b $.

    Scriviamo il valore effettivo come: $ y $.

    Calcoleremo l'MSE utilizzando:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
    dove $i$ rappresenta l'esempio di addestramento $ith$ e $M$ rappresenta il numero di esempi.

    Derivata di peso

    La derivata della funzione di perdita rispetto al peso è scritta come:
    $ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    e restituisce:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $

    Per prima cosa, sommamo ogni valore previsto meno il valore effettivo e poi moltiplicarlo per il doppio del valore della caratteristica. Quindi dividiamo la somma per il numero di esempi. Il risultato è la pendenza della retta tangente al valore del peso.

    Se risolviamo questa equazione con ponderazione e bias uguali a zero, otteniamo -119,7 per la pendenza della linea.

    Derivata del bias

    La derivata della funzione di perdita rispetto alla bias è scritto come:
    $ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    e restituisce:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $

    Per prima cosa, sommamo ogni valore previsto meno il valore effettivo e poi moltiplicarlo per due. Quindi dividiamo la somma per di esempi. Il risultato è la pendenza della linea tangente al valore della parzialità.

    Se risolviamo questa equazione con ponderazione e bias uguali a zero, otteniamo -34,3 per la pendenza della linea.

  7. Sposta una piccola parte nella direzione della pendenza negativa per ottenere la ponderazione e i bias successivi. Per ora, definiremo arbitrariamente "piccolo importo" come 0,01:
  8. $$ \small{New\ weight = old\ weight - (small\ amount * weight\ slope)} $$ $$ \small{New\ bias = old\ bias - (small\ amount * bias\ slope)} $$ $$ \small{New\ weight = 0 - (0.01)*(-119.7)} $$ $$ \small{New\ bias = 0 - (0.01)*(-34.3)} $$ $$ \small{New\ weight = 1.2} $$ $$ \small{New\ bias = 0.34} $$

Usa la nuova ponderazione e il nuovo bias per calcolare la perdita e ripeterla. In fase di completamento per sei iterazioni, otterremmo ponderazioni, bias, e perdite:

Iterazione Peso Pregiudizi Perdita (MSE)
1 0 0 303,71
2 1,2 0,34 170,67
3 2,75 0,59 67,3
4 3,17 0,72 50,63
5 3,47 0,82 42,1
6 3,68 0,9 37,74

Puoi vedere che la perdita diminuisce con ogni peso e bias aggiornati. In questo esempio, ci siamo fermati dopo sei iterazioni. In pratica, un modello addestra fino a quando converge. Quando un modello converge, ulteriori iterazioni non riducono ulteriormente la perdita poiché la discesa del gradiente ha trovato le ponderazioni e i bias che per ridurre al minimo la perdita.

Se il modello continua ad addestrarsi oltre la convergenza, la perdita inizia fluttuare in piccole quantità poiché il modello aggiorna continuamente intorno ai loro valori più bassi. Questo può rendere difficile verificare che il modello sia effettivamente convergente. Per confermare il modello: è convergente, dovrai continuare l'addestramento finché la perdita stabilizzato.

Curve di convergenza e perdita del modello

Durante l'addestramento di un modello, spesso si osserva una perdita per determinare se il modello ha convergente. La curva di perdita mostra come cambia la perdita durante l'addestramento del modello. Di seguito è riportata una tipica perdita della curva. La perdita è sull'asse y e le iterazioni sono sull'asse x:

Figura 13. Grafico della curva di perdita che mostra un declino improvviso e seguito da un lieve calo.

Figura 13. Curva di perdita che mostra la convergenza del modello intorno 1000° segno di iterazione.

Puoi vedere che la perdita diminuisce drasticamente durante le prime iterazioni, diminuisce gradualmente prima di appiattire intorno alla millesima iterazione . Dopo 1000 iterazioni, possiamo essere per lo più certi che il modello abbia convergono.

Nelle figure che seguono, disegna il modello in tre punti durante l'addestramento. processo: l'inizio, la parte centrale e la fine. Visualizzazione dello stato del modello gli snapshot durante il processo di addestramento consolidano il collegamento tra l'aggiornamento le ponderazioni e i bias, la riduzione della perdita e la convergenza del modello.

Nelle figure, utilizziamo le ponderazioni e i bias derivati in una particolare iterazione per rappresentano il modello. Nel grafico con i punti dati e l'istantanea del modello, le linee blu di perdita dal modello ai punti dati mostrano la quantità della perdita. La più lunghe sono le linee, maggiore è la perdita.

Nella figura seguente, possiamo vedere che intorno alla seconda iterazione il modello non sarebbe bravo a fare previsioni a causa dell'elevata quantità di perdite.

Figura 14. Curva di perdita e grafico corrispondente del modello, inclinato in allontanamento dai punti dati.

Figura 14. Curva di perdita e snapshot del modello all'inizio durante il processo di addestramento.

Intorno alla 400a iterazione, possiamo vedere che la discesa del gradiente ha trovato ponderazione e bias che producono un modello migliore.

Figura 15. Curva di perdita e grafico corrispondente del modello, che attraversa i punti dati ma non raggiunge l'angolo ottimale.

Figura 15. Curva di perdita e snapshot del modello a metà dell'addestramento.

E intorno alla millesima iterazione, possiamo vedere che il modello è convergente, producendo un modello con la perdita più bassa possibile.

Figura 16. Curva di perdita e grafico corrispondente del modello, che si adatta bene ai dati.

Figura 16. Curva di perdita e snapshot del modello verso la fine dell'addestramento e il processo di sviluppo.

Allenamento: verifica le tue conoscenze

Qual è il ruolo della discesa del gradiente nella regressione lineare?
La discesa del gradiente è un processo iterativo che trova ponderazioni e bias che minimizzano la perdita.
La discesa del gradiente aiuta a determinare quale tipo di perdita utilizzare quando addestrare un modello, ad esempio L1 o L2.
La discesa del gradiente non è coinvolta nella selezione di una perdita per l'addestramento del modello.
La discesa del gradiente rimuove i valori anomali dal set di dati per aiutare il modello per fare previsioni migliori.
La discesa del gradiente non modifica il set di dati.

Funzioni di convergenza e convessi

Le funzioni di perdita per i modelli lineari producono sempre Superficie convessi. In seguito a questa proprietà, quando un modello di regressione lineare converge, sappiamo che il modello ha abbiamo trovato le ponderazioni e i bias che producono la perdita più bassa.

Se tracciamo il grafico della superficie di perdita di un modello con una caratteristica, possiamo vederne forma convessa. Di seguito è riportata la superficie di perdita del set di dati "miglia per gallone" utilizzati negli esempi precedenti. La ponderazione è sull'asse x, il bias sull'asse y e la perdita è sull'asse z:

Figura 17. Grafico 3D della superficie di perdita.

Figura 17. Superficie di perdita che mostra la sua forma convessa.

In questo esempio, un peso di -5,44 e un bias di 35,94 producono la perdita più bassa. a 5:54:

Figura 18. Grafico 3D della superficie di perdita, con (-5,44, 35,94, 5,54) in basso.

Figura 18. Superficie di perdita che mostra i valori di ponderazione e bias che producono la perdita più bassa.

Un modello lineare converge quando trova la perdita minima. Pertanto, ulteriori causano solo lo spostamento dei valori di ponderazione e bias nella discesa del gradiente molto piccole intorno al minimo. Se abbiamo rappresentato graficamente le ponderazioni e i bias durante la discesa del gradiente, i punti sarebbero come una palla che rotola giù da una collina, fermarsi finalmente in un punto in cui non c'è più una pendenza in discesa.

Figura 19. Superficie di perdita convessa 3D con punti di discesa del gradiente che si spostano verso il punto più basso.

Figura 19. Grafico di perdita che mostra i punti di discesa del gradiente che si fermano più in basso punto sul grafico.

Nota che i punti di perdita neri creano la forma esatta della curva di perdita: ripida discesa prima di una pendenza graduale fino a raggiungere il valore più basso punto sulla superficie di perdita.

È importante notare che il modello non trova quasi mai minimo per ogni ponderazione e bias, ma trova un valore molto simile. È importante notare che il minimo per ponderazioni e bias non corrispondono a una perdita pari a zero, solo un valore che produce la perdita più bassa .

Usare i valori di ponderazione e bias che producono la perdita più bassa, in questo caso. peso -5,44 e bias di 35,94: è possibile rappresentare graficamente il modello adatta i dati:

Figura 20. Grafico delle libbre in migliaia e delle miglia per gallone, con il modello adatto ai dati.

Figura 20. Modello rappresentato in un grafico utilizzando i valori di ponderazione e bias che producono la perdita più bassa.

Questo sarebbe il modello migliore per questo set di dati perché non ci sono altre ponderazioni o bias per produrre un modello con perdita più bassa.