Self Organizing Maps per l'analisi di dati multidimesionali - Danilo Di Stefano Dip. Ingegneria Meccanica Universit'a di Trieste 1 maggio 2006

Pagina creata da Lucia Silvestri
 
CONTINUA A LEGGERE
Self Organizing Maps per l'analisi di dati multidimesionali - Danilo Di Stefano Dip. Ingegneria Meccanica Universit'a di Trieste 1 maggio 2006
Self Organizing Maps per l’analisi di
        dati multidimesionali

              Danilo Di Stefano

          Dip. Ingegneria Meccanica
             Università di Trieste

               1 maggio 2006
Self Organizing Maps per l'analisi di dati multidimesionali - Danilo Di Stefano Dip. Ingegneria Meccanica Universit'a 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