Minimizzi una funzione a mano in Python
Codifichi la discesa del gradiente su una curva semplice
Minimizzi una funzione a mano in Python è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.
Un piccolo esercizio pratico
Eseguiamo manualmente il gradient descent su una semplice curva. Prima di affidare il compito a un framework, minimizzeremo una funzione di base usando Python puro.
Scegliere una funzione
Usiamo una parabola con un’unica valle. Il suo punto più basso si trova in x uguale a 3, quindi questo è il minimo che il nostro codice dovrebbe trovare autonomamente.
def f(x):
return (x - 3) ** 2Conoscere il gradiente
Per questa curva, la pendenza, ovvero il gradiente, è due volte x meno tre. Nei modelli reali, autograd lo calcola per voi, ma qui lo scriviamo direttamente.
def grad(x):
return 2 * (x - 3)Iniziare da qualche punto
La discesa ha bisogno di un punto di partenza. Scegliamo un valore iniziale arbitrario e lontano dalla risposta, per osservare i passi avvicinarsi gradualmente.
x = 0.0Scegliere un learning rate
Impostiamo un learning rate moderato, in modo che i passi siano abbastanza grandi da produrre progressi, ma abbastanza piccoli da evitare di oltrepassare la valle.
lr = 0.1Il passo di aggiornamento
Ogni iterazione applica la stessa regola vista prima: sottrarre a x il gradiente ridimensionato. Una sola riga esegue tutto il lavoro della discesa.
x = x - lr * grad(x)Ripetere in un ciclo
Un solo passo non è sufficiente, quindi inseriamo l’aggiornamento in un ciclo. Una ventina di iterazioni permette a x di avvicinarsi gradualmente al minimo.
for i in range(20):
x = x - lr * grad(x)Osservare la convergenza
Stampando x e f(x) a ogni iterazione, vedrete che convergono: x si avvicina a 3 e il valore della funzione tende a zero.
print(round(x, 4), round(f(x), 6))I passi diventano più piccoli
Notate che i movimenti si riducono avvicinandosi al fondo. Vicino al minimo, il gradiente è piccolo, quindi ogni passo rallenta naturalmente senza codice aggiuntivo.
Provare un learning rate errato
Impostate il learning rate su un valore come 1.1 ed eseguite di nuovo il codice. x si allontana oscillando invece di stabilizzarsi, mostrando chiaramente come un passo troppo grande causi la divergenza.
lr = 1.1La stessa idea, su scala più grande
Queste poche righe fanno esattamente ciò che fa il deep learning, ma con milioni di pesi e un gradiente automatico. Il ciclo fondamentale non cambia mai.
Controllo rapido
Quali segnali indicano che la discesa sta convergendo?
Riepilogo
Avete implementato manualmente il gradient descent: definite una funzione e il suo gradiente, iniziate da un punto qualsiasi, quindi ripetete la regola di aggiornamento finché x converge al minimo. ✅
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Minimizzi una funzione a mano in Python» è gratuita?
Sì — il testo completo di «Minimizzi una funzione a mano in Python» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.
Cosa imparerò in «Minimizzi una funzione a mano in Python»?
Codifichi la discesa del gradiente su una curva semplice Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Deep Learning Academy?
Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Minimizzi una funzione a mano in Python»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?
Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- La loss come paesaggio da percorrere in discesa
- I gradienti puntano in salita: faccia un passo nella direzione opposta
- Learning rate: troppo grande, troppo piccolo o perfetto
- Minimizzi una funzione a mano in Python