Introduzione alle Reti Neurali
ed applicazioni in campo
ambientale
Antonino Staiano
Dipartimento di Matematica ed
Informatica,
Università di Salerno
e
Dipartimento di Scienze Fisiche,
Università “Federico II” di Napoli
Introduzione
• Lo sviluppo tecnologico che ha accompagnato gli ultimi
anni, consente di generare una vastità di dati in una
moltitudine di discipline.
• L’obiettivo comune di informatici, statistici, matematici è
di dare un senso ad una mole impressionante di dati:
estrarre informazioni ed andamenti importanti, e capire
“ciò che i dati dicono”. Questa attività è denominata
“apprendere dai dati” (learning from data).
Ruolo dei dati
CONOSCENZA DEL
DOMINIO
APPLICATIVO
incompleta
imprecisa (rumore,
incertezza, errori)
usiamo i
DATI
che vengono
ottenuti una volta per tutte
per ottenere
NUOVA
acquisiti interagendo
direttamente con l’ambiente
Introduzione: machine learning
•
Le tecniche di analisi di dati si sono arricchite di nuovi strumenti,
collettivamente indicati con l’espressione machine learning
(apprendimento automatico).
•
Tali strumenti sono ispirati alle procedure di calcolo dei sistemi
biologici, procedure che, anche se talvolta approssimate ed
imprecise, risultano assai più efficienti di quelle matematiche
tradizionali quando si debba avere a che fare con un mondo di
informazioni di natura complessa, governato dal rumore, dalla
variabilità e talvolta dall’ambiguità.
Linee di Ricerca nel Machine Learning
–
–
–
–
–
–
–
–
•
Alberi di decisione;
Reti neurali;
Clustering e discovery
Apprendimento Bayesiano
Apprendimento con rinforzo
Apprendimento induttivo basato sulla conoscenza
Algoritmi genetici
Programmazione logica induttiva …
Nell’ambito di queste ricerche le tecniche che hanno suscitato
particolare interesse sono le Reti Neurali.
Reti Neurali
•
Con il termine rete neurale, si indicano genericamente dei sistemi
costituiti da unità in grado di attivarsi in conseguenza della ricezione
di segnali di ingresso, e di linee di interconnessione, in grado di
veicolare l’attivazione da un’unità all’altra.
•
Il funzionamento di tali sistemi si ispira dichiaratamente a quello dei
sistemi nervosi biologici, come l’insieme dei neuroni che fanno parte
del cervello.
•
Trovano campo di applicazione in svariati settori eterogenei,
modellazione, analisi di serie temporali, riconoscimento di pattern,
elaborazione dei segnali e controllo, in virtù di una proprietà
fondamentale: la capacità di apprendere un insieme di dati di input
con e senza l’ausilio di un insegnante.
Reti Neurali: apprendimento
Tipologie di
apprendimento
Supervisonato
L’obiettivo è quello di predire il valore
in uscita sulla base di valori in
ingresso (classificazione, regressione).
Non Supervisonato
Non c’è alcun valore da predire,
l’obiettivo è quello di descrivere le
associazioni e le relazioni mediante
un insieme di valori in ingresso
(clustering)
Apprendimento Supervisionato
•
Scenario:
– abbiamo una misura di uscita, solitamente quantitativa (per
esempio, il prezzo di un’azione) o qualitativa (di tipo categorico)
detta anche label, (come attacco di cuore/nessun attacco di
cuore), che noi vogliamo predire sulla base di un insieme di
caratteristiche o parametri (features) di input, ad esempio dieta,
e misure cliniche;
– Oltre ai parametri di input abbiamo a disposizione un insieme di
valori della misura di output che funge da insieme di esempi in
base ai quali guidare il processo di apprendimento. Tali valori di
output sono denominati target.
Esempio: dati con misura di uscita qualitativa
Oggetti
(fiori Iris)
Parametri
Target
(Label)
Esempio: dati con misura di uscita quantitativa
Parametri
Oggetti
(auto)
Acc.
Target
(val. continuo)
CV
MPG
1
12.0
130.0
18.0
2
11.5
165.0
15.0
3
11.0
150.0
18.0
4
12.0
150.0
16.0
5
10.5
140.0
17.0
6
10.0
198.0
15.0
7
9.0
220.0
14.0
8
8.5
215.0
14.0
9
10.0
225.0
14.0
10
8.5
190.0
15.0
…
…
…
…
Apprendimento supervisionato: Regressione e
Classificazione
•
La tipologia dell’uscita da predire comporta una diversificazione
della natura dell’attività di apprendimento:
¾ Regressione: quando prediciamo output quantitativi.
9 Esempio: dati delle specifiche misure atmosferiche di oggi e
ieri, vogliamo predire il livello di ozono domani;
¾ Classificazione: quando prediciamo output qualitativi.
9 Esempio: dati valori dell’ampiezza del sepalo e del petalo
vogliamo predire la tipologia del fiore iris.
•
In ogni caso ciascuno dei due compiti può essere visto come un
compito di approssimazione di funzioni.
Regressione
•
•
Scopo: predire il valore di una funzione y(x,w), sulla base di un
insieme di dati di addestramento (training) costituiti dalle coppie
(xi,yi). I valori di uscita nell’insieme di training sono detti target, e
sono di tipo quantitativo (yRd).
Minimizzare la funzione di errore somma dei quadrati
Regressione
Classificazione
•
•
Scopo: assegnare un dato di input ad una di due o più classi sulla
base di un insieme di dati di addestramento (training) costituiti dalle
coppie (xi,gi). I valori di uscita nell’insieme di training sono detti
target, e sono di tipo qualitativo (si, no, A,B, C)
Il risultato è una regola di decisione che suddivide lo spazio di input
in regioni di decisone separate da confini di decisione.
Classificazione: un pò di formalismo
•
Ogni confine di decisione è determinato da una funzione
discriminante:
w è il vettore dei pesi e w0 è detta soglia.
•
Una tale funzione realizza un classificatore a due classi
definendo la regola di decisione:
decidi w1 se g(x)>0 e w2 se g(x)<0.
•
Il confine di decisione è fissato dall’equazione
g(x)=0.
Classificazione: molte classi
•
Si può generalizzare considerando la presenza di c classi,
introducendo una funzione discriminante per ogni classe,
ovvero:
con i=1,…,c.
•
Assegniamo x a wi se gi(x)>gj(x) con ij, per ogni i e j.
Classificazione: esempio a due classi
Confine di decisione lineare
Classificazione: esempio a due classi
Confine di decisione non lineare
Classificazione: esempio a due classi
Confine di decisione non lineare
Reti Neurali
•
In generale una rete neurale è costituita da:
– Un opportuno insieme di unità (neuroni), ciascuna delle quali, ad
ogni istante di tempo, si trova in un certo stato di attivazione, a
sua volta dipendente dagli ingressi ricevuti dall’unità stessa;
– Un opportuno insieme di linee di interconnessione che veicolano
lo stato di attivazione da un’unità agli ingressi di altre unità;
ciascuna linea di interconnessione è caratterizzata da un valore
numerico detto peso
Tipologie di Reti Neurali
• Per individuare una particolare rete neurale occorre
specificare in dettaglio le scelte compiute relativamente
a ciascuno dei seguenti aspetti:
– Tipo di unità
– Tipo di organizzazione
– Tipo di architettura
– Tipo di connessioni
Reti Neurali Supervisionate: Il Percettrone
• Il percettrone è il mattone base delle reti neurali
• Nasce da un'idea di Rosenblatt (1962)
• Cerca di simulare il funzionamento del neurone
x1
x2
w1
w2
Somma
...
xn
wn
Soglia
Percettrone: schema dettagliato
Il Percettrone
• I valori di uscita sono digitali: 0 oppure 1
• Gli ingressi xi e i pesi wi sono valori reali positivi
o negativi
• Ingressi, somma, soglia;
• L'apprendimento consiste nel modificare pesi e
soglia
x1
x2
w1
w2
Somma
...
xn
wn
Soglia
Il Percettrone
con più uscite
• E' possibile generalizzare e realizzare un percettrone
dotato di molti ingressi e molte uscite
• Tutti gli ingressi sono collegati a tutti i sommatori
• I percettroni sono tutti indipendenti e pertanto possono
essere addestrati singolarmente
Il Percettrone
• Problema:
– dati insiemi di punti su uno spazio 2D, classificarli in
due gruppi
– inoltre dato un nuovo punto (x,y) decidere a quale
gruppo appartiene
• Il primo problema è di classificazione, mentre per
risolvere il secondo è richiesta capacità di
generalizzazione, simile all'apprendimento di concetti;
• non vi è una regola, si deve imparare da esempi
Problema di classificazione
• Con (x1, x2) in ingresso,
si ha:
x2
g(x) = w0 + w1 x1 + w2 x2
mentre l'uscita è data da:
1 se g(x) > 0
0 se g(x) < 0
• La linea di separazione è data da:
x2 = - (w1/w2) x1 - (w0/w2)
x1
Problema di classificazione
• La retta è completamente determinata da w0, w1, e w2
• La retta si chiama superficie di decisione
• Il problema è di identificare una superficie di decisione
opportuna
• Il segno di g(x) è usato per la classificazione, ma il suo
modulo è importante per capire quanto può essere
giusta la classificazione (quanto si è distanti dalla
superficie di decisione)
Problema di classificazione
• Il problema è quindi ridotto alla determinazione
dell'insieme dei pesi (w0, w1,… wn) migliore per
minimizzare gli errori di classificazione
• E' un problema di ottimizzazione
• Viene utilizzata una tecnica di discesa nella direzione del
gradiente
Il Percettrone
• Il teorema di convergenza del percettrone (Rosenblatt,
1962) assicura che il percettrone riuscirà a delimitare le
2 classi in un sistema linearmente separabile
• In altre parole, nell'ottimizzazione non esistono minimi
locali
• Problema: come ci si comporta in caso di situazioni non
linearmente separabili?
Reti Neurali Supervisionate : Percettrone
multistrato
• Nei casi non linearmente separabili si usano più
percettroni disposti su più livelli (o multistrato)
Percettrone multistrato
• Il percettrone multistrato risolve il problema della
rappresentazione della conoscenza ma introduce il
problema dell'apprendimento:
il teorema di convergenza non si
estende ai percettroni multistrato
• E' necessario determinare un metodo per far apprendere
anche i percettroni multistrato
Reti con propagazione all'indietro
(back propagation)
• Obiettivi:
– partire da un insieme di percettroni con pesi casuali
– insegnare in modo veloce
– avere capacità di generalizzazione
– avere insiemi di percettroni su larga scala
• Reti a 2 strati, a 3 strati. A 4 strati?
• Strati di ingresso, di uscita, e nascosto
Reti multistrato
• Per l'apprendimento non c'è bisogno di passi iterativi, ma
è sufficiente un procedimento a ritroso, partendo dalle
uscite, fino a giungere agli ingressi
• La rete viene addestrata con un insieme di coppie
ingresso-uscita. E' auspicabile che riesca ad avere
anche buona capacità di generalizzazione
Reti multistrato
• Per poter procedere all'indietro, tutte le funzioni devono
essere invertibili
• Purtroppo la funzione soglia non lo è
• E' necessario quindi sostituirla con una funzione simile,
ma invertibile
• La scelta è caduta sulla sigmoide, che ha buone
caratteristiche di derivabilità e continuità:
uscita = 1 / ( 1+e ^(-somma))
• Il Percettrone Multistrato, con almeno uno strato hidden,
è in grado di approssimare qualsiasi tipo di funzione
(Teorema di Kolmogorov)
Generalizzazione
• Alla rete si forniscono delle coppie ingresso-uscita
• Per molti problemi, però, è impossibile fornire tutti i
possibili ingressi (riconoscimento dello scritto, dei
volti,...)
• E' richiesta quindi alla rete una capacità di
generalizzazione
• Esistono però svariati problemi
Generalizzazione
• Con un addestramento troppo lungo la rete non impara,
ma memorizza
• Ci sono diversi metodi per impedire la memorizzazione:
– non effettuare addestramento troppo lungo
– aggiungere rumore agli ingressi (ma non troppo da
confondere il classificatore)
– ridurre il numero di unità di elaborazione del sistema
(e quindi i pesi): si può agire sul numero di nodi
nascosti: la rete dovrà trovare un modo più compatto
di rappresentazione
Reti Non Supervisionate: Self-Organizing Maps (SOM)
Le SOM sono basate su di un algoritmo di training non
supervisionato di tipo competitivo (il training è completamente
guidato dai dati e I neuroni competono tra loro).
‰ La SOMè costituita da un insieme di neuroni disposti
regolarmente su di una griglia 1 o 2 dimensionale.
‰Ogni neurone i è rappresentato vettore n-dimensionale o
vettore di riferimento:
n = dimensione dei vettori di input
‰ Ciascun neurone è connesso con quelli adiacenti mediante
una funzione di vicinanza che determina la topologia della
mappa.
Reti Neurali non supervisionate: Self-Organizing Maps
(SOM)
Nel caso 2D, I neuroni
della mappa possono
essere disposti su di un
reticolo rettangolare o
esagonale.
Training: basato su di un apprendimento di tipo competitivo
(non solo il vettore prototipo più vicino, ma anche i suoi vicini sulla
mappa sono modificati verso il vettore di input).
Ad ogni passo del training, un vettore x dall’insieme dei dati di input è
scelto ed una misura di similarità è calcolata tra esso e tutti i vettori
peso della mappa.
La Best-Matching Unit (BMU) è il neurone il cui vettore peso ha il più alto
grado di similitudine con il vettore di input x.
Neural-Based Visualization Methods: Self-Organizing
Maps (SOM)
U-Matrix (matrice delle distanze unificate)
Visualizza la struttura del clustering della SOM come distanza (nella
metrica considerata) tra i neuroni vicini della mappa, così valori alti
della U-matrix indicano un bordo del cluster, mentre valori uniforme di
valore basso indicano i cluster veri e propri.
SOM: U-Matrix
‰Regioni a valori piccoli
(colore blu)
rappresentano I cluster
‰Regioni a valori alti
(colore rosso)
rappresentano I bordi
dei cluster
SOM: Analisi dei parametri
Analisi dei parametri: grafici a torta e …
… grafici a barre
Applicazione: Determinazione delle classi di
concentrazione dei livelli di Biossido di Zolfo
Obiettivo: determinazione di un indice qualitativo dell’inquinamento,
piuttosto che determinare gli esatti valori della concentrazione.
[SO2]”40µ/m3 ĺ bassa concentrazione
[SO2]>40µ/m3 ĺ alta concentrazione
Tasso di campionamento: ora (1993-1994)
Parametri considerati: WS(t), WD(t), SR(t-1), SR(t-2), SR(t-3), SO2(t),
SO2(t-1), SO2(t-2), SO2(t-3)
(Wind Speed, Wind Direction, Solar Radiation)
SO2(t-i) è la classe di concentrazione (0 per alta, 1 per bassa)
Misurate nelle ore t-i, 0”i”3
Target: SO2(t+1).
Applicazione: Determinazione delle classi di
concentrazione dei livelli di Biossido di Zolfo
Apprendimento: Bayesiano
Neuroni input: 10
Rete Neurale MLP
Neuroni hidden: 25 (tanh)
Neuroni output: 1 (logistica)
Risultati
Applicazione: Determinazione delle classi di
concentrazione dei livelli di Biossido di Zolfo
Rilevanza
Parametri
Applicazioni: predizione pesticidi nei pozzi
domestici
•
•
•
•
•
•
•
Obiettivo: determinazione presenza di pesticidi in pozzi rurali ad uso
domestico
124 campioni da 124 pozzi domestici.
87 contengono uno o più pesticidi
6 parametri di input: Profondità del pozzo (WD), tempo di viaggio del
pesticida (PPT), periodo raccolta campioni (TSC), potenziale di
colatura del suolo (SLP), distanza del pozzo dal raccolto (WDC) e
WDML
Output: 1
Rete neurale: MLP con 6 input, 1 e 2 strati hidden con numero
variabile di neuroni e 1 neurone di output.
Algoritmo di apprendimento: Backpropagation
Predizione pesticidi nei pozzi domestici:
valutazione parametri
Per individuare i parametri più rilevanti per la corretta predizione sono
state testate differenti configurazioni di parametri di input.
Predizione pesticidi nei pozzi domestici: risultati
WD, SLP, TSC e PPT risultano i parametri di maggiore importanza.
Applicazioni: ulteriori temi
1. Comprendere quali sono i fattori meteorologici (velocità del vento,
ecc.) e i gli elementi o composti chimici presenti nell’atmosfera e
che maggiormente influenzano la presenza ed il mantenimento,
sempre in atmosfera, di uno specifico inquinante.
2. Uso delle reti neurali MLP come strumento per localizzare la
sorgente e la durata di processi contaminativi in falde acquifere
sotterranee sotto l’ipotesi di falda acquifera inquinata da una singola
sorgente inquinante.
3. Sistema di monitoraggio della biomassa vegetale basato su uno
strumento ad ultrasuoni. L'applicazione neurale consiste nella stima
del peso delle piante presenti in una piccola area (circa 0,25 m2)
disponendo del segnale ultrasonico riflesso.
Conclusioni
•
Le Reti Neurali, ed in generale, i modelli di machine learning,
costituiscono modelli matematici adattivi di estrema potenza e
flessibilità che possono essere naturalmente integrati in un
qualsivoglia sistema di supporto alle decisioni.
•
Altri settori delle scienze (Astronomia, Fisica, Genetica, Medicina,
ecc.) ne fanno un “uso massiccio”.
•
Non è necessario formulare complessi modelli matematici (sistemi
di equazioni differenziali ecc.) per la determinazione di possibili
soluzioni analitiche.
•
Le soluzioni si determinano a partire dai dati.
•
E’ necessaria l’interazione tra il “modellista” e gli esperti del dominio
di applicazione, per far fronte alla messa a punto del modello
prescelto.
Bibliografia
•
•
•
•
•
•
C.M. Bishop, Neural Networks for Pattern Recognition, Oxford University
Press, 1995
S. Haykin, Neural Networks- A comprehensive Foundation, Prentice Hall,
2° Edition, 1999
B. Cannas, A. Fanni, M. Pintus, G. M. Sechi, “Neural networks models to
forecast hydrological risk,” Int. Joint Conf. On Neural Networks, IJCNN
2002, May 12-17, 2002 Honolulu, Hawaii, pp. 423-426.
M. Andretta, A. Eleuteri et al., Neural Networks for Sulphur Dioxide Ground
Level Concentrations Forecasting, Neural Computing and Applications,
Vol. 9, pp. 93-100, 2000
G. Acciani, E. Chiarantoni, G. Fornarelli, S. Vergura, A feature extraction
unsupervised neural network for an environmental data set, Neural
Networks, 16, pp. 427-436, 2003.
G.B. Sahoo, C. Ray, H.F. Wade, Pesticide prediction in ground water in
North Carolina domestic wells using artificial neural networks, Ecological
Modelling, 183, pp. 29-46, 2005