CLUSTERING DI DOCUMENTI XML BASATO SU SELF-ORGANIZING MAPS

Pagina creata da Nicolo' Vitiello
 
CONTINUA A LEGGERE
CLUSTERING DI DOCUMENTI XML BASATO SU SELF-ORGANIZING MAPS
UNIVERSITA’ DEGLI STUDI DI SIENA

              FACOLTA’ DI INGEGNERIA

   Corso di Laurea Specialistica In Ingegneria Informatica

     CLUSTERING DI DOCUMENTI XML
    BASATO SU SELF-ORGANIZING MAPS

Relatore:
Dott. Franco Scarselli

Correlatore:
Dr. Markus Hagenbuchner

                                        Tesi di Laurea di:
                                        Francesca Trentini

               Anno Accademico 2004 – 2005
CLUSTERING DI DOCUMENTI XML BASATO SU SELF-ORGANIZING MAPS
Indice

1 Introduzione                                                                                                       2

2 Self   Organizing Maps                                                                                            12
  2.1    Mappe del cervello . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
  2.2    Apprendimento Competitivo      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
  2.3    SOM Standard . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16
  2.4    Una mappa di vettori binari    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
  2.5    Aspetti multipli di una SOM    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   22

3 Algoritmi ricorsivi per l’elaborazione di strutture grafiche                                                      24
  3.1 Reti neurali ricorsive . . . . . . . . . . . . . . . . . . . . . .                                        .   26
  3.2 Dalle reti ricorsive alle SOM per strutture . . . . . . . . . .                                           .   29
  3.3 Apprendimento non supervisionato con SOM-SD . . . . . . .                                                 .   29
  3.4 Un Modello di Mnode . . . . . . . . . . . . . . . . . . . . . .                                           .   32
  3.5 Algoritmo di apprendimento per Mnode . . . . . . . . . . . .                                              .   34
  3.6 Apprendimento non supervisionato con Contextual-SOM . .                                                   .   38

4 Risultati                                                                                                         40
  4.1 Il Data Set . . . . . . . . . . . . . . . . . . . . . . . . .                                 .   .   .   .   40
  4.2 Introduzione agli approcci basati su feature . . . . . . .                                    .   .   .   .   41
  4.3 Risultati K-Means . . . . . . . . . . . . . . . . . . . .                                     .   .   .   .   42
  4.4 Misure delle Performance per algoritmi SOM-like . . .                                         .   .   .   .   44
  4.5 Risultati Standard-SOM . . . . . . . . . . . . . . . . .                                      .   .   .   .   49
  4.6 Estrazione di informazioni dalla collezione di documenti                                      .   .   .   .   54
  4.7 Risultati SOM-SD . . . . . . . . . . . . . . . . . . . .                                      .   .   .   .   64
  4.8 Risultati Contextual-SOM . . . . . . . . . . . . . . . .                                      .   .   .   .   76

5 Conclusioni e Sviluppi Futuri                                                                                     81

Bibliografia                                                                                                        85

                                      1
CLUSTERING DI DOCUMENTI XML BASATO SU SELF-ORGANIZING MAPS
Capitolo 1

Introduzione

Le radici dell’Artificial Life possono essere rinvenute negli automi cellulari di
John Von Neumann e Arthur W. Burks. Nelle parole di Burks [33], che fu il
continuatore della sua opera, Von Neuman si chiedeva:
     Quale tipo di organizzazione logica è sufficiente ad un automa per ripro-
durre se stesso? Questa domanda non è precisa ed ammette sia una risposta
banale che una interessante. Von Neuman aveva in mente il fenomeno natu-
rale dell’autoriproduzione quando la pose, ma non tentò di simulare l’autori-
produzione di un sistema naturale a livello genetico e biochimico. Egli voleva
astrarre dal problema naturale dell’autoriproduzione la sua forma logica.
     Il formalismo che permise la realizzazione di un tale sistema, fu proposto
da un suo collega, Stan Ulam, con il nome di Automa Cellulare [34]. Un
automa cellulare è semplicemente un sistema che può avere un numero finito
di stati ed il cui stato è determinato dallo stato di altri automi che lo circon-
dano. Il comportamento degli automi cellulari diventa interessante proprio
perché formano una rete di interazioni, il cui comportamento globale, nel
tempo, non è prevedibile; anche se le leggi che governano i passaggi di stato
per ogni singolo automa sono semplici e ben determinate. Lo stato di ogni
automa di questa rete, in ogni istante di tempo, è determinato dallo stato
posseduto, nell’istante precedente, dagli automi che lo circondano. Con gli
automi cellulari, Von Neumann impostò un sistema capace di autoreplicar-
si e stabilı̀ che, qualunque sistema capace di fare ciò, doveva fare uso delle
informazioni contenute nella sua descrizione in due modi fondamentalmente
differenti: sia interpretando, che non interpretando. Interpretate le informa-
zioni dovevano tradursi in azioni da compiere per realizzare il replicante, non
interpretate dovevano essere soltanto copiate, perché sarebbero state l’analo-
ga descrizione per il replicante. Quando, in seguito, si scoprı̀ la struttura ed
il funzionamento del DNA emerse che erano proprio i modi in cui la cellula fa
uso delle informazioni contenute in esso durante i suoi processi di trascrizione

                                        2
CLUSTERING DI DOCUMENTI XML BASATO SU SELF-ORGANIZING MAPS
e traduzione da una parte e replicazione dall’altra.
     Fino agli anni ottanta possiamo dire che l’unico filone di ricerca sull’ar-
tificial life è stato questo degli automi cellulari. In seguito si è avuto quel-
l’interesse convergente in questo campo da vari ambiti. Proprio per unificare
gli sforzi e fare il punto della situazione, nel settembre del 1987 si è tenuta
a Santa Fe la prima conferenza sull’Artificial Life: International Conference
on the Simulation and Synthesis of Living Systems (che è considerata l’atto
di nascita ufficiale di questa nuova scienza), organizzata da Chris Langton
del Santa Fe Institute. Ad essa parteciparono non solo scienziati che, con
vari approcci, lavoravano alla costruzione di robot, o scienziati cognitivi, ma
anche filosofi, chimici e biologi. In seguito si è tentato di definire meglio le
competenze dell’ Artificial Life e di formalizzarne i confini e gli ambiti. Si
sono avute altre conferenze negli Stati Uniti ed in Europa, oltre a sempre più
frequenti pubblicazioni.
     Oggi possiamo distinguere due grossi filoni che si intrecciano tra loro:
quello della robotica e quello delle simulazioni.
     Un altro tipo di distinzione che si può fare, che è in realtà molto più pro-
fonda e destinata ad approfondirsi, è tra gli approcci che potremmo definire
top-down, quali quelli della tradizione cognitiva o dell’Intelligenza Artificiale,
e quelli bottom-up nel quale troviamo connessionismo (in particolare il filone
degli agenti situati) e automi cellulari.
     Vi sono, ovviamente, anche molti tentativi di integrare le due strategie.
