Self Organizing Maps per l'analisi di dati multidimesionali - Danilo Di Stefano Dip. Ingegneria Meccanica Universit'a di Trieste 1 maggio 2006
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
Self Organizing Maps per l’analisi di dati multidimesionali Danilo Di Stefano Dip. Ingegneria Meccanica Università di Trieste 1 maggio 2006
1 Introduzione Nell’ultimo decennio la dimensione dei database di interesse sia commerciale che ac- cademico è notevolmente aumentata. Estrarre informazioni utili dai dati contenutivi può essere difficile e costoso se fatto manualmente, o anche impossibile se la com- plessità del database supera determinati limiti in termini di quantità di dati e nume- ro di variabili. Pertanto, molta attività di ricerca è dedicata allo studio di metodi automatizzati che permettano di trovare relazioni e regolarità all’interno dei dati. Le Reti Neurali sono tra i principali metodi utilizzati a tale scopo. Ispirate inizial- mente dagli sviluppi della ricerca biomedica con l’obiettivo di simulare le strutture neuronali del cervello umano, esse costituiscono oggi una vastissima classe di algorit- mi utilizzati come approssimatori di funzione, come classificatori e come strumenti di previsione in settori come meteorologia, finanza, tutela ambientale. Tra di esse, le Self Organizing Maps sono tra le più utilizzate. Proposte per la prima volta da Teuvo Kohonen nel 1982 [1], prendono spunto dalla capacità del cer- vello umano di organizzare in maniera topografica gli stimoli sensoriali, in modo tale che un determinato tipo di stimolo venga processato in zone specifiche della corteccia cerebrale. Gli algoritmi che tentano di riprodurre questa caratteristica vengono detti auto-organizzanti e le SOM ne sono l’esempio principale. Esse sono un efficace stru- mento sia per la visualizzazione di dati multidimensionali che per l’individuazione di gruppi di dati simili tra loro senza che sia necessario conoscere a priori il numero ed il tipo di classi effettivamente presenti (clustering non supervisionato). Le SOM hanno trovato utile applicazione in discipline diverse, al punto da essere, tra gli algoritmi generalmente classificati come parte del soft computing, quello che ha raccolto il maggior numero di citazioni in letteratura [2]. L’algoritmo, operando una regressione vettoriale non lineare a topologia ordinata, permette di proiettare dati a molte dimensioni su un piano bidimensionale, generalmente a pianta esagonale, in modo tale che dati vicini nello spazio originale siano riportati in zone contigue anche in questo piano. Ne risulta quindi una vera e propria mappa dei dati. Segue una schematica descrizione dell’algoritmo. 3
4
2 Descrizione dell’algoritmo Sia Xj = (x1 , x2 , ..., xd ) un dato in uno spazio d -dimensionale, con j=1,...,N. L’algoritmo: 1. Crea una griglia con i nodi (i=1,...,k ). A ciascun nodo vengono assegnati due sistemi di coordinate: uno nello spazio d -dimensionale di input Wi = (W1 , W2 , ..., Wd ), detti vettori di riferimento, l’altro nel sistema di riferimento bidimensionale r della griglia. 2. Inizializza i vettori di riferimento su ciascun nodo: Wi (t0 ); ai vettori di rife- rimento viene quindi assegnata una dipendenza temporale discreta; ogni ciclo dell’algoritmo incrementa la variabile temporale t. L’inizializzazione può essere effettuata con numeri casuali (in questo caso, però, a parità di altri fattori, la convergenza richiede un numero di cicli maggiore) oppure con metodi che per- mettano di partire da una situazione quanto più possibile simile a quella dei dati (Principal Component Analysis). 3. Definisce i parametri iniziali della neighborhood function α(t)h(|ri − rc | /σ(t), t) (2.1) che regola l’aggiornamento a cui vanno soggetti i vettori di riferimento. α(t) è la velocità di apprendimento e regola l’entità dell’aggiornamento: decresce linear- mente o esponenzialmente con la variabile t. σ(t) è la funzione di prossimità e determina quali nodi sono coinvolti nell’aggiornamento. Una tipica forma funzionale per h è la gaussiana: exp(− |ri − rc |2 ) h(r, t) = (2.2) 2σ(t)2 4. (Ciclo) Seleziona uno dei dati di input Xj Calcola le distanze euclidee tra il vettore di input Xj e tutti i vettori di riferimento Wi ; seleziona il vettore W(c) più simile (più vicino) a Xj Calcola il valore attuale della neighborhood function e aggiorna i vettori di ri- ferimento dei nodi topologicamente vicini nella mappa, con entità proporzionale alla loro distanza |ri − rc | dal nodo W(c) 5
2 Descrizione dell’algoritmo SepalL SepalW PetalL PetalW Tipo 4.6 3.6 1.0 0.2 Setosa 5.1 3.3 1.7 0.5 Setosa 6.5 2.8 4.6 1.5 Versicolor 4.9 2.5 4.5 1.7 Virginica 6.6 2.9 4.6 1.3 Versicolor Tabella 2.1: Schema del dataset Iris. Nell’ultima colonna è riportata la classificazione in uno dei tre tipi conosciuti: Setosa, Virginica, Versicolor. Comprende 150 misurazioni per ciascuno dei tre tipi. Calcola l’errore di quantizzazione Eq , che indica mediamente quanto i vet- tori di riferimento sono vicini ai dati iniziali; è calcolato come la radice quadrata della distanza media tra ciascun dato ed il rispettivo W(c) . Eq è utilizzato come parametro per valutare la qualità della SOM. 1 X N 1/2 Eq = ( |Xi − Wci |) (2.3) N i=1 Criterio di terminazione: numero di cicli desiderato oppure valore stabile di Eq L’algoritmo utilizza quindi un insieme di vettori-sonda (i vettori di riferimento) e, con procedimento iterativo, li porta a convergere sui dati nello spazio d-dimensionale; contemporaneamente, assegna a ciascuno di questi vettori-sonda una posizione in una griglia bidimensionale che può essere utilizzata come una sorta di display dei dati stessi, poiché il procedimento è tale per cui viene rispettata la topologia originale. Una possibile variante a questo algoritmo, che è la versione base di una SOM, è l’algoritmo SOM-batch, in cui l’aggiornamento dei vettori di riferimento viene fatto solo dopo che tutti i dati sono stati presentati e tutte le distanze sono state calcolate. Il pregio principale della variante batch è la maggior velocità di convergenza, a scapito però della capacità di rispettare la topologia originale dei dati [3]. Di seguito viene presentato un esempio di utilizzo delle Self Organizing Maps sul dataset Iris [4], che raccoglie 150 misurazioni di quattro caratteristiche di questo fiore: la lunghezza e la larghezza del petalo, la lunghezza e la larghezza del sepalo. Si tratta di un caso puramente esplicativo, un problema a sole quattro dimensioni, utile però a chiarire due aspetti fondamentali dell’utilizzo delle SOM: possibilità di raggruppare dati simili tra loro e disponibilità di una visualizzazione efficace che permette di sviluppare considerazioni su correlazioni tra variabili. Uno schema del dataset Iris è riportato in tabella 2.1. 6
Component 1 Component 2 Component 3 Component 4 Figura 2.1: In ciascuno dei quattro display (uno per ciascuna variabile) vengono rappresen- tati i valori numerici delle rispettive caratteristiche secondo una scala graduata (rosso corrisponde a valori alti, blu a valori bassi.). Component 1: lunghezza del petalo; Component 2: larghezza del petalo; Component 3: lunghezza del sepalo; Component 4: larghezza del sepalo. L’algoritmo SOM applicato al dataset Iris produce i risultati illustrati in figura 2.1. Si possono trarre alcune conclusioni: le variabili 3 e 4 hanno una mappa molto simile, quindi una delle due è ridondante nella descrizione del problema e può essere eliminata; le variabili 1 e 3 hanno una forte correlazione locale nella zona dei valori bassi, quindi per piccole lunghezze del petalo si hanno sempre piccole dimensioni del sepalo. Oltre a considerazioni che in questo caso particolare possono risultare banali, risulta chiara l’utilità di un tale approccio nel caso di dataset molto più complessi. Considerazioni sul raggruppamento di dati simili possono essere fatte in base alle mappe riportate in figura 2.2. Si noti come dati dello stesso tipo si vadano a rag- gruppare in zone contigue nella mappa; si noti altresı̀ come questo sia avvenuto senza alcuna indicazione o supervisione esterna. La figura 2.2 non fornisce però informazioni su quanto siano effettivamente distanti tra loro i dati nello spazio originale d -dimensionale; la U-Matrix [5] è utile in tal senso ed è rappresentata in figura 2.3. Da qui si vede come la specie Setosa sia molto più diversa dalle altre di quanto non lo siano tra loro Virginica e Versicolor, in quanto c’è una chiara separazione tra la zona dove sono riportate le Setosa ed il resto della mappa. Le Self Organizing Maps possono anche essere utilizzate per classificare dati nuo- 7
2 Descrizione dell’algoritmo Figura 2.2: Ciascun dato viene etichettato con il suo tipo di appartenenza e rappresentato sull’unità della mappa che meglio lo rappresenta. Setosa = 1, Versicolor = 2, Virginica = 3. Figura 2.3: Nella U-Matrix su ciascun nodo della mappa viene riportato il valore medio della distanza tra il suo vettore di riferimento ed i sei vettori primi vicini. La scala dei colori riproduce l’andamento delle carte geografiche: valori minimi sono rappresentati dal blu, valori massimi dal bianco. I dati sono rappresentati secondo un codice colore a seconda della classe di appartenenza: Setosa in giallo, Versicolor in blu, Virginica in violetto. 8
Figura 2.4: La nuova misurazione viene classificata come Setosa (in giallo nell’immagine) vi, nel senso che non sono stati passati all’algoritmo nella fase di apprendimento; si supponga, riferendosi al dataset Iris, di voler classificare una nuova misurazione delle caratteristiche in una delle tre tipologie di iris: avendo a disposizione la SOM, è suf- ficiente determinare il vettore Wi più simile al nuovo dato e posizionare quest’ultimo sul relativo nodo della mappa (vedi figura 2.4) 9
10
3 Esempi di applicazione Di seguito vengono presentati due esempi di applicazione delle Self Organizing Maps: la prima ha valore puramente esplicativo, mentre l’altra rappresenta un’applicazione di interesse nel settore medico. 3.1 Dataset Artificiale I dati sono coordinate tridimensionali di punti costruite in modo tale da raggrupparsi in sette zone diverse dello spazio. Di seguito (figura 3.1) è riportata la rispettiva U-matrix: le diverse classi di appartenenza dei dati sono chiaramente separate l’una dall’altra in sette zone diverse della mappa. Si noti come le SOM rispettino fedelmente la topologia dei dati. 3.2 Diagnosi medica Il database analizzato raccoglie i dati di pazienti sottoposti a visita cardiologica e diagnosticati dal medico come sani o affetti da patologia in forma più o meno grave e conseguentemente classificati in cinque classi di gravità. Per semplicità, qui sono riportate solo quattro delle tredici variabili effettivamente utilizzate nel calcolo della SOM: età, sesso, livello di colesterolo, pressione. Considerazioni sulle mappe di figura 3.2: • i pazienti affetti dalle forme più gravi corrispondono per la maggior parte al sesso maschile; questo può indicare una maggior predisposizione degli uomini per questa patologia. • lo stesso dicasi per i pazienti in età avanzata. • un alto livello di colesterolo è spesso associato alle forme più gravi, ma in maniera meno evidente rispetto al fattore età. • valori alti di pressione sono indice fortemente indicativo di patologia in forma grave. 11
3 Esempi di applicazione Figura 3.1: Si noti come i punti appartenenti a ciascun cluster siano mappati in zone distinte della griglia e come esistano marcati confini tra di esse. Age Sex Cholest Pressure Figura 3.2: Selezione delle variabili per la diagnosi di patologia cardiaca (valori alti in rosso, valori bassi in blu, maschi in rosso, femmine in blu). Le cinque classi di gravità sono indicate con un codice colore: sano (bianco), affetto da patologia (violetto), seriamente affetto da patologia (verde). Altri colori rappresentano situazioni intermedie. 12
Bibliografia [1] Kohonen, T., Biological Cybernetics, 1982, 69, 43–59. [2] Ojia, M.; Kaski, M. and Kohonen, T., Neural Computing Surveys, 2002, 3, 1–156. [3] Fort, J. C.; Letremy, P. and Cottrell, M. In Proceedings of ESANN, 2001. [4] Fisher, R. A., Annals of Eugenetics, 1936. [5] Ultsch, A. and Siemon, H. P. In Proc. INNC of Int. Neural Network Conf, 1990. 13
Puoi anche leggere