Introduzione alle reti neurali - home-it ... Reti Neurali • Con il termine rete neurale, si...
date post
21-Feb-2020Category
Documents
view
2download
0
Embed Size (px)
Transcript of Introduzione alle reti neurali - home-it ... Reti Neurali • Con il termine rete neurale, si...
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
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
Parametri Target
(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)
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 co