Riguardo alla prima distinzione Rodney Brooks (che è uno dei più autorevoli
ricercatore nel campo della robotica) insiste sulla difficoltà di trasportare ap-
prendimenti e tecniche dalle simulazioni al mondo reale [35], ma fa riferimento
soprattutto a ricerche che utilizzano il classico procedimento dell’Intelligenza
artificiale. Al contrario suggerisce tecniche che utilizzano gli algoritmi ge-
netici perché si abbiano apprendimenti trasferibili dal simulato al reale. Un
automa deve apprendere ad agire in un ambiente e, in linea di principio,
non fa molta differenza se questo ambiente è reale o simulato. L’ambiente
simulato, però, non deve essere stato progettato in modo da rendere il più
semplice possibile la vita all’automa. Questa semplificazione spesso finisce
per rendere ancora più difficile operare in tale ambiente. Ciò è legato al
fatto che quello che è riportato dai sensori, nella vita reale, è sempre molto
incerto. Quell’imprecisione che, a prima vista, sembrerebbe un problema, in
realtà porta ad apprendimenti più flessibili in partenza; fa si che non si crei-
no conflitti di precedenza artificiali come in alcune simulazioni e soprattutto
porta in maniera più naturale a prendere il punto di vista del robot, invece
di fornirgli la propria visione dell’ambiente. Questa è appunto la posizione
fondamentale del filone che va sotto il nome di agenti situati.
     Per quanto riguarda l’apprendimento, possiamo distinguere un apprendi-

                                         3
CLUSTERING DI DOCUMENTI XML BASATO SU SELF-ORGANIZING MAPS
mento genetico ed uno individuale, proprio come negli esseri viventi reali.
    In genere oggi si tende ad utilizzare o l’uno o l’altro, ma con un uso
integrato di entrambe le forme di apprendimento si potrà fare, tra l’altro,
ulteriore chiarezza su una questione che nel passato ha riempito molte pagi-
ne: quanta parte del comportamento di un organismo è attribuibile al suo
patrimonio genetico e quanto all’apprendimento nella sua vita. La questione
ormai ha raggiunto un sufficiente grado di chiarezza con il riconoscimento
del contributo integrato di entrambe le componenti, ma si ripropone ogni
volta la proporzione e, soprattutto, la natura delle predisposizioni genetiche
quando si parla di comportamenti o di attività mentali.
    Nelle simulazioni che si fanno in questo campo, si utilizzano in genere al-
ternativamente strategie che possiamo considerare ispirate all’apprendimento
in vita (tramite backpropagation principalmente, ma anche con l’apprendi-
mento competitivo, con la regola di Hopfield, o comunque apprendimenti
basati sulla modifica dei valori delle connessioni tra neuroni); oppure all’ap-
prendimento su base genetica, che si compie di generazione in generazione
(algoritmi genetici).
    Ultimamente si sta diffondendo enormemente soprattutto l’uso di que-
sta ultima strategia. Ciò è logico, se si considera, al di là di un’analisi più
circostanziata, che, in questa fase iniziale, potrebbe essere una buona stra-
tegia, quella di lasciare sviluppare le specie più adatte ai vari scopi che si
propongono i diversi ricercatori. E’ comunque auspicabile che si arrivi presto
all’utilizzo complementare di ambedue la strategie come fa notare [36]:
    ”vi è un intreccio costante fin dalla embriogenesi del sistema nervoso tra
conoscenze provenienti dall’esterno e conoscenze contenute nel codice

genetico, e non si può ignorare il ruolo di nessuna di queste due fonti se si
vuole capire in che modo si sviluppa, funziona, apprende e raggiunga certe
prestazioni il cervello di un certo individuo o di una certa specie.”
    Gli algoritmi genetici consistono fondamentalmente in varie tecniche, che
portano alla selezione degli algoritmi che danno (in base ad un determina-
to criterio) i risultati migliori ed alla ricombinazione casuale di alcune loro
porzioni e/o alla mutazione di alcune loro parti.
    In genere si parte con una certa popolazione di automi che hanno leggere
differenze tra loro e si fanno agire in un ambiente per un certo numero di cicli.
In seguito quelli che si saranno comportati meglio avranno la possibilità di
riprodursi. Cioè si prenderà, ad esempio, il venti per cento della popolazione
che si è comportato nel modo migliore e da questi, con mutazioni casuali
e ricombinazioni, si otterrà anche il restante ottanta per cento di automi;
con questa nuova popolazione si farà un altra sessione di cicli, al termine
dei quali, si ripeterà lo stesso procedimento. All’interno di questo schema

                                        4
generale, le effettive realizzazioni degli algoritmi possono essere molto diverse:
da programmi in vari linguaggi, a valori di connessioni di reti neurali.
    L’apprendimento ontogenetico, invece, può utilizzare varie strategie per
la modifica delle connessioni, sia con un supervisore che senza.
    Nell’apprendimento supervisionato, lo sperimentatore (o una memoria
di tipo statico), in caso di risposta diversa da quella ritenuta più opportu-
na, fornisce la risposta desiderata, mentre nelle strategie di apprendimento
non supervisionato, è la rete stessa che propone le risposte e modifica le
connessioni.
    Anche se abbiamo diversi tipi di reti che possono apprendere (che si ri-
fanno a tutte le principali teorie dell’apprendimento comportamentiste: dalla
legge dell’effetto di Thorndike, a quella della contiguità temporale di Gu-
thrie), quelle che effettivamente si sono rivelate adatte, a far apprendere
ad un automa senza supervisore un certo compito, sono quelle basate sulla
backpropagation e sull’apprendimento competitivo.
    Bisogna considerare che, in questi primi tentativi di realizzare automi in
grado di modificare il proprio comportamento in modo da ottimizzare un
certo risultato, l’importanza che hanno i metodi di apprendimento effettiva-
mente utilizzati è molto relativa. Infatti possiamo ottenere risultati piuttosto
simili, sia utilizzando una strategia filogenetica, come gli algoritmi genetici,
che una ontogenetica, come la modifica delle connessioni in base al risultato
delle azioni. Quello che effettivamente si sta sperimentando, non sono tanto
queste teorie parziali dall’apprendimento, quanto proprio la strategia globale
di organizzazione del proprio comportamento da parte di questi sistemi.
    Queste limitazioni vengono però superate se si aggiunge almeno un altro
strato tra quello di ingresso e quello di uscita. Una rete a tre o più strati
può classificare in qualunque modo si voglia, si dimostra infatti essere un
interpolatore universale. Ma una regola per la modifica dei coefficienti di
connessione, in questi casi in cui gli strati sono più di due, è stata propo-
sta solo nel 1986 in [37] da Rumelhart, Hinton e Williams. La regola è la
celeberrima error backpropagation, consistente, appunto, nella propagazione
dell’errore a ritroso. Vengono prima modificati i coefficienti delle connessioni
tra il penultimo e l’ultimo strato e poi si risale, di strato in strato, fino a
modificare quelli delle connessioni tra il primo ed il secondo strato.
    Data la possibilità di far apprendere ad una rete a tre o più strati qua-
lunque tipo di associazione, o criterio di categorizzazione, oggi reti di questo
tipo sono molto usate nei campi più disparati.
    Un difetto di queste reti è l’enorme mole di calcoli che devono essere fatti,
in fase di apprendimento, dopo la presentazione di ogni stimolo, prima che
la rete converga verso un valore dei coefficienti relativamente definitivo. Tra
l’altro non è detto che questi valori siano i migliori possibili in assoluto, po-

                                        5
trebbe trattarsi, infatti, di un minimo locale. In altre parole la regola della
backpropagation è fatta in modo da far diminuire, dopo ogni iterazione, la
differenza che, a livello di connessioni, si ha tra l’uscita prodotta e quella
voluta; ma ciò non garantisce che si ottengano i valori migliori in assoluto.
Questo progressivo approssimarsi a dei valori delle connessioni che ottimizza-
no l’errore, potrebbero portare a delle connessioni che non danno il migliore
compromesso possibile in modo da ottenere, in tutti i casi memorizzati fino
a quel momento, la migliore combinazione possibile di risposte.
    Questo pericolo è particolarmente concreto nel caso di utilizzo di que-
