Come funziona l'algoritmo di discesa del gradiente nell'apprendimento automatico??

Contenuti

Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati.

introduzione

Gradient Descent è uno degli algoritmi di machine learning più utilizzati nel settore. E, tuttavia, confonde molti nuovi arrivati.

Ho capito! La matemática detrás del aumento de gradiente no es fácil si recién está comenzando. Il mio obiettivo è quello di aiutarti a ottenere un'intuizione dietro la discesa del gradiente in questo articolo..

librerie di apprendimento automatico-c-3488948

Capiremo rapidamente il ruolo di una funzione di costo, la spiegazione della discesa del gradiente, come scegliere il parametro learning e l'effetto del sorpasso sulla discesa in pendenza. Iniziamo!

Cos'è una funzione di costo?

È un funzione che misura le prestazioni di un modello per un dato dato. Funzione di costo quantifica l'errore tra i valori previsti e i valori attesi e lo presenta sotto forma di un unico numero reale.

Luego de realizar una hipótesis con parametri iniciales, calcoliamo la funzione Cost. E con l'obiettivo di ridurre la funzione di costo, modifichiamo i parametri utilizzando l'algoritmo di discesa del gradiente sui dati dati. Ecco la rappresentazione matematica per esso:

90857screenshot2041_li-6709060
Fonte: Coursera

Cos'è gradiente descent?

La domanda da un milione di dollari!

Supponiamo che tu stia giocando a un gioco in cui i giocatori sono in cima a una montagna e ti viene chiesto di raggiungere il punto più basso della montagna.. Cosa c'è di più, sono bendati. Quindi, Quale approccio pensi che ti farebbe arrivare al lago??

Prenditi un momento per pensarci prima di continuare a leggere..

Il modo migliore è osservare il suolo e trovare dove scende la terra. Da quella posizione, Fare un passo in una direzione verso il basso e iterare questo processo fino a raggiungere il punto più basso.

70205gd20mountain-9757155Trovare il punto più basso in un paesaggio montuoso. (Fonte: Fisseha Berhane)

El descenso de gradiente es un algoritmo de optimización iterativo para encontrar el mínimo local de una función.

Per trovare il minimo locale di una funzione utilizzando la discesa sfumata, dobbiamo fare passi proporzionali al negativo del gradiente (allontanarsi dalla sfumatura) della funzione nel punto corrente. Se prendiamo misure proporzionali al gradiente positivo (spostamento verso il gradiente), ci avvicineremo a un massimo locale della funzione, e la procedura è chiamata Salita in pendenza.

La discesa in pendenza è stata originariamente proposta da CAUCHY Su 1847. È anche conosciuta come la discesa più ripida..

631731_p7z2bkhd0r-9uyn9thdasa-1647200
Fonte: Chiaroveggente

L'obiettivo dell'algoritmo di discesa del gradiente è quello di ridurre al minimo la funzione data (ad esempio, funzione di costo). Per raggiungere questo obiettivo, Esegue due passaggi in modo iterativo:

  1. Calcola il gradiente (in sospeso), la derivata del primo ordine della funzione in quel punto
  2. Fai un passo (Sposta) nella direzione opposta alla sfumatura, la direzione opposta della pendenza aumenta dal punto corrente in alfa volte il gradiente in quel punto
36152Screenshot2043-5793508
Fonte: Coursera

Alpha si chiama Tasso di apprendimento – un parametro di regolazione nel processo di ottimizzazione. Decidi la lunghezza dei passaggi.

Tracciato dell'algoritmo di discesa del gradiente

Quando abbiamo un singolo parametro (theta), podemos graficar el costo de la variabile dependiente en el eje y y theta en el eje x. Se ci sono due parametri, possiamo optare per un grafico 3D, con costo su un asse ed entrambi i parametri (Thetas ·) lungo gli altri due assi.

42181trama-3d-parabola-5821863
costo lungo l'asse z e i parametri (Thetas ·) lungo l'asse x e l'asse y (fonte: porta di ricerca)

Può anche essere visualizzato utilizzando contorni. Questo mostra un grafico 3D bidimensionale con parametri lungo entrambi gli assi e la risposta come contorno.. Il valore di risposta aumenta lontano dal centro e ha lo stesso valore insieme agli anelli. La risposta è direttamente proporzionale alla distanza da un punto al centro (lungo una direzione).

56656Contorno-9605028
Discesa sfumata utilizzando con Il plottaggio contorno. (fonte: Coursera)

Alfa – Il tasso di apprendimento

Abbiamo la direzione in cui vogliamo muoverci, ora dobbiamo decidere la dimensione del passo che dovremmo fare.

* Deve essere scelto con cura per finire con i minimi locali.

  • Se il tasso di apprendimento è troppo alto, Potrebbe ESAGERARE i minimi e continua a rimbalzare, senza raggiungere i minimi
  • Se il tasso di apprendimento è troppo piccolo, l'allenamento potrebbe essere troppo lungo.
43266immagini-2817704
Fonte: Coursera
  1. un) Il tasso di apprendimento è ottimale, Il modello converge al minimo
  2. B) Il tasso di apprendimento è troppo piccolo, richiede più tempo ma converge al minimo
  3. C) Il tasso di apprendimento è maggiore del valore ottimale, supera ma converge (1 / C <η <2 / C)
  4. D) Il tasso di apprendimento è molto grande, eccedenze e divergenze, si allontana dai minimi, riduzione delle prestazioni nell'apprendimento
40982epoche-1425409
Fonte: researchgate

Nota: UN misura que el gradiente disminuye mientras se mueve hacia los mínimos locales, la dimensione del passo diminuisce. Perciò, il tasso di apprendimento (alfa) può essere costante durante l'ottimizzazione e non ha bisogno di variare iterativamente.

Minimi locali

La funzione di costo può consistere in molti punti minimi. Il gradiente può stabilizzarsi in uno qualsiasi dei minimi, dipende dal punto di partenza (vale a dire, i parametri iniziali (theta)) e il tasso di apprendimento. Perciò, l'ottimizzazione può convergere in punti diversi con diversi punti di partenza e velocità di apprendimento.

90062gdopt-3765531
Funzione di convergenza dei costi con diversi punti di partenza (Fonte: Gfycat ·)

Implementazione del codice di discesa gradiente in Python

23757gdalgo-8810942
Algoritmo di discesa del gradiente

Note finali

Una volta sintonizzati sul parametro di apprendimento (alfa) e otteniamo il tasso di apprendimento ottimale, iniziamo a iterare fino a convergere verso minimi locali.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.