Esercitazione N°5 Approssimazione di Funzioni. Esercizio 1 Costruzione di una rete RBF Il metodo più semplice per approssimare una funzione mediante reti.

Slides:



Advertisements
Presentazioni simili
Apprendimento Automatico Apprendimento supervisionato
Advertisements

Metodi numerici in Matlab
Proprietà degli stimatori
Capitolo 8 Sistemi lineari.
MATLAB.
MATLAB.
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
Integrazione Corso: Analisi Numerica Anno Accademico:
Elementi di statistica Elementi di statistica M. Dreucci Masterclasses LNF Elementi di statistica M. Dreucci.
Primo sguardo a metodi multivariati per l'analisi del ttH
Pattern Recognition con Reti Neurali MLP
Esercitazione N°1 Il tool di Matlab.
Progetto Pilota 2 Lettura e interpretazione dei risultati
ALGORITMI DI OTTIMIZZAZIONE PER L'ADDESTRAMENTO DI RETI NEURALI
Apprendimento di funzioni algebriche
DISTRIBUZIONE CAMPIONARIA CONGIUNTA DI DUE VARIABILI (1)
Tema 5: Misura di un segnale costante in rumore
MATLAB.
MATLAB.
Algebra lineare G. Puppo.
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Corso di biomatematica lezione 4: La funzione di Gauss
INGEGNERIA CLINICA E BIOMEDICA
BIOINGEGNERIA S. Salinari Lezione 4.
TECNOLOGIE DEI SISTEMI DI CONTROLLO
BIOINGEGNERIA S. Salinari Lezione 7. RETI CON APPRENDIMENTO SUPERVISIONATO A DISTANZA Nello sviluppo delle reti neurali si è proceduto indebolendo via.
STATISTICA a.a PARAMETRO t DI STUDENT
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Studente Claudia Puzzo
Filtri adattativi.
PATTERN RECOGNITION.
Reti Neurali Ricorrenti
Esercitazione N°6 Apprendimento Non-Supervisionato.
Esercitazione 2 – Generazione di variabili Matlab.
Apprendimento Automatico Apprendimento non supervisionato:
Parte I (introduzione) Taratura degli strumenti (cfr: UNI 4546) Si parla di taratura in regime statico se lo strumento verrà utilizzato soltanto per misurare.
Metodi numerici per l’approssimazione
Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli.
Propagazione degli errori
PoliICR Riconoscimento dei Caratteri Daniele Gasperini – William Spinelli Riconoscimento dei Segnali: un approccio unitario prof. Sergio Brofferio.
Progettare per competenze
Unità 7 Test parametrici ☐ Test t di Student ☐ Analisi della varianza ad una via ☐ Confronti multipli.
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
Università degli Studi di Cagliari
Obbiettivo L’obiettivo non è più utilizzare il campione per costruire un valore o un intervallo di valori ragionevolmente sostituibili all’ignoto parametro.
COME RAGIONA UN COMPUTER
POLITECNICO DI MILANO Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica STUDIO E REALIZZAZIONE DI UN BRACCIO ROBOTICO ANTROPOMORFO E SOLUZIONE.
Esercitazione 2 Reti Neurali Backpropagation. 2 Esercizio 1  Scompattare bp  Compilare i 4 programmi (con make, v.file readme )  Utilizzare i dati.
Lezione B.10 Regressione e inferenza: il modello lineare
Il residuo nella predizione
RETI NEURALI - 2.
DAC A RESISTORI PESATI.
Intelligenza Artificiale
Intervallo di Confidenza Prof. Ing. Carla Raffaelli A.A:
Intelligenza Artificiale Reti Neurali
APPROSSIMAZIONE DI FUNZIONI
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Scelta del metodo analitico:
TRATTAMENTO STATISTICO DEI DATI ANALITICI
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Operazioni di campionamento CAMPIONAMENTO Tutte le operazioni effettuate per ottenere informazioni sul sito /area da monitorare (a parte quelle di analisi)
FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione.
Self-Organizing Map (SOM Kohonen, 1981) è una tecnica di visualizzazione dei dati multidimensionali SOM è una mappa mono- (bi-)dimensionale che rappresenta.
RUMORE DI QUANTIZZAZIONE. Concetti principali L’analisi dei sistemi di controllo digitale presuppone il fatto che il dispositivo utilizzato abbia uno.
In alcuni casi gli esiti di un esperimento possono essere considerati numeri naturali in modo naturale. Esempio: lancio di un dado In atri casi si definisce.
Esercitazione N°2 Data Fitting con Modelli Lineari.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Test di ipotesi.
Transcript della presentazione:

Esercitazione N°5 Approssimazione di Funzioni

