Introduzione alle reti neurali - home-it...Reti Neurali • Con il termine rete neurale, si indicano...

Post on 21-Feb-2020

6 views 0 download

Transcript of Introduzione alle reti neurali - home-it...Reti Neurali • Con il termine rete neurale, si indicano...

Introduzione alle Reti Neurali ed applicazioni in campo

ambientale

Antonino StaianoDipartimento di Matematica ed

Informatica,Università di Salerno

eDipartimento 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

DATI

CONOSCENZA DEL

DOMINIO

APPLICATIVO

per ottenere

ottenuti una volta per tutte acquisiti interagendo

direttamente con l’ambiente

che vengono

usiamo i

incompleta imprecisa (rumore,

incertezza, errori)

NUOVA

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

L’obiettivo è quello di predire il valore

in uscita sulla base di valori in

ingresso (classificazione, regressione).

Non c’è alcun valore da predire,

l’obiettivo è quello di descrivere le

associazioni e le relazioni mediante

un insieme di valori in ingresso

(clustering)

Tipologie di

apprendimento

Supervisonato Non Supervisonato

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

ParametriTarget

(Label)Oggetti

(fiori Iris)

Esempio: dati con misura di uscita quantitativa

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

… … … …

Parametri Target

(val. continuo)Oggetti

(auto)

MPGAcc. CV

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.

Esempio: dati delle specifiche misure atmosferiche di oggi e

ieri, vogliamo predire il livello di ozono domani;

Classificazione: quando prediciamo output qualitativi.

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

xn

Somma Soglia

w1

w2

wn

. . .

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

xn

Somma Soglia

w1

w2

wn

. . .

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:

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)

x2

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ù altogrado 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

Neuroni hidden: 25 (tanh)

Neuroni output: 1 (logistica)

Rete Neurale MLP

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