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 matematica dietro l'ascesa di gradienteGradiente è un termine usato in vari campi, come la matematica e l'informatica, per descrivere una variazione continua di valori. In matematica, si riferisce al tasso di variazione di una funzione, mentre in progettazione grafica, Si applica alla transizione del colore. Questo concetto è essenziale per comprendere fenomeni come l'ottimizzazione negli algoritmi e la rappresentazione visiva dei dati, consentendo una migliore interpretazione e analisi in... Non è facile se sei appena agli inizi. Il mio obiettivo è quello di aiutarti a ottenere un'intuizione dietro la discesa del gradiente in questo articolo..
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.
Dopo aver formulato un'ipotesi con parametriIl "parametri" sono variabili o criteri che vengono utilizzati per definire, misurare o valutare un fenomeno o un sistema. In vari campi come la statistica, Informatica e Ricerca Scientifica, I parametri sono fondamentali per stabilire norme e standard che guidano l'analisi e l'interpretazione dei dati. La loro corretta selezione e gestione sono fondamentali per ottenere risultati accurati e pertinenti in qualsiasi studio o progetto.... iniziale, 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:
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.
La discesa del gradiente è un Algoritmo di ottimizzazioneUn algoritmo di ottimizzazione è un insieme di regole e procedure progettate per trovare la migliore soluzione a un problema specifico, Massimizzazione o minimizzazione di una funzione di destinazione. Questi algoritmi sono fondamentali in vari ambiti, come l'ingegneria, L'economia e l'intelligenza artificiale, in cui cerca di migliorare l'efficienza e ridurre i costi. Esistono diversi approcci, compresi gli algoritmi genetici, Programmazione lineare e metodi di ottimizzazione combinatoria.... iterativo per trovare il minimo locale di una funzione.
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..
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:
- Calcola il gradiente (in sospeso), la derivata del primo ordine della funzione in quel punto
- 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
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), Possiamo rappresentare graficamente il costo di variabileIn statistica e matematica, un "variabile" è un simbolo che rappresenta un valore che può cambiare o variare. Esistono diversi tipi di variabili, e qualitativo, che descrivono caratteristiche non numeriche, e quantitativo, che rappresentano quantità numeriche. Le variabili sono fondamentali negli esperimenti e negli studi, poiché consentono l'analisi delle relazioni e dei modelli tra elementi diversi, facilitare la comprensione di fenomeni complessi.... Asse Y Theta dipendente dall'asse Y sull'asse 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.
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).
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.
- un) Il tasso di apprendimento è ottimale, Il modello converge al minimo
- B) Il tasso di apprendimento è troppo piccolo, richiede più tempo ma converge al minimo
- C) Il tasso di apprendimento è maggiore del valore ottimale, supera ma converge (1 / C <η <2 / C)
- D) Il tasso di apprendimento è molto grande, eccedenze e divergenze, si allontana dai minimi, riduzione delle prestazioni nell'apprendimento
Nota: UN misuraIl "misura" È un concetto fondamentale in diverse discipline, che si riferisce al processo di quantificazione delle caratteristiche o delle grandezze degli oggetti, fenomeni o situazioni. In matematica, Utilizzato per determinare le lunghezze, Aree e volumi, mentre nelle scienze sociali può riferirsi alla valutazione di variabili qualitative e quantitative. L'accuratezza della misurazione è fondamentale per ottenere risultati affidabili e validi in qualsiasi ricerca o applicazione pratica.... che il gradiente diminuisce man mano che si sposta verso i minimi locali, 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.
Implementazione del codice di discesa gradiente in Python
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.
Imparentato
Articoli correlati:
- Algoritmo di apprendimento automatico online | Apprendimento online vs apprendimento in batch
- Algoritmo ANN | Come funziona la rete neurale artificiale
- Comprendere l'apprendimento automatico | Cos'è l'apprendimento automatico??
- Algoritmi di apprendimento automatico | Introduzione all'apprendimento automatico