ste reti nel modo più naturale, detto on line, cioè quando le modifiche alle
connessioni sono apportate dopo ogni iterazione. L’altro metodo (batch) pre-
vede, invece, il solo calcolo delle variazioni dei coefficienti, finché non è stato
presentato l’intero set di rappresentazioni che la rete deve apprendere, è solo
a questo punto che le connessioni vengono effettivamente modificate.
    Sono state proposte anche delle modifiche alla regola di Rumelhart, Hin-
ton e Williams che permettono una convergenza più veloce, con un minor
numero di iterazioni, come la quickpropagation [38], ma non è ancora stato
risolto il problema di evitare di cadere nei minimi locali.
    Nello stesso anno in cui è stata trovata una regola di apprendimento per
le reti a più strati è stata pubblicata anche una raccolta di articoli sulle
reti neurali [39]. In essa è presentata come un fatto avvenuto la nascita
di un nuovo paradigma di ricerca basato sulle possibilità dell’elaborazione
subsimbolica e parallela.
    Sia per la pubblicazione di questa antologia che per la backpropagation,
dopo il 1986 c’è stata una grande ripresa degli studi e pubblicazioni sulle
reti neurali. Nello stesso tempo, si sono moltiplicate anche le utilizzazioni
pratiche delle reti (in particolare proprio della backpropagation). Esse si uti-
lizzano oggi nell’interpretazione di segnali radar e sonar, nel riconoscimento
della voce, nel riconoscimento della scrittura naturale, nella visione artificiale,
nella robotica, per risolvere vari problemi di ottimizzazione.
    Vi sono anche altre soluzioni, al problema di modificare le connessioni di
reti multistrato in modo tale che si abbia apprendimento. Tali reti utilizzano
vari tipi di apprendimento competitivo ed hanno appunto in comune il fatto
di aumentare i valori dei coefficienti di connessione eccitatori associati alle
linee che, dallo strato immediatamente inferiore, inviano segnali alle unità che
hanno vinto la competizione [40]. Queste reti hanno connessioni eccitatorie
con le unità dello strato superiore e connessioni di tipo inibitorio tra unità
che appartengono allo stesso strato.
    Le più utilizzate realizzazioni di questo principio, prevedono uno dei
seguenti criteri per la propagazione del segnale:

                                         6
1. La strategia con più vincitori. Si fa una media delle somme pesate
      degli ingressi ad ogni neurone ed emettono un’uscita solo quelle che in
      cui essa è superiore alla media.

   2. La strategia Winner Takes All. In questo caso emette un’uscita
      solo l’unità che ha la più alta somma pesata degli ingressi.

   3. Le strategie a bolla. In queste si immaginano i neuroni disposti su
      una griglia, in modo tale che ci siano vicinanze e distanze tra i vari
      elementi. Le unità che si considerano vincenti sono tutte quelle che si
      trovano in un opportuno intorno spaziale di quella che ha ottenuto la
      più alta somma pesata degli ingressi. La prima è stata proposta da
      Kohonen, ma in seguito egli stesso ed altri ne hanno proposte molte
      diverse versioni.

In seguito vengono modificati i coefficienti delle unità vincitrici o, in alcuni
casi, anche di quelle che non hanno vinto la competizione.
    Parallelamente a queste linee di ricerca, lo studio delle possibilità delle
reti neurali, si è sviluppato in altre direzioni. Oltre a reti a strati, in cui uno
strato ha funzioni di input ed un altro di output, ce ne sono molti altri tipi
composti da un solo strato ed altri aventi architetture più complesse.
    Tradizionalmente quando si parla di apprendimento automatico lo si in-
tende riferito a dati rappresentati in un qualche spazio vettoriale, tuttavia
in un ampio numero di contesti applicativi i problemi vengono modellati in
maniera molto più naturale se possiamo a far ricorso a strutture grafiche.
    L’interazione tra milioni di molecole che rende possibile la vita di un or-
ganismo, le relazioni tra individui che formano la società, le fluttuazioni dei
mercati, che generano o distruggono ricchezza nell’arco di minuti, la diffu-
sione delle malattie in una comunità, l’architettura delle reti di calcolatori...
potremmo continuare per pagine e pagine elencando innumerevoli esempi di
problemi apparentemente scorrelati, che sono oggetto di studio da parte di
discipline tanto diverse tra di loro; tuttavia riflettendo con maggiore atten-
zione si può cogliere una caratteristica che accomuna scenari tanto diversi: la
possibilità di modellare tale problemi in termini di grafi. Naturalmente, da
caso a caso, la natura dei nodi, degli archi e la semantica delle relazioni tra
oggetti verrà adattata al contesto specifico in cui ci troviamo. Per esempio
nel grafo delle relazioni sociali gli individui potrebbero essere rappresentati
come nodi tra i cui si instaura una connessione se due persone si conoscono
oppure, volendo modellare la rete elettrica di una nazione, avremo una strut-
tura i cui nodi saranno generatori, trasformatori e sottostazioni connessi da
archi qualora esista fisicamente una linea di trasmissione ad alto voltaggio

                                         7
che li congiunge. Pescando alcuni dei tanti possibili esempi di sistemi che
possono essere facilmente pensati in termini di grafo possiamo citare:

   • il Web (con le pagine e gli hyperlink);

   • Internet (con computer, sottoreti e router collegati tra loro);

   • la rete metabolica all’interno di una cellula;

   • le reti formate dalle relazioni economiche e dalle operazioni finanziarie;

   • la rete formata dagli articoli scientifici collegati tra di loro dalle cita-
     zioni;

   • la rete sottostante il linguaggio (dove i nodi sono parole e i collegamenti
     le co-occorrenze significative nel testo o le relazioni semantiche);

   • la modalità di diffusione dell’HIV tra soggetti;

   • la rete sociale costituita dagli attori e dai film in cui hanno recitato;

   • la rete delle rotte aeree commerciali.

   • le catene alimentari.

     Questi ed altri temi sono stati oggetto di studio da parte di numerosi grup-
pi di ricerca indipendenti costituiti in particolare da chimici, fisici, informati-
ci, sociologi, biologi, medici, economisti che, lavorando ognuno all’interno del
proprio specifico campo, hanno scoperto come i modelli grafici adottati per
studiare problemi tanto diversi presentassero proprietà sorprendentemente
affini.
     Disporre di strumenti adeguati al fine di fare apprendimento automatico
su domini strutturati è stato l’obiettivo di gran parte della ricerca nel settore
a partire dai primi anni novanta. Inizialmente l’attenzione dei ricercatori
si è rivolta verso una particolare categoria di struttura grafica, ovvero la
sequenza. Nel caso di sequenze (o per meglio dire di serie storiche) i nodi
contengono i valori delle variabili considerate prese in un certo istante di tem-
po e gli archi, tipicamente diretti, colgono la relazione di causalità (definendo
successore e predecessore rispetto ad un riferimento temporale). In tempi più
recenti, l’attenzione si è spostata verso strutture grafiche propriamente dette,
in particolare alberi, che ben si adattavano a modellare relazioni gerarchiche
tra entità.
     Nella sua accezione più ampia, l’elaborazione adattiva di dati strutturati,
si è negli ultimi anni dotata di strumenti adeguati a modellare relazioni tra

                                        8
entità di natura anche non gerarchica. Dunque se eseguiamo attentamente gli
ultimi quindici anni di evoluzione di apprendimento automatico su strutture,
noteremo un progressivo aumento della complessità dei problemi trattati e
dei modelli adottati con conseguente rilassamento dei vincoli posti alle classi
dei modelli apprendibili. Vediamo passare davanti a noi prima le sequenze
temporali poi le varie categorie di alberi infine, ancora attraverso la rimozione
dei limiti imposti, classi sempre più generiche di grafi.
    La parte di storia in cui si inserisce anche il presente contributo è sta-
