La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercitazione N°1 Il tool di Matlab. Matlab mette a disposizione un utile tool per lo studio delle Reti Neurali. Nel presente corso si fa riferimento.

Presentazioni simili


Presentazione sul tema: "Esercitazione N°1 Il tool di Matlab. Matlab mette a disposizione un utile tool per lo studio delle Reti Neurali. Nel presente corso si fa riferimento."— Transcript della presentazione:

1 Esercitazione N°1 Il tool di Matlab

2 Matlab mette a disposizione un utile tool per lo studio delle Reti Neurali. Nel presente corso si fa riferimento alla versione di Matlab n° 6 (Release 12). Il file della guida sul tool delle reti neurali è accessibile tramite la finestra launch-pad E possibile gestire le reti neurali attraverso uninterfaccia grafica che può essere richiamata con un doppio-clic sullicona del launch-pad oppure digitando: >> nntool Nel prompt dei comandi di Matlab

3 Appare la seguente finestra (Network/Data Manager) nella quale sono raccolte le funzioni per la costruzione e luso delle reti. Attraverso i pulsanti nella parte bassa si agisce sulle reti e i dati di riferimento per laddestramento e il richiamo. Nelle finestre della parte superiore sono riassunti i dati e le reti attualmente presenti nellworkspace. Ingressi Uscite Desiderate Ritardi sugli ingressi Ritardi sulla Rete Scarto tra uscite calcolate e desiderate Uscite Calcolate Reti Neurali

4 Premendo il pulsante New Network appare la seguente schermata, che permette di definire le caratteristiche della nuova rete neurale. Per imparare ad utilizzare il tool grafico si assuma la configurazione di default proposta dal programma. Il numero di neuroni di ingresso è pari a 2, e si deduce dal numero di righe della matrice con gli intervalli di variazione degli ingressi. La rete assume la funzione di addestramento learnlm, la funzione learngdm di adattamento, lerrore quadratico medio per il calcolo dellerrore. La rete è composta da due strati (oltre allo strato di ingresso) aventi funzione di trasferimento tangente iperbolica. Con il pulsante Create si costruisce la rete e con il pulsante View si può visualizzare.

5 Dopo aver creato la nuova rete essa appare nellapposita finestra del Network/Data Manager. Per modificare o visualizzare le caratteristiche della rete occorre prima selezionarla. Premendo il pulsante View appare la seguente rappresentazione grafica della rete: Assieme a tale rappresentazione compaiono anche le form per la gestione di tutte le funzioni relative alla rete: Inizializzazione, Richiamo, Addestramento, Adattamento, Definizione del valore dei pesi

6 Per poter procedere alladdestramento della rete occorre definire gli insiemi di riferimento, che nel caso specifico sono gli ingressi del training-set e le corrispondenti uscite desiderate. Dal Network/Data Manager si preme il pulsante New Data, che fa apparire la seguente finestra: In questa si stabilisce il nome della variabile che si sta creando, i valori numerici e la sua funzione riguardo la rete, se cioè si tratta di ingressi, uscite desiderate, ritardi, uscite o errori. Come primo passo si definiscano gli ingressi. Si ricordi che il numero di righe deve essere pari al numero di neuroni dello strato di ingresso della rete. Come secondo passo si definiscano le uscite desiderate. In questo caso il numero di righe deve coincidere con il numero di neuroni dello strato di uscita. Inoltre i valori devono essere compatibili con le uscite delle funzioni di trasferimento dei neuroni nellultimo strato.

7 Prima di procedere con la fase di addestramento occorre inizializzare opportunamente i pesi delle connessioni, per evitare che la rete resti intrappolata in qualche minimo locale. Dopo aver selezionato la rete dallelenco si preme il pulsante Initialize. Linizializzazione può essere effettuata sulla base dei valori degli ingressi o degli intervalli di variazione, fissati allatto della creazione della nuova rete. Premendo il pulsante Initialize Weights si effettua linizializzazione della rete. A questo punto si può procedere con la fase di addestramento. A questo scopo si passa alla form Train di questa stessa finestra.

