CHANGE LANGUAGE | Home > Metodi e Strategie > Reti Neurali su .... > Algoritmo di apprendimento

Reti Neurali su personal computer e fuzzy logic

Introduzione

Reti Neurali Error Back Propagation

Introduzione

Reti neurali multistrato

Note sulla forma delle espressioni matematiche dei prossimi paragrafi

Funzione di trasferimento del neurone

Algoritmo di apprendimento

La Regola Delta

La retropropagazione dell'errore

Simulazione in C di esecuzione e apprendimento

Un esperimento: insegnamo alla rete a fare la somma di due numeri

Un esempio applicativo

Conclusioni

Applicazioni pratiche di una rete neurale EBP

Reti Neurali Autoorganizzanti

Fuzzy Logic e La teoria del Ragionamento sfumato

Neurfuzz 1.0

Guida al software allegato

Guida agli applicativi

Bibliografia in lingua Inglese

Reti neurali su Personal Computer e Fuzzy Logic: Reti Neurali Error Back Propagation

Algoritmo di apprendimento

Il tipo di addestramento che si esegue su questa rete è chiamato "supervised" (supervionato) perché associa ogni input ad un output desiderato:

ciclo epoche:
{
per ogni esempio:
{


a)si fornisce l'input alla rete
b)si preleva l'output da questa fornito
c)si calcola la differenza con l'output desiderato

d)si modificano i pesi di tutti i collegamenti
tra i neuroni in base a tale errore con una
regola (chiamata regola delta) in modo che tale
errore diminuisca.
}


e)calcolo dell'errore globale su tutti gli esempi
f)si ripete il ciclo epoche finche l'errore non raggiunge
il valore accettato
}

Naturalmente per input e output si intende un insieme di n esempi ciascuno composto da k input (k sono gli input fisici della rete) e j output(j sono gli output fisici della rete). Ogni ciclo come quello sopraesposto viene chiamato "epoca" di apprendimento. Voglio ricordare il concetto che nel capitolo precedente avevamo chiamato "resistenza al rumore" (nel caso di memorie associative) e qui chiameremo "potere di generalizzazione" intendendone la capacità della rete dopo
l'addestramento di dare una risposta significativa anche ad un input non previsto negli esempi.

In pratica durante l'addestramento, la rete non impara ad associare ogni input ad un output ma impara a riconoscere la relazione che esiste tra input e output per quanto complessa possa essere: diventa pertanto una "scatola nera" che non ci svelerà la formula matematica che correla i dati ma ci permetterà di ottenere risposte significative a input di cui non abbiamo ancora verifiche "sul campo"
sia all'interno del range di valori di addestramento (interpolazione), che all'esterno di esso(estrapolazione).

Naturalmente l'estrapolazione è più difficoltosa e imprecisa che
l'interpolazione e comunque entrambe danno risultati migliori quanto più è completo e uniformemente distribuito il set di esempi. Potremmo insegnare ad una rete neurale di questo tipo a fare delle somme tra due valori di input fornendole in fase di apprendimento una serie di somme "preconfezionate" con risultato corretto in un range più vasto possibile: la rete riuscirà a fare somme anche di valori diversi da quelli degli esempi.

Addestrare una rete neurale a fare una somma è ovviamente inutile se non per motivi di studio o sperimentali in quanto essa è utile per studiare fenomeni di cui non sia conosciuta la correlazione matematica tra input e output (o sia estremamente complessa).

Luca Marchese

PerformanceTrading.it ed il suo contenuto sono di esclusiva proprietà degli autori. E' vietata la riproduzione anche parziale di qualsiasi parte del sito senza autorizzazione, compresa la grafica e il layout. Prima della consultazione del sito leggere il disclaimer nella sezione [info].