ta determinata dal contributo di ricercatori in diversi sottocampi affini tra
cui tanto per citarne alcuni in ordine sparso troviamo la predizione di serie
storiche, la inductive logic programming, e la computer vision, senza con-
tare il fondamentale apporto dovuto a ricercatori la cui formazione si può
inquadrare nell’ambito dello studio dei sistemi dinamici non lineari.
    Proprio da quest’ultimo settore ci arrivano tra il 1997 ed il 1998 i fon-
damentali lavori di Frasconi, Gori, Sperduti, e Starita ([25], [24]) sulle reti
neurali ricorsive.
    Nelle reti neurali ricorsive si associa un insieme di stati ai nodi del gra-
fo, a questo punto gli stati vengono dinamicamente aggiornati in base alle
relazioni topologiche esistenti tra nodi, infine le uscite della funzione verran-
no calcolate usando le codifiche memorizzate negli stati. Sfortunatamente le
reti ricorsive possono elaborare unicamente grafi diretti e aciclici e possono
applicarsi solo al problema focalizzato sul grafo, cioè τ (G, n) deve essere in
realtà indipendente da n.
    Nel 2005 sono usciti due articoli [44], [45] sono usciti due articoli in cui si
mostra come adattare le reti ricorsive per elaborare anche alcuni grafi ciclici
e per problemi focalizzati sui nodi, ma questo solo passando attraverso un
riprocessamento degli ingressi. Altri approcci al problema sono basati sulle
catene di Markov, come viene fatto nei lavori di Brin e Page [42] e Kleinberg
[43], in questo caso si calcola la firma caratteristica di ogni nodo del grafo
applicando iterativamente la matrice delle probabilità di transizione tra i
vari nodi fino ad arrivare a convergenza. Recentemente Gori, Hagenbuchner,
Scarselli e Tsoi hanno proposto un nuovo modello chiamato graph neural
network che combina ed estende sia l’approccio orientato alle reti ricorsive
che quello basato sulle catene di Markov. Il nuovo framework è molto più
generale e permette di apprendere funzioni τ (G, n) di qualunque tipo su
qualsiasi tipo di grafo (diretto, indiretto, ciclico...) senza effettuare alcun tipo
di pre-elaborazione sugli ingressi. Una graph neural network è caratterizzata
da due funzioni f e g, la funzione di transizione f viene utilizzata per calcolare
lo stato di un nodo del grafo in dipendenza da eventuali etichette associate
al nodo stesso e ai suoi diretti vicini e allo stato dei nodi vicini, mentre g
restituisce una uscita dipendente dallo stato del nodo a cui si applica e dalla

                                         9
sua etichetta. Affinchè l’uscita prodotta da g sia consistente occorre prima
iterare la funzione f finchè gli stati dei nodi non convergono ad un valore,
perchè questo sia possibile la f dovrà essere una contrazione (in tal caso il
teorema del punto fisso di Banach ci assicura che il sistema converge verso un
punto e che questo è unico). Sia f che g saranno funzioni con dei parametri
liberi che (potrebbero essere anche entrambi reti neurali) in modo che la
funzione τ (G, n) (che quindi dipende da f e da g) possa essere appresa da
esempi.
    A differenza di quel che è stato tradizionalmente fatto con le reti neurali
ricorsive, le graph neural network possono applicarsi a grafi reali che mo-
dellano reti complesse e possono presentare qualunque topologia. In questo
nuovo scenario ci troviamo a lasciare progressivamente un terreno in cui le
strutture trattate potevano essere considerate, con una buona approssima-
zione, dei random graph, e ci avventuriamo in un mondo in cui la regola
diventano i grafi scale-free ovvero di reti in cui, indipendentemente dalla
grandezza del grafo considerato, la distribuzione di probabilità dell’ordine di
ogni suo nodo si mantiene invariata e si può approssimare ad una power-law.
Dovrebbe apparire evidente come non sia affatto scontato che apprendere su
queste strutture sia analogo ad apprendere sui random graph, al momento
non esistono, che io sappia, studi sistematici sull’argomento. Ci troviamo
su un terreno in buona parte inesplorato in cui si aprono diversi interessanti
questioni, ad esempio occorrerà studiare metodologie per poter formulare i
problemi in contesti in cui le relazioni tra oggetti assumono un valore ine-
dito e definire linee guida per il progettista/sperimentatore che si trovi a
dover opportunamente costruire gli insiemi di esempi su cui far apprendere
le graph neural network, inoltre dovremo considerare gli effetti che può avere
sull’addestramento la presenza degli hub, ovvero di nodi con un alto numero
di connessioni col resto del grafo, e più in generale il fatto che la connettività
segua una power-law.
    Sul fronte dell’apprendimento non supervisionato è stato proposto nel
2003 il primo modello completamente non supervisionato per elaborare grafi
aciclici diretti non etichettati attraverso un’estensione delle originali Self Or-
ganizing Map. Il modello proposto chiamato self organizing map for adaptive
processing of stuctured data (SOM-SD) [27]. L’estensione si ottiene attraver-
so la procedura di ”srotolamento”analoga a quella adottata nelle reti neurali
ricorrenti e ricorsive con i neuroni replicati nella rete srotolata che consistono
in un intera SOM. Questo approccio rende possibile la scoperta delle somi-
glianze tra oggetti compresi vettori di dati numerici e strutture. Le capacità
del modello sono analizzate in dettaglio utilizzando un ampio data set che
include immagini codificate come grafi aciclici diretti etichettati. I risultati
sperimentali hanno mostrato chiaramente che il modello proposto è capace di

                                        10
sfruttare sia l’informazione contenuta nelle etichette abbinate ad ogni nodo
che l’informazione contenuta nella topologia del grafo.
    Nei lavori successivi gli autori hanno rimosso uno dei maggiori ostacoli
delle SOM-SD includendo anche le informazioni contestuali relative ad un no-
do in un dominio di dati strutturati graficamente, in particolare la necessità
di elaborare i dati utilizzando più livelli di una self organizing map attra-
verso l’utilizzo di una sola mappa riducendo perciò la complessità computa-
zionale. Nelle Contextual Self-Organizing [28] viene reso possibile elaborare
direttamente grafi ciclici, non-diretti.
    In questo lavoro di tesi vengono applicate self organizing map, SOM-
SD, CSOM-SD, al clustering di documenti XML. In particolare il capitolo
2 descrive i metodi classici di apprendimento competitivo e in particolare
l’algoritmo Self Organizing maps, il capitolo 3 descrive metodi ricorsivi per
l’elaborazione di strutture grafiche supervisionati (reti neurali ricorsive) e
non supervisionati (SOM-SD e CSOM-SD).
    Il capitolo 4 presenta la valutazione sperimentale sul data set proposto su-
gli algoritmi analizzati, evidenziando le proprietà connesse all’estrapolazione
di informazione strutturata ed infine nel capitolo 5 riepiloghiamo le consi-
derazioni discusse nel resto del lavoro e, dopo aver evidenziato le criticità
peculiari del problema in esame e degli algoritmi adottati proponiamo ade-
guate modifiche sia in termini di modellazione del problema che di filtraggio
volte ad individuare un trade off ottimale tra accuratezza e prestazioni.

                                      11
Capitolo 2

Self Organizing Maps

