Regola delta

Da Wikipedia, l'enciclopedia libera.

La Delta rule è una regola di discesa del gradiente per aggiornare i pesi dei segnali di input che giungono ad un percettrone. Calcoliamo il valore della derivata della funzione sigmoide per un valore net che ci sarà utile successivamente:

\frac{d\,\sigma(net)}{d\, net}=...=\frac{1}{1+e^{-net}}\frac{e^{-net}}{1+e^{-net}}=...=o(1-o)

Siccome uno o più neuroni hanno la capacità di interpolare i dati che vengono forniti in modo da imparare una funzione che meglio li approssima, possiamo considerare la condizione di accostamento del metodo dei minimi quadrati, per valutare l'errore complessivo del calcolo dei dati in arrivo da un singolo neurone:

E=\frac{1}{2}\sum\varepsilon^{2}

In questo modo si cerca di ottenere un valore minimo di E, somma del quadrato degli errori \varepsilon. Siccome interessa che ad un dato peso corrisponda il minimo errore dell'intero neurone, allora la variazione della pendenza sarà negativa per muovere il peso nella direzione negativa del gradiente. Allora sarà presente la seguente correlazione:

\Delta w=-\eta\nabla E

Questa formula può anche essere scritta come:

\Delta w=-\eta\frac{\partial\, E}{\partial\, w}=-\eta\frac{\partial\, E}{\partial\, net}\frac{\partial\, net}{\partial\, w}

Per ottenere la formula generale della regola delta possiamo dire che

\frac{\partial\, E}{\partial\, o}=\frac{\partial}{\partial\, o}[E(\overrightarrow{w})]=\frac{\partial}{\partial\, o}[\frac{1}{2}(r-o)^{2}]=-(r-o)=-\varepsilon

e che

\frac{\partial\, o}{\partial\, net}=\frac{\partial\,\sigma(net)}{\partial\, net}=o(1-o)=\sigma'(net).

e quindi possiamo scrivere la seguente identità:

\frac{\partial\, E}{\partial\, net}=\frac{\partial\, E}{\partial\, o}\frac{\partial\, o}{\partial\, net}=-(r-o)o(1-o)=-\varepsilon\sigma'(net).

Inoltre abbiamo che

\frac{\partial\, net}{\partial\, w}=x

Otteniamo così la formula generale della delta rule:

\Delta w=\eta\varepsilon\sigma'(net)\cdot x=\eta(r-o)o(1-o)\cdot x

L'aggiornamento dei pesi avverrà sommando al peso del neurone precedente (o del valore di input) la variazione trovata, dopo aver proceduto al confronto, secondo la delta rule nel modo seguente:

w'_{1}=w_{1}+\Delta w

Nel caso di un singolo neurone (perceptron), possiamo approssimare la funzione così:

\Delta w=\eta(r-o)x=\eta\varepsilon x

Tabella riassuntiva[modifica | modifica sorgente]

Delta Rule
\Delta w=\eta\varepsilon\sigma'(net)\cdot x
  • \eta è il tasso di apprendimento (valore compreso tra 0 ed 1). Valori bassi richiedono un maggior numero di addestramenti - dette epoche - ma si tende ad ottenere un risultato più preciso
  • \varepsilon è l'errore, differenza tra l'output del neurone e l'output previsto, dato da \varepsilon=r-\sigma(net)
  • \sigma'(net) è la derivata della funzione sigmoide o=\sigma(net)=\frac{1}{1+e^{-net}}, detta funzione di attivazione che restituisce l'output.
  • net è la somma pesata in uscita dal neurone dei valori di input x tenendo conto dei loro rispettivi pesi w: net=\sum w_{i}x_{i}

Bibliografia[modifica | modifica sorgente]

  • Tom Mitchell, Machine Learning, McGraw Hill, 1997.
  • Ben Krose, Patrick van der Smagt, An Introduction to Neural Networks, The University of Amsterdam

Voci correlate[modifica | modifica sorgente]

matematica Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica