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 (yRd). 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 ij, 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, 0i3 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