Le Self Organizing Maps (SOM)[3] appartengono alla classe dei metodi di
apprendimento non supervisionato. Le SOM sono solitamente utilizzate per
la riduzione delle dimensioni di data set, possono identificare clusters locali
nel data set e organizarli globalmente. Le SOM si comportano come reti neu-
rali artificiali, le celle delle quali si specializzano per vari pattern di input o
classi di input attraverso un processo di apprendimento non supervisionato.
Nella versione basilare delle SOM solamente una cella od un gruppo di celle
viene attivato dall’input corrente. La locazione spaziale o le coordinate di
una cella nella rete corrispondono ad un particolare dominio di pattern di
input. La Self Organizing Map è considerata una alternativa alle più tradi-
zionali reti neurali artificiali. Il processo di apprendimento sembra avvenire
in maniera molto naturale e i processi adattivi che incontriamo all’interno
della mappa presentano forti analogismi con quello che avviene all’interno del
cervello. Quindi vi sono sufficienti giustificazioni per chiamare queste mappe
reti neurali proprio come le loro tradizionali rivali. Le SOM consistono di
alcuni moduli di una mappa. Esse possono essere applicate a processi di pat-
tern recognition, processi di controllo, ed anche a processi con informazione
semantica.

2.1      Mappe del cervello
La neuropsicologia è la disciplina che studia le basi delle funzioni mentali.
Una delle prime proposte sulla localizzazione cerebrale delle facoltà mentali
risale al lavoro del fisiologo tedesco Franz Joseph Gall (1758-1828). Gall e i
suoi seguaci identificarono 37 facoltà mentali e morali che credevano essere
rappresentate sulla superficie esterna del cranio nella forma di una mappa.
Ovviamente questa mappa non aveva alcun fondamento scientifico e molte

                                        12
delle facoltà individuate (come ad esempio l’immortalità, la benevolenza, o
la speranza) fanno oggi sorridere. Il metodo neurologico classico nasce invece
nella seconda metà del XIX secolo dallo studio dei disturbi del linguaggio pro-
dotti da una lesione celebrale. Alcuni grandi neurologi dell’epoca tentarono
di stabilire una connessione tra lesioni di aree specifiche del cervello e disturbi
afasici. Questo portò alle prime proposte di modelli anatomo-funzionali in cui
il linguaggio veniva suddiviso in componenti separate che venivano associate
a parti anatomiche distinte del cervello. A partire dal secolo scorso tramite
uno strumento di indagine che è quello della dissociazione, cioè l’osservazione
che un paziente mostra un danno selettivo ad una particolare componenen-
te del sistema cognitivo, fu possibile dimostrare la suddivisione del cervello
in moduli, cioè la presenza di sistemi specifici che corrispondono solamente
a stimoli di una particolare classe. Le funzioni neurali del cervello umano
sono state infine studiate nei particolari tramite l’utilizzo di tecniche di scan-
sione computerizzata e visualizzazione dell’attività celebrale. Due principali
metodi sono la Tomografia ad emissione di positroni (o PET,positron Emis-
sion Topography) e la Risonanza magnetica funzionale (o fMRI, Functional
Magnetic Resonance Imaging). I principi di funzionamento di queste due
tecniche sono diversi, ma entrambe si basano sul fatto che quando un gruppo
di neuroni aumenta la sua attività si verifica un maggior afflusso di sangue,
che trasporta ossigeno e glucosio ai tessuti celebrali. In altre parole, l’entità
del flusso sanguigno in una data zona del cervello riflette l’entità dell’attività
neurale. Sottoponendo quindi un individuo sano a PET o fMRI, è possibi-
le quindi stabilire quali parti del cervello si attivano maggiormente durante
l’esecuzione di un determinato compito. Da qui è stato possibile capire che
il cervello è diviso in mappe corrispondenti ad un area funzionale ma a sua
volta ogni neurone all’interno della mappa ha una determinata funzione. Per
esempio nell’area del linguaggio, i neuroni sono attivati in accordo alla ca-
tegoria ed alla semantica delle parole. Artificial Self Organizing Maps e le
mappe del cervello sembrano avere in comune molte caratteristiche.

2.2      Apprendimento Competitivo
L’idea base che sta dietro l’apprendimento competitivo, descritte completa-
mente in [4] è la seguente: si prende in considerazione una sequenza di vettori
di input χ = χ(t) dove t è un numero intero positivo, ed un insieme di vettori
di referenza mi (t) : mi ∈
con il corrente input; il vettore di referenza in questione verrà aggiornato in
modo tale da avvicinarsi al corrente χ(t). Se i vettori vengono comparati in
base ad una qualche misura di distanza d(x, mi ), gli aggiornamenti degli mi
deve essere tale che, se i = c è l’indice del vettore di referenza con la miglior
corrispondenza, allora d(x, mc ) viene decrementato mentre tutti gli altri vet-
tori di referenza mi ,dove i 6= c, vengono lasciati inalterati. In questo modo
differenti vettori di referenza tendono a specializzarsi su differenti domini di
input χ.
Una delle applicazioni più importanti dell’apprendimento competitivo è il
processo di quantizzazione vettoriale per la compressione dei dati. Questo
processo può essere utilizzato sia per la memorizzazione sia per la trasmissio-
ne di immagini e di dati sul parlato. L’idea è di classificare un insieme od una
distribuzione di vettori in input χ in M categorie, e quindi rappresentare un
vettore semplicemente attraverso la classe in cui esso rientra. Normalmente le
classi sono definite da un insieme di M vettori prototipi e la classe corrispon-
dente ad un certo vettore in input viene individuata determinando il vettore
prototipo più vicino, in termini dell’usuale metrica euclidea. Lo spazio di
input viene suddiviso in regioni poliedriche in base al vettore prototipo che
risulta più vicino e i confini di tali regioni sono piani perpedicolari alle linee
che congiungono coppie di vettori prototipo. Questo processo determina la
divisione dello spazio di input in tasselli, dando origine alla tassellazione di
Voronoi o tassellazione di Dirichlet.
La formalizzazione di questo procedimento in termini di apprendimento com-
petitivo è immediata. La regola che viene utilizzata per la scelta del codebook
(anche detto prototipo o vettore di referenza) vincitore è la seguente:

                     kχ(t) − mc (t)k = mini kχ(t) − mi (t)k                  (2.1)

