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 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... 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..
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 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.... 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:
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.
El descenso de gradiente es un algoritmo de optimizaciónUn algoritmo de optimización es un conjunto de reglas y procedimientos diseñados para encontrar la mejor solución a un problema específico, maximizando o minimizando una función objetivo. Estos algoritmos son fundamentales en diversas áreas, como la ingeniería, la economía y la inteligencia artificial, donde se busca mejorar la eficiencia y reducir costos. Existen múltiples enfoques, incluyendo algoritmos genéticos, programación lineal y métodos de optimización combinatoria.... 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..
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), podemos graficar el costo de la 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.... 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.
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.... 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.
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