Visualizzazione della Discesa del Gradiente

Indice dei Contenuti

Presentiamo un calcolatore interattivo per visualizzare la convergenza dell'algoritmo di discesa del gradiente applicato a una funzione in due variabili \( f(x,y) \).
L'algoritmo di discesa del gradiente regola iterativamente i valori di \( x \) e \( y \) per trovare il minimo della funzione \( f(x, y) \). A partire dai valori iniziali \( x_0 \) e \( y_0 \), utilizza i gradienti della funzione per fare passi verso il minimo, controllati dalla velocità di apprendimento \( r \). Il processo continua fino a quando i cambiamenti nei valori sono sufficientemente piccoli o viene soddisfatto un altro criterio di arresto. Ecco una descrizione passo-passo del processo di discesa del gradiente per una funzione \( f(x, y) \) con valori iniziali \( x_0 \) e \( y_0 \), e una velocità di apprendimento \( r \):

Descrizione della Discesa del Gradiente

1. Inizializzazione:
- Inizia con un'ipotesi iniziale per le variabili \( x \) e \( y \). Lascia che questi valori iniziali siano \( x_0 \) e \( y_0 \).
- Scegli una velocità di apprendimento \( r \), che controlla la dimensione dei passi verso il minimo.
2. Calcola i Gradienti:
- Per la funzione \( f(x, y) \), calcola le derivate parziali rispetto a \( x \) e \( y \): \[ \dfrac{\partial f}{\partial x} \quad \text{e} \quad \dfrac{\partial f}{\partial y} \] - Valuta queste derivate parziali ai valori attuali di \( x \) e \( y \). Denota queste derivate come \( \dfrac{\partial f}{\partial x}(x_k, y_k) \) e \( \dfrac{\partial f}{\partial y}(x_k, y_k) \), dove \( k \) è l'indice dell'iterazione corrente.
3. Regole di Aggiornamento: - Regola i valori di \( x \) e \( y \) muovendoti nella direzione opposta ai gradienti (poiché stiamo minimizzando la funzione): \[ x_{k+1} = x_k - r \dfrac{\partial f}{\partial x}(x_k, y_k) \] \[ y_{k+1} = y_k - r \dfrac{\partial f}{\partial y}(x_k, y_k) \] - Qui, \( x_{k+1} \) e \( y_{k+1} \) sono i valori aggiornati di \( x \) e \( y \) dopo un'iterazione.
4. Iterazione:
- Ripeti il processo di calcolo dei gradienti e aggiornamento dei valori di \( x \) e \( y \) fino a quando non viene soddisfatto un criterio di arresto. Il criterio di arresto può essere:
- Un numero massimo di iterazioni.
- Il cambiamento nei valori di \( x \) e \( y \) tra le iterazioni è inferiore a una soglia predefinita.
- Le magnitudini dei gradienti \( \dfrac{\partial f}{\partial x}(x_k, y_k) \) e \( \dfrac{\partial f}{\partial y}(x_k, y_k) \) sono inferiori a una soglia predefinita.
5. Convergenza: - Una volta soddisfatto il criterio di arresto, i valori di \( x \) e \( y \) dovrebbero essere vicini ai valori che minimizzano la funzione \( f(x, y) \).
Un altro Calcolatore della Discesa del Gradiente per indagare la convergenza è anche incluso.

Uso del Calcolatore

Questo calcolatore è utilizzato solo per scopi educativi per visualizzare l'algoritmo di discesa del gradiente. Sarebbe quindi una buona idea che le funzioni inserite nel calcolatore abbiano un valore minimo e che i valori iniziali possano essere trovati graficamente, ad esempio.
Inserisci la funzione \( f(x,y) \), i valori iniziali \( x_0 \) e \( y_0 \) di \( x \) e \( y \) e la velocità di apprendimento \( r \).
Gli output sono:
1) Le derivate parziali \( \dfrac{\partial f}{\partial x} \; \text{e} \; \dfrac{\partial f}{\partial y} \) di \( f(x,y) \)
2) Il numero di passi e i valori aggiornati di \( x \) e \( y \),
3) I valori delle derivate parziali ai valori aggiornati di \( x \) e \( y \) vengono visualizzati.
4) Un grafico di tutti i valori aggiornati di \( x \) e \( y \).
5) Una tabella con \( x \) e \( y \), i valori delle derivate parziali e il valore di \( f(x,y) \) sono presentati come output.
Nota dalla tabella dei valori qui sotto che, quando c'è convergenza, le derivate parziali \( \dfrac{\partial f}{\partial x} \; \text{e} \; \dfrac{\partial f}{\partial y} \) si avvicinano a zero e \( f(x,y) \) si avvicina al suo valore minimo locale.

Inserisci \( f(x,y) = \)

Inserisci il punto iniziale \( (x_0, y_0) \):

Inserisci la velocità di apprendimento \( r \) =

Output




Passo \( x \) \( y \) \( \dfrac{\partial f}{\partial x} \) \( \dfrac{\partial f}{\partial y} \) \( f(x, y) \)