Mentre la regola di aggiornamento dei codebook si basa sulla discesa del
gradiente ed ha la seguente forma:
                 (
                     mc (t + 1) = mc (t) + α(t)[χ(t) − mc (t)]
                                                                             (2.2)
                     mi (t + 1) = mi (t)per i 6= c
dove α(t) è una funzione monotona, decrescente compresa nel range (0,1).
Questa è la descrizione analitica decrescente più semplice dell’apprendimento
competitivo, in generale può essere utilizzata qualsiasi metrica non necessa-
riamente quella euclidea. Nel caso venga utilizzata la metrica euclidea il
precedente algoritmo prende il nome di K-means [5]. Più precisamente l’al-
goritmo è composto da i seguenti passi:

                                        14
1. Vengono scelti in maniera random M vettori che rappresentano il grup-
     po iniziale di centroidi dal data set.

  2. Ogni vettore di input viene assegnato al gruppo che ha il vettore di
     centroidi più vicino.

  3. Quando tutti i vettori di input sono stati assegnati viene ricalcolata la
     posizione degli M centroidi come il baricentro dei cluster risultanti dal
     precedente step.

La figura2.1 mostra il funzionamento dell’apprendimento competitivo. La
figura a mostra come ogni vettore di input venga assegnato ad il cluster piú
vicino, mentre la figura b mostra la parte di aggiornamento dell’algoritmo
competitivo. Con il simbolo ”x” si rappresentano i centroidi, con il simbolo
”.” si rappresentano gli input.

Figura 2.1: La figura a mostra come ogni vettore di input venga assegnato
ad il cluster piú vicino, mentre la figura b mostra la parte di aggiornamento
dell’algoritmo competitivo.

   In seguito è nata l’idea di creare mappe globali dove è reso possibile avere
un ordinamento globale dei vettori di input. Ciò è stato realizzato nelle Self
Organizing Map descritte nel seguente paragrafo.

                                       15
2.3      SOM Standard
La Self-Organizing Map è una struttura connessionistica i cui neuroni so-
no organizzati all’interno di un array di superficie mono-dimensionale o più
spesso bi-dimensionale (Figura 2.2). La mappa riceve in ingresso dei vet-
tori di input e, ad addestramento ultimato, è in grado di esibire sulla sua
superficie una compressione topologica di tutti i dati vettoriali acquisiti. In
tal modo similarità ed analogie (spaziali) dei vettori presentati in ingresso,
riceveranno medesimo trattamento dalla SOM che provvederà ad ordinarli
su intorni spaziali prossimi. Ad una prima analisi, la SOM svolge il ruolo di
clusterizzatore di dati d’ingresso, i quali vengono accomunati spazialmente in
base ad una qualche loro caratteristica più o meno soggiacente. Nelle migliori
delle ipotesi, ad ogni neurone della rete corrisponderebbe un cluster e cioè
un raggruppamento omogeneo dei dati di input, localizzati in quella zona per
un qualche criterio di similarità individuato dalla rete. Il processo di adde-
stramento (training process) coincide, quindi, con una fase di adattamento
spaziale che la SOM compie, tramite modifica dei propri coefficienti di con-
nessione, ad una presentazione di patterns vettoriali considerati segnale di
input. Come già detto, il processo di apprendimento è non-supervisionato,
ciò significa che non vi è definizione in anticipo sulla configurazione spa-
ziale cui perverrà la SOM. La variazione dei coefficienti di connessione, e
quindi la configurazione della mappa,dipenderà soprattutto dalle caratteri-
stiche statistiche del campione di dati che costituisce la base di conoscenza
su cui si informerà tutto il processo di apprendimento. Ogni qualvolta si
presenta un pattern di ingresso, viene infatti eseguito un matching tra quel
pattern (definito come un vettore a n-dimensioni) e tutte le unità neuronali
formanti la mappa bi-dimensionale (definite anch’esse in termini vettoriali a
n-dimensioni). Il criterio adottato per stimare la diversità tra i due vettori fa
capo alla nozione di distanza. La distanza in questione può essere calcolata
in vari modi, solitamente si considera la distanza euclidea. E’ importante no-
tare che questo calcolo è reso possibile dal fatto che i due vettori, quello che
rappresenta il pattern in ingresso e quello che rappresenta l’unità della map-
pa, contengono il medesimo numero di componenti. Si considera ora come
unità di uscita vincitrice quella in cui la distanza precedentemente calcolata
assume il minimo valore. L’algoritmo di Kohonen adotta la strategia della
bolla, ciò significa che non vi è una sola unità vincitrice, ma si considerano
vincitrici (si recuperano, cioè) anche tutte le altre unità di uscita che si tro-
vano entro una certo intorno dall’unità vincitrice principale. Tale intorno,
nella terminologia di Kohonen, è detto raggio della bolla.
     Ciò che subirà quindi delle modifiche rispetto all’apprendimento compe-
titivo è la regola di aggiornamento dei codebook anche chiamati vettori di

                                        16
Figura 2.2: SOM 6 X 6

         17
referenza reference vector. Questi ultimi, infatti, non saranno più aggiornati
indipendentemente gli uni dagli altri. Esistono differenti metodi per permet-
tere ciò ma il concetto è sempre lo stesso: non verrà aggiornato solamente il
codebook vincente del corrente input ma anche gli altri codebook subiranno
delle modifiche diverse a seconda della loro posizione rispetto all’input e dal
tipo di algoritmo scelto, dipende quindi dall’input e dal raggio della bolla
scelto.

    Nel seguito si trova la descrizione dell’algoritmo delle Self Organizing
Map. Ogni input di dati è un n-tupla di numeri reali; questo è rappresentato
come un vettore χ = [ξ1 , ξ2 , ..., ξn ]T ∈
Dove t = 0, 1, 2, ... è un intero, hci è chiamata neighborhood function e
gioca un ruolo centrale nel processo di rilassamento. Questa funzione deve
essere decrescente e monotona per garantire la convergenza dell’algoritmo.
Le scelte più comuni per la neighborhood function sono le seguenti due:
  1. Limit neighborhood relationship:

                             (
                                 hci (t) = α(t) se i ∈ Nc
                                                                               (2.6)
                                 hci = 0        altrimenti
      Dove Nc (t) è l’insieme dei vicini del nodo c, α(t) è il fattore di indice di
      apprendimento. Entrambi decrescono, solitamente, monotonicamente
      nel tempo.
  2. Gaussian bell relationship:

                                                  krc − ri k
                              hci = α(t) ∗ exp(               )                (2.7)
                                                  2 ∗ σ 2 (t)
      Dove rc ∈
Figura 2.3: Istantanea della fase di adattamento tra il vettore d’ingresso e
quello della mappa .

2.4      Una mappa di vettori binari
Consideriamo ora una semplice caso di mappatura tramite SOM di vettori
binari considerati input della rete. La figura 2.4 sintetizza la descrizione di
16 animali definiti in base l’assenza o la presenza di 13 differenti attributi.
    Tutti i membri del data set sono stati presentati come input, in maniera
iterativa, ad una SOM di 10 x 10 neuroni soggetta al processo di adatta-
mento (come si è accennato in precedenza, l’adattamento spaziale ai pattern
d’ingresso è il compito primario di una rete SOM). L’inizializzazione della
mappa è stata definita in maniera random. Dopo 2000 cicli di presentazioni,
in cui il raggio della bolla e l’indice di apprendimento sono fatti decrescere,
ogni neurone diventa più o meno rappresentativo di una delle combinazioni
dei 13 attributi e quindi di uno dei 16 animali. La mappa ottenuta è mostrata
in Figura 2.5. La mappa mostra un ordine spaziale che in un certo modo ha
catturato le relazioni di famiglia essenziali tra i diversi animali. Ad esempio
le unità corrispondenti alla famiglia uccelli occupano la parte sinistra della
mappa, i predatori sono categorizzati verso destra e gli animali più pacifici
come la zebra, il cavallo e la mucca si trovano, invece, in alto al centro. All’in-
terno di ogni classe sono possibili ulteriori sottocategorie basati sul rapporto
di similarità tra coppie e terne di animali. Dall’esempio appena trattato,

                                        20
Figura 2.4: Animali e loro attributi codificati in maniera binaria (tratto da
[3]).

                                     21
Figura 2.5: Una SOM 10 x 10 addestrata tramite il data set della figura2.4.
All’interno della mappa è possibile discernere dei clusters formatisi in base
al rapporto di similarità dei pattern di ingresso (tratto da [3]).

si evince che la SOM provvede ad una quantizzazione vettoriale, nel senso
che il valore di ingresso fornito alla rete è uno spazio continuo e deve essere
discretizzato su una superficie bi-dimensionale. Se, quindi, gli ingressi del-
la rete sono vettori n-dimensionali x, la SOM opererà una rappresentazione
spaziale discreta e puntuale di tali dati multi-dimensionali, organizzandoli in
raggruppamenti omogenei con dimensionalità inferiore a quella d’inizio che
tuttavia presentano una coerenza topologica con i dati di ingresso in base
ai quali tali raggruppamenti sono stati realizzati. La rete deve fornire una
rappresentazione ottimale della discretizzazione dello spazio continuo dei da-
ti in input limitatamente però alla sua struttura fisica. Reti bi-dimensionali
permetteranno solo una visualizzazione della mappatura lungo due coordi-
nate, reti tridimensionali rappresenteranno il vettore discretizzato lungo tre
coordinate e cosı̀ via.

2.5      Aspetti multipli di una SOM
In questo paragrafo saranno considerate le proprietà e potenzialità di una
SOM per le sue possibili applicazioni. Le considerazioni qui sviluppate avran-

                                      22
no carattere propedeutico a quanto verrà detto in seguito, ma allo stesso
tempo sono da considerarsi sunto di quanto detto in precedenza.

  1. La SOM può essere ritenuta un modello di apprendimento non-supervisionato.
     Come tale risponde bene alla risoluzione di problemi quali:

        • Clustering. Fornito un insieme di elementi in ingresso, questi
          devono poter essere raggruppati in clusters (gruppi omogenei) ed
          il compito della rete, dopo l’apprendimento, è individuare, per
          ogni ingresso, il gruppo di appartenenza.
        • Quantizzazione vettoriale. Il valore di ingresso fornito alla rete
          è uno spazio continuo che deve essere discretizzato. Gli ingressi
          della rete sono vettori n-dimensionali x, l’uscita è una rappre-
          sentazione discreta dello spazio d’ingresso. La rete deve fornire
          una rappresentazione ottimale della discretizzazione dello spazio
          d’ingresso.
        • Estrazioni delle caratteristiche. La SOM estrae delle caratte-
          ristiche dall’ingresso iniziale, questo spesso implica una riduzione
          della dimensionalità.

  2. La SOM fornisce una adaptive and contextual knowledge representation.
     I formalismi tradizionali per la rappresentazione della conoscenza - reti
     semantiche, logica dei predicati, frames, eccetera - rimangono fissi nella
     loro staticità e la loro relazione di referenza dei loro elementi è di natura
     arbitraria e prevede l’intervento umano. Una rete SOM non solo è da
     considerarsi come modelizzatore fuzzy, permette rappresentazioni più
     granulari all’interno delle categorie, ma le categorie stesse sono create in
     situ durante il processo di apprendimento e successivamente sottoposte
     a gradience modelling.

  3. La SOM è usata spesso utilizzata come dispositivo per analisi stati-
     stiche. Una rete SOM, infatti, costituisce un metodo di riduzione
     e proiezione delle dimensionalità, capace di mappare (e categorizza-
     re) high-dimensional data space into low-dimensional space riuscendo
     a preservare però le proprietà dinamiche e topologiche dello spazio
     iniziale.

                                        23
Capitolo 3

Algoritmi ricorsivi per
l’elaborazione di strutture
grafiche

Prima di iniziare a descrivere le reti neurali ricorsive [22] [23] [24] [25] è ne-
cessario introdurre le proprietà dei grafi e la notazione usata.

   • un grafo generico Y è costituito da una coppia (vert[Y ], edge[Y ]), dove
     vert[Y ] indica l’insieme dei vertici o nodi che costituiscono il grafo, e
     edge[Y ] rappresenta un insieme di relazioni binarie ordinate di elementi
     di vert[Y ].

   • un arco (v, w) è un elemento dell’insieme edge[Y ]. Un arco si dice non-
     diretto se sono presenti in edge[Y ] entrambe le relazioni (v, w) e (w, v),
     ciò significa che un grafo è non-diretto se lo sono tutti i suoi archi. se
     le condizioni precedenti non sono valide si parla di arco e grafo diretti.
   • due nodi v ∈ vert[Y ] e w ∈ vert[Y ] si dicono adiacenti se sono collegati
     da un arco, cioè se (v, w) ∈ edge[Y ] oppure (w, v) ∈ edge[Y ] .

   • Un n-cammino(o cammino di lunghezza n) in un grafo diretto Y dal
     nodo v ∈ vert[Y ] al nodo w ∈ vert[Y ] indica una sequenza di nodi
     v0 , ..., vn−1 che inizia con v = v0 e termina con w = vn−1 , tale che
     (vi , vi+1 ) ∈ edge[Y ]. Tale grafo si dice aciclico se non contiene nessun
     n-cammino in cui il nodo iniziale e quello finale coincidono.
Supponendo, adesso, che Y sia un grafo aciclico diretto (DAG), si possono
introdurre proprietà aggiuntive:

                                        24
• dati v ∈ vert[Y ] e w ∈ vert[Y ], w si dice padre di v se esiste l’arco
     diretto (w, v) (chiaramente v viene denominato figlio di w). Si defini-
     scono inoltre pa[v] l’insieme dei nodi padri di v e ch[v] l’insieme dei
     nodi figli di w. Dall’uso ricorsivo di pa[v] e di ch[v], si ottiene l’in-
     sieme degli antenati di v an[v] e l’insieme dei suoi discendenti de[v],
     rispettivamente.

   • viene definito in-degree di un nodo v il numero di padri di v e quindi
     la cardinalità dell’insieme pa[v], mentre viene definito l’outdegree di v
     come il numero di figli del nodo v e quindi la cardinalità dell’insieme
     ch[v]. L’outdegree di un grafo Y corrisponde al massimo outdegree
     associato ad i suoi nodi.

   • un vertice s ∈ vert[Y ] è chiamato supersource di Y se ogni vertice in
     Y può essere raggiunto da un cammino che ha inizio in s. Un grafo
     aciclico diretto, in particolare, ha al massimo una supersource.
Un albero è un caso particolare di grafo diretto dove l’in-degree di tutti i nodi
è al massimo uno e la supersource è unica e coincide con la radice dell’albero.
Nel seguito viene fatta una ulteriore suddivisione dei grafi diretti a seconda
delle relazioni che si stabiliscono tra i vari nodi. Un DAG è detto posizio-
nale (e viene indicato con DPAG)se oltre ad essere un grafo aciclico diretto
esiste una funzione biettiva p: edge[Y ] ⇒ N + che associa una posizione a
ciascun arco uscente da v. Un caso particolare di DPAG è la classe dei grafi
DAG ordinati che vengono definiti come grafi diretti in cui sussiste una re-
lazione di ordine totale sugli archi uscenti da un nodo. Questo ordinamento
è imposto secondo convenzioni più o meno naturali o evidenti. Quindi nei
DOAG,differentemente che nei DPAG, gli archi uscenti da ogni nodo devono
essere posizionati in sequenza, senza che alcuna posizione venga lasciata vuo-
ta. Nei DPAG non è imposto questo limite. Un DAG viene definito limitato
quando si considera un grafo in cui è stato imposto un limite superiore al
grado di ingresso in-degree o di uscita out-degree di ogni nodo appartenente al
grafo in questione. La notazione che viene solitamente utilizzata per indicare
un insieme di DAG con limitato in-degree ed out-degree è la seguente:
     ](i,c) dove i ed c indicano rispettivamente il massimo in-degree ed il mas-
simo out-degree.

    Per utilizzare questi grafi nei problemi di clustering e di classificazione è
necessario associare delle etichette (tuple di variabili) ai nodi del grafo. Una
struttura dati Y è quindi un DPAG i cui vertici sono etichettati da un sot-
toinsieme di variabili appartenenti allo stesso dominio; con l(Y ) denotiamo
l’insieme di tali variabili e con l(Yv ) l’etichetta associata al nodo v ∈ vert[Y ].

                                        25
Si dice quindi che, dato il grafo Y, il DAG ottenuto ignorando tutte le eti-
chette di Y è lo scheletro (scheleton) di Y e viene indicato con schel(Y ).
Viene cosı̀ definito lo spazio delle strutture dati γ ] , indicando con γ lo spazio
delle etichette e con ] la classe degli scheletri. Chiaramente due strutture dati
possono essere distinte tra loro perchè hanno un diverso scheletro o, se tale
distinzione non può essere fatta, perchè hanno etichette diverse ai nodi. La
classe dei dati strutturati definita su un dominio di etichette l(Y ) e scheletro
                      ]