8 In questa form si fissano tutte le informazioni necessarie per addestrare la rete. In particolare si distinguono le informazioni riguardanti i dati in ingresso e in uscita, dai parametri di apprendimento. Tra i vari parametri, per i quali si assumono i valori di default, si richiama lattenzione sul numero massimo di epoche (epochs), lerrore sulle uscite desiderate che si pone come obiettivo (goal) e il numero di epoche comprese tra due aggiornamenti successivi della schermata (show). Gli altri parametri riguardano la strategia di apprendimento, che verrà trattata compiutamente in esercitazioni specifiche.

9 A questo punto si può avviare laddestramento della rete con il pulsante Train Newtwork. Sullo schermo apparirà landamento dellerrore in funzione del numero di epoche. Se si pone come obiettivo un errore nullo laddestramento procederà per il numero di epoche che si è fissato come limite. Nellesempio in figura, nelle 100 epoche prefissate si è raggiunto un valore dellerrore dellordine di

10 La rete così addestrata può essere memorizzata nel disco, oppure trasferita allworkspace di Matlab, per ulteriori operazioni. Partendo dal Network/Data Manager si prema il pulsante Export. Apparirà lelenco di tutte le variabili create durante le precedenti operazioni: la rete neurale, i dati in ingresso, le uscite desiderate, le uscite calcolate e gli errori commessi, cioè la differenza tra le uscite calcolate e quelle desiderate. Selezionando una variabile, per esempio la rete network1 si attivano i due pulsanti Export e Save. Il primo trasferisce la variabile selezionata allworkspace di Matlab, il secondo la salva su disco. Si prema Export.

11 Ora la rete network1 si trova su Matlab, come possiamo vedere digitando il comando: >>whos che fornisce lelenco di tutte le variabile presenti. Apparirà la seguente schermata: Name Size Bytes Class ans 1x1 8 double array network1 1x network object Grand total is 971 elements using bytes >> La variabile network1 viene allocata come oggetto di tipo rete. Per visualizzarne la struttura digitare il nome della rete nel prompt dei comandi: >>network1 e premere invio. Apparirà la schermata visualizzata nella pagina seguente. Per accedere ai singoli campi delloggetto rete si utilizza la solita sintassi della programmazione a oggetti.

12 network1 = Neural Network object: architecture: numInputs: 1 numLayers: 2 biasConnect: [1; 1] inputConnect: [1; 0] layerConnect: [0 0; 1 0] outputConnect: [0 1] targetConnect: [0 1] numOutputs: 1 (read-only) numTargets: 1 (read-only) numInputDelays: 0 (read-only) numLayerDelays: 0 (read-only) subobject structures: inputs: {1x1 cell} of inputs layers: {2x1 cell} of layers outputs: {1x2 cell} containing 1 output targets: {1x2 cell} containing 1 target biases: {2x1 cell} containing 2 biases ……….. inputWeights: {2x1 cell} containing 1 input weight layerWeights: {2x2 cell} containing 1 layer weight functions: adaptFcn: 'trains' initFcn: 'initlay' performFcn: 'mse' trainFcn: 'trainlm' parameters: adaptParam:.passes initParam: (none) performParam: (none) trainParam:.epochs,.goal,.max_fail,.mem_reduc,.min_grad,.mu,.mu_dec,.mu_inc,.mu_max,.show,.time weight and bias values: IW: {2x1 cell} containing 1 input weight matrix LW: {2x2 cell} containing 1 layer weight matrix b: {2x1 cell} containing 2 bias vectors other: userdata: (user stuff)


Scaricare ppt "Esercitazione N°1 Il tool di Matlab. Matlab mette a disposizione un utile tool per lo studio delle Reti Neurali. Nel presente corso si fa riferimento."

Presentazioni simili


Annunci Google