Esercizio 1 Costruzione di una rete RBF Il metodo più semplice per approssimare una funzione mediante reti neurali è quello di usare le Radial Basis Functions (RBF). Queste hanno una struttura come quella descritta nella figura seguente: Gli ingressi passano attraverso un primo strato di connessioni per costituire l'ingresso di uno strato di neuroni con funzione di attivazione di tipo gaussiano. Le uscite dello strato sono combinate linearmente per dare le uscite. Nella versione più semplice, viene assegnato un neurone nascosto ad ogni pattern del training-set e si definiscono i pesi del primo strato di connessioni in modo tale che la gaussiana abbia il massimo in corrispondenza del punto. E' quindi possibile, ed anche semplice, definire i pesi delle connessioni del secondo strato che ricalcano perfettamente i valori del target in corrispondenza dei punti del training set. Una seconda versione di RBF ammette un certo valore di errore, posizionando il massimo della gaussiana in corrispondenza di una parte del training set o di punti medi di gruppi di punti. In questo modo, ammettendo di avere un'approssimazione non esatta della funzione, si può ridurre il numero di neuroni dello strato nascosto. La funzione di attivazione utilizzata dalle RBF si richiama con la parola chiave radbas: >> p = -3 : 0.1 : 3; >> a = radbas(p); >> plot(p,a);

Vediamo come si possano usare le RBF per costruire una funzione. Nell'esempio che segue, tre funzioni radbas sono combinate linearmente per ottenere la funzione che in figura appare di colore magenta. La principale differenza, rispetto alle MLP viste finora, è che le funzioni elementari che vengono combinate sono pressoché ortogonali tra loro. >> p = -3 : 0.1 : 3; >> clf >> hold on; >> plot(p,radbas(p)); >> plot(p,radbas(p-1.5)); >> plot(p,radbas(p+2)); >> rb1 = radbas(p); >> rb2 = radbas(p-1.5); >> rb3 = radbas(p+2); >> plot( p, rb1+ rb *rb3, 'm' ); Matlab prevede due comandi distinti per la costruzione di reti RBF, a seconda che si ammetta o no un errore di approssimazione della funzione. Il comando newrb crea una rete RBF ammettendo un errore di approssimazione assegnato come parametro. La sintassi è la seguente: >> eg = 0.02; % errore ammesso >> sc = 1; % costante di spread >> p = -3 : 0.1 : 3; % ingressi >> t = sin(p); % target >> net = newrb(p,t,eg,sc); % costruzione RBF

plottando i campioni della funzione insieme alle uscite della rete otteniamo il seguente grafico: >> plot(p,sim(net,p),'*',p,t,'o') Esclusi due campioni, l'approssimazione è accettabile. Possiamo vedere cosa succede se riduciamo il coefficiente sc, cioè se utilizziamo gaussiane più strette: >> eg = 0.02; % errore ammesso >> sc = 0.01; % costante di spread >> p = -3 : 0.1 : 3; % ingressi >> t = sin(p); % target >> net = newrb(p,t,eg,sc); % rete RBF Eseguendo il plot in questo secondo caso, i punti della funzione sono riprodotti con la stessa precisione di prima, ma ora la rete ha 50 neuroni nello strato nascosto, mentre prima ne aveva solo 25. Inoltre, se si riduce il passo di campionamento, si può osservare che l'uscita della rete corrisponde alla funzione approssimata solo nei punti di addestramento, mentre in tutti gli altri punti l'errore può essere elevato. Viceversa, se il parametro sc è molto elevato, per esempio sc = 100, la rete ha difficoltà ad approssimare anche i punti di addestramento.

Lo stesso problema si può affrontare con le reti RBF esatte. In questo caso i parametri di errore e di varianza della gaussiana non devono essere più assegnati, perché il primo è nullo per definizione e il secondo viene calcolato dall'algoritmo sulla base della distribusione dei punti di addestramento nello spazio degli ingressi. La funzione per la costruzione di una tale rete è newrbe: >> p = -3 : 0.1 : 3; % ingressi >> t = sin(p); % target >> netE = newrb(p,t); % rete RBF Ripetendo i comandi per la graficazione dei punti utilizzata in precedenza, si può osservare che la rete approssima perfettamente la funzione anche in punti diversi da quelli di addestramento. Inevitabilmente, la rete RBF creata in questo modo ha 61 neuroni nascosti, tanti quanti sono i campioni utilizzati nell'addestramento. Possiamo provare ad approssimare la stessa funzione con una rete MLP: >> netFF = newff([-3 3], [10 1], {'logsig' 'purelin'}); >> netFF = train(netFF,p,t); lo strato nascosto ha soltanto 10 neuroni. L'addestramento della rete è piuttosto rapido. In 100 epoche raggiunge un errore di 5e-9. Vediamo la qualità dell'approssimazione: >> plot(pp,sim(netFF,pp),'.',pp,sin(pp)); L'approssimazione è buona quanto quella della rete RBF con 61 neuroni nascosti.

Esercizio 2 Funzione di Schwefel La funzione di Schwefel è così definita: f : [0 ; 500] n   Grafichiamo la funzione nel caso di n = 2 >> [X,Y] = meshgrid(0:500, 0:500); >> Z = -X.*sin(sqrt(X)) -Y.*sin(sqrt(Y)); >> mesh(Z); si ottiene la seguente figura: Lo studente approssimi questa funzione con una RBF esatta, con una approssimata e con una MLP. Confronti, poi le prestazioni e le dimensioni delle tre reti ottenute.