γ ] è indicato l(Y )γ . Un DAG vuoto è denotato attraverso il simbolo speciale
.

3.1      Reti neurali ricorsive
In questa sessione verrà descritto come avviene l’apprendimento supervisio-
nato nei domini strutturati attraverso le reti neurali. Questa descrizione
è utile in quanto aiuta a capire l’apprendimento non supervisionato nelle
SOM-SD in quanto il framework di calcolo utilizzato da queste ultime è es-
senzialmente lo stesso definito nelle reti neurali ricorsive.

    Le reti neurali ricorsive rappresentano uno strumento di calcolo potente
per il trattamento di dati strutturati, tale da colmare il gap storico fra le
tecniche connessionistiche classiche, che trovano applicazione su dati scarsa-
mente organizzati, e una grande varietà di problemi reali, nei quali l’infor-
mazione si presenta ”naturalmente” codificata nelle relazioni che legano le
entità di base, specialmente nel campo della chimica [6], [8], [9], [10]. Le
proprietà teoriche delle reti neurali ricorsive sono state studiate [11] [12] [13]
[14] [15] [16] [17] e stanno emergendo molte applicazioni [23] [19] [20] [21]. Le
reti ricorsive elaborano informazione sotto forma di grafi ordinati, diretti ed
aciclici o , più semplicemente di alberi (ricorsivamente equivalenti). Ad ogni
istante di tempo l’etichetta di un nodo del grafo e gli stati calcolati dai figli
vengono dati in ingresso ad uan rete feedforward, in base ad una strategia
di addestramento simile a quella delle reti ricorrenti [30] [31] [32]. Tuttavia
se nelle reti ricorrenti l’elaborazione dei dati avviene in base al loro fluire
naturalmente sequenziale, le reti ricorsive seguono l’ordine parziale imposto
sui nodi del grafo e si srotolano nella dimensione spazio temporale ad esso
sottesa.

    Le reti neurali ricorsive descritte in [7] sono reti neurali in grado di tra-
