Discesa del Gradiente
Discesa del gradiente è un algoritmo di ottimizzazione che minimizza una funzione regolando iterativamente i suoi parametri nella direzione della massima diminuzione. È fondamentale nell'apprendimento automatico per consentire ai modelli di apprendere in modo efficiente dai dati.
Comprensione dei gradienti
Il gradiente di una funzione rappresenta la direzione e la pendenza della funzione in un dato punto. Indica in quale direzione muoversi per minimizzare la funzione.
Per una funzione semplice:
J(θ)=θ2La derivata (gradiente) è:
∇J(θ)=dθd(θ2)=2θQuesto significa che, per qualsiasi valore di θ, il gradiente indica come regolare θ per scendere verso il minimo.
Formula della discesa del gradiente
La regola di aggiornamento dei pesi è:
θ←θ−α∇J(θ)Dove:
- θ - parametro del modello;
- α - tasso di apprendimento (ampiezza del passo);
- ∇J(θ) - gradiente della funzione che si vuole minimizzare.
Per la nostra funzione:
θnew=θold−α(2θold)Questo significa che aggiorniamo θ iterativamente sottraendo il gradiente scalato.
Movimento a Passi – Un Esempio Visivo
Esempio con valori iniziali: θ=3, α=0.3
- θ1=3−0.3(2×3)=3−1.8=1.2;
- θ2=1.2−0.3(2×1.2)=1.2−0.72=0.48;
- θ3=0.48−0.3(2×0.48)=0.48−0.288=0.192;
- θ4=0.192−0.3(2×0.192)=0.192−0.115=0.077.
Dopo alcune iterazioni, ci avviciniamo a θ=0, il minimo.
Tasso di Apprendimento – Scelta Accurata di α
- Troppo grande α - supera il minimo, non converge mai;
- Troppo piccolo α - converge troppo lentamente;
- Ottimale α - bilancia velocità e accuratezza.
Quando si Ferma il Gradient Descent?
Il gradient descent si ferma quando:
∇J(θ)≈0Questo significa che gli aggiornamenti successivi sono insignificanti e si è trovato un minimo.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain how to choose a good learning rate?
What happens if the gradient never reaches zero?
Can you show a real-world example where gradient descent is used?
Awesome!
Completion rate improved to 1.96
Discesa del Gradiente
Scorri per mostrare il menu
Discesa del gradiente è un algoritmo di ottimizzazione che minimizza una funzione regolando iterativamente i suoi parametri nella direzione della massima diminuzione. È fondamentale nell'apprendimento automatico per consentire ai modelli di apprendere in modo efficiente dai dati.
Comprensione dei gradienti
Il gradiente di una funzione rappresenta la direzione e la pendenza della funzione in un dato punto. Indica in quale direzione muoversi per minimizzare la funzione.
Per una funzione semplice:
J(θ)=θ2La derivata (gradiente) è:
∇J(θ)=dθd(θ2)=2θQuesto significa che, per qualsiasi valore di θ, il gradiente indica come regolare θ per scendere verso il minimo.
Formula della discesa del gradiente
La regola di aggiornamento dei pesi è:
θ←θ−α∇J(θ)Dove:
- θ - parametro del modello;
- α - tasso di apprendimento (ampiezza del passo);
- ∇J(θ) - gradiente della funzione che si vuole minimizzare.
Per la nostra funzione:
θnew=θold−α(2θold)Questo significa che aggiorniamo θ iterativamente sottraendo il gradiente scalato.
Movimento a Passi – Un Esempio Visivo
Esempio con valori iniziali: θ=3, α=0.3
- θ1=3−0.3(2×3)=3−1.8=1.2;
- θ2=1.2−0.3(2×1.2)=1.2−0.72=0.48;
- θ3=0.48−0.3(2×0.48)=0.48−0.288=0.192;
- θ4=0.192−0.3(2×0.192)=0.192−0.115=0.077.
Dopo alcune iterazioni, ci avviciniamo a θ=0, il minimo.
Tasso di Apprendimento – Scelta Accurata di α
- Troppo grande α - supera il minimo, non converge mai;
- Troppo piccolo α - converge troppo lentamente;
- Ottimale α - bilancia velocità e accuratezza.
Quando si Ferma il Gradient Descent?
Il gradient descent si ferma quando:
∇J(θ)≈0Questo significa che gli aggiornamenti successivi sono insignificanti e si è trovato un minimo.
Grazie per i tuoi commenti!