sformare un insieme di grafi etichettati in un insieme di vettori a valori reali.
Più precisamente la classe di funzioni che le reti neurali ricorsive realizzano
possono essere indicate nel seguente modo:

                                        26
Γ : I ] →
Figura 3.1: La figura mostra le due funzioni che costituiscono l’algoritmo di
apprendimento delle reti neurali ricorsive e lo scambio di informazione tra
esse. Vedremo in seguito come la funzione di codifica τ può essere applicata
nelle SOM-SD per la codifica dell’informazione dei grafi.

                                     28
3.2      Dalle reti ricorsive alle SOM per struttu-
         re
Il punto fondamentale dell’algoritmo di apprendimento SOM è l’apprendi-
mento della mappa delle feature.

                                  M :I→A                                   (3.5)
    la quale, dato un vettore nello spazio continuo degli input I ritorna un
punto nello spazio discreto degli output A. Questo è ottenuto nelle SOM
associando ogni punto in A con un neurone differente. In più, la topologia
dello spazio di output A è tipicamente un arrangiamento di questo insieme
di neuroni come i nodi in un lattice 1 o 2 dimensionale. Dato un vettore
di input v, la SOM ritorna le coordinate all’interno di A del neurone con il
vettore di pesi più vicino. Perciò, l’insieme di neuroni produce una partizione
dello spazio degli input I. In tipiche applicazioni I = n ∈
Figura 3.2: Esempi di DOAGs rappresentanti immagini. Le etichette non sono
visualizzate

                                   30
tagliata in [27].
    Le Self Organazing Map introdotte da Kohonen sono reti neurali non
supervisionate adatte sia al clustering che alla visualizzazione. Può essere
considerato un algoritmo che mappa uno spazio ad alta dimensionalità in
uno spazio a bassa dimensionalità ,generalmente 2, che è chiamato mappa.
Questa proiezione partiziona i dati di input in cluster preservando la loro
topologia.Il suo più simile predecessore è l’algoritmo K-means, che opera
nello stesso modo dell’algoritmo SOM senza però preservare la topologia dei
dati di input e senza una facile visualizzazione. Questi approcci diventano
inadeguati quando abbiamo a che fare con strutture complesse. Infatti, gli
approcci basati su feature solitamente falliscono per la loro selezione a priori
delle feature, e la loro incapacità di rappresentare informazione strutturata.
Self Organazing Map possono clusterizzare DAGs (directed acyclic graphs)
e DAGs etichettati.

    In questo capitolo verrà mostrato come l’equazione 3.5 viene generalizza-
                                                (c)
ta per essere adattata al caso in cui I ≡ l(Y )] , cioè, lo spazio degli input
è un dominio strutturato con etichette in l(Y). In questo caso, deve essere
specificato come la funzione
                                                (c)
                                 M ] : l(Y )]         →A                        (3.6)
è realizzata. Una possibilità è di ridefinire l’equazione (1) nel seguente modo:

               (
       ]           nilA se Y = ξ
    M (Y ) =                                                                    (3.7)
                   Mnode (l(Ys ), M ] (Y (1) ), ..., M ] (Y (c) )) altrimenti

dove s = source(Y ), Y (1) , ..., Y (c) sono i (eventualmente vuoti) sottografi
puntati dagli archi uscenti da s, N illA è un vettore con coordinate ”speciali”
nello spazio discreto di output A, e

                                                cvolte
                                           z          }|   {
                        Mnode : l(Y ) × A × ... × A → A                         (3.8)
    è una SOM definita su un generico nodo, che prende come input l’etichetta
del nodo e la codifica dei sottografi Y (1) , ..., Y (c) in accordo con la mappa
M ] . Attraverso lo srotolamento della equazione ricorsiva 4.7, si può vedere
che M ] (Y )può essere calcolata applicando la funzione Mnode a partire dalle
foglie (cioè, i nodi con outdegree nullo),e procedendo con l’applicazione di

                                          31
Mnode dal basso verso l’alto, dai nodi frontiera fino alla supersource (radice)
del grafo Y. Si può vedere come Mnode nell’equazione 4.7 ha lo stesso ruolo
di τ nell’equazione 4.1, con la differenza che τ ritorna un vettore a valori
reali rappresentante un descrittore ridotto del nodo, mentre Mnode ritorna le
coordinate del neurone vincitore, il quale, per la capacità di riduzione dei
dati delle SOM, continua ad essere un descrittore ridotto ,reduced descriptor
del nodo. Un esempio di come il calcolo descritto sopra procede è mostrato
nella Figura 3.3.

3.4      Un Modello di Mnode
Nella precedente sezione è stato mostrato come il calcolo di M ] può essere
fatto in maniera ricorsiva attraverso l’applicazione di Mnode ai nodi appar-
tenenti alla struttura in input. Più precisamente lo schema ricorsivo per il
grafo Y segue lo scheletro skel(y) del grafo. In questa sessione verranno dati
i dettagli dell’implementazione sul della funzione Mnode .
Verrà assunto che ogni etichetta in l(Y ) sia codificata in U ∈
Puoi anche leggere