You are on page 1of 113

UNIVERSIT DEGLI STUDI DI BARI ALDO MORO FA C O LT D I S C I E N Z E M M . F F. N N .

corso di laurea in informatica e tecnologie per la produzione del software

CRADLE
Clustering by RAndom minimum Dispersion based LEarning

un algoritmo di clustering basato su minimizzazione random della dispersione

relatore: Prof.ssa Giovanna Castellano

laureando: Leonardo Di Donato

anno accademico 20092010

luogo: Dipartimento di Informatica Bari periodo: Febbraio 2010 - Settembre 2010 contatti: leodidonato@gmail.com

Leonardo Di Donato CRADLE: Clustering by RAndom minimum Dispersion based LEarning Un algoritmo di clustering basato su minimizzazione random della dispersione , Informatica e tecnologie per la produzione del software, Febbraio 2010 - Settembre 2010

INTRODUZIONE

Negli ultimi decenni, a causa delle crescita esponenziale delle informazioni divenuto sempre pi indispensabile analizzare lenorme mole di dati disponibili. La necessit di governare il sovraccarico di informazioni ha reso lanalisi dei dati un processo presente nella maggior parte delle applicazioni di calcolo. Lelemento chiave di tale processo sicuramente il raggruppamento automatico dei dati, problema che trova facilmente applicazione in molti contesti e discipline; vien da s, quindi, che un processo risolutivo per tale problema risulta essere un passo fondamentale nel campo dellanalisi dei dati di tipo esplorativo. Il clustering, un metodo utile allesplorazione dei dati nalizzata alla ricerca di schemi e/o strutture di interesse presenti in essi, diventato, perci, una tecnica comune e importante per molti campi inerenti la scienza dellinformazione, quali, per esempio: data mining, pattern recognition, machine learning e image analysis. In questa tesi si riposta attenzione al campo della image analysis, in particolare a quello della shape analysis, poich tale campo risulta essere molto interessante sia per lutilit nale che pu apportare in vari settori (computer vision, computational topology, biomedical image analysis, military target recognition, biometrics, sorveglianza automatica), sia per gli strumenti matematici avanzati di cui necessita limplementazione di un processo relativo ad esso. Dato che unanalisi delle immagini basata sullintero insieme delle caratteristiche (colore/i, forma/e, texture, posizione etc. etc.) che esse posseggono risulta essere, ad oggi, un obiettivo ancora molto distante [Srivastava et al., 2005], un passo importante lo sviluppo di un algoritmo nalizzato alla categorizzazione o raggruppamento di immagini in base alla forma del loro contorno. Esistono, infatti, molte applicazioni che possono beneciare di un algoritmo di shape clustering di questo tipo: i database di forme possono beneciare, in termini di efcacia ed efcienza, poich un algoritmo di shape clustering pu essere utilizzato per migliorare lorganizzazione delle forme e per snellire il sistema di interrogazione

iii

sfruttando lastrazione dati che esso opera: una ipotetica forma non dovr pi essere ricercata nellintero database di forme ma, comparandola con la forma pi rappresentativa di ogni cluster, possibile restringere la sua ricerca esclusivamente al cluster la cui forma pi rappresentativa maggiormente le somiglia; algoritmi robusti di computer vision possono beneciare dello shape clustering poich esso pu fornire una codica efciente delle forme tramite lutilizzo di metriche e statistiche relative ad ogni cluster ottenuto. Gli esempi e le motivazioni appena riportati giusticano il fatto che: La caratterizzazione di oggetti complessi tramite le loro forme divenuto velocemente uno dei maggiori strumenti della computer vision e della comprensione automatica delle immagini [Srivastava et al., 2005]. Illustrate le motivazioni e gli obiettivi che questo lavoro di tesi si pregge, di seguito sono riportati la sua struttura e per sommi capi i contenuti dei 5 capitoli che la costituiscono. capitolo 1 - introduzione al clustering Questo capitolo tratta la teoria riguardante il raggruppamento automatico e tutto ci che essa concerne, dalle denizioni no alla trattazione dettagliata dei passi di cui composto un processo di clustering. capitolo 2 - algoritmi di clustering Prendendo le mosse dal capitolo precedente, questo capitolo offre una visione generale sugli algoritmi di clustering presenti in letteratura. capitolo 3 - cradle Questo capitolo, affrontato il concetto di shape clustering, presenta CRADLE, fulcro di questo lavoro di tesi. capitolo 4 - valutazione dellalgoritmo cradle Questo capitolo dedicato alla presentazione e valutazione dei risultati conseguenti alla sperimentazione dellalgoritmo CRADLE su un data set di forme di contorni di pesci.

iv

capitolo 5 - conclusioni e sviluppi futuri Capitolo nale incentrato sulle conclusioni riguardanti il lavoro svolto e sulla proposta di eventuali e percorribili idee di ulteriore sviluppo dellalgoritmo CRADLE.

Linformatica riguarda i computer quanto lastronomia riguarda i telescopi. Edsger Wybe Dijkstra (1930-2002)

RINGRAZIAMENTI

Nonostante la pagina che mi accingo a scrivere sia lultima di questo lavoro di tesi, stata da sempre la prima pagina che io abbia voluto scrivere. Perci, giunto al termine di questo percorso, desidero esprimere la mia gratitudine e riconoscenza nei confronti di tutte le persone che, in modi diversi ma sempre indispensabili, hanno creduto in me supportandomi ed incoraggiandomi. I miei pi sentiti ringraziamenti vanno innanzitutto a chi mi ha seguito durante lintero lavoro di tesi: Dott.ssa Giovanna Castellano, per aver da subito riposto ducia in me lasciandomi libero di ricercare, sperimentare e fare di testa mia, cosa che amo di pi. Il suo essere perfezionista mi ha tranquillizzato riguardo i risultati. Il mio essere perfezionista, invece, mi porta a ringraziarla per la pazienza di cui ha necessitato questo lavoro di tesi. Dott.ssa Maria Alessandra Torsello, per la disponibilit, i consigli e le informazioni che, sempre pacatamente, ha saputo trasmettermi. La ringrazio per essere stata sempre tempestiva e presente quanto ho avuto bisogno di aiuto. Inoltre, non posso certo dimenticare gente con cui, nellultimo anno, ho lavorato ma anche lottato e sognato, vivendo unesperienza che si resa utile anche nello sviluppo di questo lavoro di tesi. Ringrazio perci il Dott. Daniele Galiffa che, credendo ciecamente in un ragazzo che aveva conosciuto solo online, per altro 7 anni fa, mi ha dato tale possibilit. Ringrazio inoltre il fantastico team di lavoro, il Dott. Alessandro Lanza e il Dott. Antonio Minella, per i rapporti creatisi e lintesa continua e naturale: senza che nessuno si offenda, non pensavo che sarebbe stato cos bello lavorare con un salentino e un brindisino, invece lo stato.

vii

Per ultimi, ma di certo non per importanza, ringrazio la mia famiglia: Mia madre, che ha sempre creduto in me, cosa che ritengo fondamentale. Quando avevo 15 anni fece di tutto per comprarmi un notebook solo perch pensavo che potesse servirmi o poco pi: non lo dimenticher mai, dato che fa parte di una delle mie pi grandi passioni. Come non dimenticher mai altre cose. . . Mio padre, la cui carriera universitaria sempre stata una notevole fonte dispirazione per me. Entrambi facemmo una scommessa a riguardo qualche anno fa: arrivato per me il momento di riscuotere e per lui quello di sorridere. . . Gianni, perch, anche se non lo dimostro, una persona indispensabile per me n da quando giocavamo tutto il giorno insieme, dovunque ed in qualsiasi modo. Se lui non ci fosse so che ora mi sentirei vuoto, ma quando conterebbe di pi, mi sentirei peggio: solo. Francesco, per il semplice motivo desser nato ed aver riempito con piccoli momenti giornate che, altrimenti, sarebbero state insignicanti. Vederlo crescere stata e sar sempre una gioia. Senza la sua sensibilit, senza i suoi occhi, certamente sarei pi povero di sentimenti. ed, in particolare: Leonardo, questo lunico caso in cui (sotto sua esplicita richiesta) non lo chiamer Ciutt. Senza lui e la sua disponibilit incondizionata, con tutta probabilit, non sarei qui, o almeno non ora. Inoltre, in particolare gli ultimi 3 anni della mia vita sarebbero stati difcili invece che felici. Ringraziarlo per ogni cosa letteralmente impossibile: richiederebbe seriamente unaltra tesi (composta prevalentemente da studi psico-comportamentali sulla sua persona). Mi perdoner, poich sa, essendo stato sempre presente come in ogni cosa della mia vita, quanto stato faticoso. Di conseguenza nelle mie possibilit semplicemente esprimere una gratitudine enorme ad un altro fratello che la vita mha donato. Claudia, perch mi stata vicina quando molti andavano, senza guadagnarci nulla ed anzi perdendoci.

viii

Perch mha sempre capito allistante. Le sono grato per avermi dimostrato che pu esistere un vero rapporto damicizia tra uomo e donna, purch sia basato sul rispetto, sulla comprensione reciproca, sullascolto e sulla verit (ad esempio quando le dico che la trovo parecchio ingrassata). La ringrazio per le serate piene di gioia e spensieratezza nonch per lestate pi bella della mia vita, vissuta con lei, e per le altre che verranno (purch non vada nuovamente in Cina. . . ). Invece dico grazie alla vita per avermi regalato ci che non poteva assolutamente mancare: una sorellina. Gerardo, perch con lui non mai cambiato nulla, che esso sia stato spazialmente vicino o lontanto. La nostra amicizia cresce in modo direttamente proporzionale alle distanze che ci separano: questa sarebbe una logica conclusione derivante da unanalisi matematica dei dati e delle informazioni a riguardo. Tuttavia, semplicemente il tempo che avanza e laffetto che si radica. Una ulteriore conclusione derivante dalla suddetta analisi che anche la sua calvizie avanza proporzionalmente alla distanza che ci separa: condannato gi da tempo, ma rinunci a qualsiasi tipo di speranza. Inne intendo ringraziare unaltra persona speciale: Claudia, che per loccasione eviter di chiamare nei modi pi disparati, da Patatina no a Bollicina, perch mi permette dessere me stesso pur sentendomi un tuttuno con lei. Perch n dal primo istante mha capito profondamente. Perch anche lei ha creduto in me, ed in noi, nonostante la distanza. La ammiro e le sono riconoscente per la pazienza e la comprensione che dimostra. La ringrazio perch da circa un anno mi ha riconsegnato le chiavi di un aspetto indispensabile della mia vita: lamore. Perch lei, che parla poco, sa quanto nel silenzio anche un sorriso faccia rumore. Nonostante mi chieda spesso di non meravigliarmi dellimmenso amore che sa donare, io continuer a stupirmi, sentirmi fortunato e ad esserle innitamente grato.

ix

INDICE

i clustering 1 1 introduzione al clustering 3 1.1 Denizioni e notazione 4 1.2 I passi di un processo di clustering 5 1.3 Rappresentazione dei pattern 5 1.4 Selezione ed estrazione delle feature 7 1.5 Misure di similarit 8 1.6 Tecniche di clustering 10 1.6.1 Tassonomia 10 1.6.2 Criteri per la scelta 12 1.7 Astrazione sui dati 13 1.8 Valutazione del clustering 14 2 algoritmi di clustering 17 2.1 Approccio gerarchico 17 2.1.1 Algoritmi single-link e complete-link 18 2.2 Approccio partizionale 18 2.2.1 Algoritmi di clustering basati su errore quadratico 19 2.2.2 Algoritmi di clustering basati sulla teoria dei gra 20 21 2.2.3 Algoritmi di clustering mixture-resolving 2.3 Approccio fuzzy 21 2.4 Approccio basato sulle reti neurali articiali 23 2.5 Approccio evolutivo 24 2.6 Approccio basato su ricerca 26 2.7 Approccio incrementale 27 2.8 Comparazione degli approcci 28 ii algoritmo di clustering proposto 31 3 cradle 33 3.1 Shape Clustering: stato dellarte 33 3.2 Minimum-Variance Clustering 34 3.2.1 Tecnica di clustering 34 3.2.2 Descrizione dellalgoritmo 36 3.2.3 Considerazioni 36 3.3 Presentazione dellalgoritmo CRADLE 37 3.3.1 Differenze di impostazione rispetto al Minimum-Variance Clustering 38

xi

xii

indice

Approccio e descrizione dellalgoritmo 38 3.3.3 Astrazione dati 43 3.3.4 Considerazioni nali 44 4 valutazione dellalgoritmo cradle 47 4.1 Analisi di validit relativa dei cluster 47 4.1.1 Dunns Index 48 4.1.2 Davies-Bouldin Index 48 4.1.3 Xie-Beni Index 49 4.1.4 Misure intra e inter cluster 50 4.2 Sperimentazione su CRADLE 51 4.2.1 Composizione dei pattern set 52 4.2.2 Composizione dellanalisi di validit 53 4.2.3 Presentazione dei risultati 53 4.3 Valutazione della fase III in CRADLE 58 4.4 Analisi di validit esterna dei risultati di CRADLE 61 5 conclusioni e sviluppi futuri 67 5.1 Sviluppi futuri 68 3.3.2 iii appendice 71 a sperimentazione 73 a.1 Pattern set 1 73 a.2 Pattern set 2 75 a.3 Pattern set 3 77 a.4 Pattern set 4 79 a.5 Pattern set 5 81 a.6 Pattern set 6 83 a.7 Pattern set 7 83 a.8 Pattern set 8 85 a.9 Pattern set 9 87 a.10 Pattern set 10 89 bibliografia 91

ELENCO DELLE FIGURE

Figura 1 Figura 2

Figura 3 Figura 4

Figura 5 Figure 6

Figura 7

Figura 8

Figura 9

Figura 10

Figura 11

Figura 12

Figura 13

Sequenza dei passi 1, 2, 3 del clustering. 5 Rappresentazione di un cluster curvilineo i cui elementi (o punti) sono approssimativamente equidistanti dallorigine. 6 Tassonomia degli approcci di clustering. 11 Dendrogramma rappresentante i risultati di un algoritmo di clustering gerarchico applicato al pattern set {A, . . . , G}. Confronto tra cluster fuzzy (vedasi F1 e F2 ) e cluster hard (H1 e H2 ). 22 Relazione di inversa proporzionalit tra la dispersione nale e il numero di cluster. 45 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set VI. 55 Graco che mostra il processo di minimizzazione della dispersione durante una esecuzione dellalgoritmo CRADLE (k = 7). 55 Estratto dei risultati del clustering effettuato dallalgoritmo CRADLE sul pattern set VI. 57 Comparazione dellandamento della dispersione nel clustering del pattern set IV eseguito con e senza fase di selezione. 59 Parte di una classicazione eseguita da un utente sul pattern set I (no al 5 cluster). 63 Parte di una classicazione eseguita da un utente sul pattern set I (dal 5 cluster al 10). 64 Estratto dei risultati di clustering effettuato dallalgoritmo CRADLE sul pattern set I (no al 5 cluster). 65

17

xiii

Figura 14

Figura 15

Figura 16

Figura 17

Figura 18

Figura 19

Figura 20

Figura 21

Figura 22

Figura 23

Estratto dei risultati di clustering effettuato dallalgoritmo CRADLE sul pattern set I (dal 5 cluster al 10). 66 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set I. 74 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set II. 76 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set III. 78 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set IV. 80 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set V. 82 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set VII. 84 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set VIII. 86 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set IX. 88 Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set X. 90

E L E N C O D E L L E TA B E L L E

Tabella 1 Tabella 2

Complessit degli algoritmi di clustering. 30 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set VI. 54

xiv

Tabella 3 Tabella 4

Tabella 5

Tabella 6

Tabella 7

Tabella 8

Tabella 9

Tabella 10

Tabella 11

Tabella 12

Tabella 13

Numero ottimale di cluster per ogni pattern set. 56 Comparazione della dispersione e degli indici di validit rispetto al clustering del pattern set IV per k = 5 con e senza fase di selezione. 60 Comparazione delle metriche della classicazione eseguita da un umano sul pattern set I con le metriche relative al clustering eseguito dallalgoritmo CRADLE con e senza fase di selezione per lo stesso k. 62 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set I. 73 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set II. 75 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set III. 77 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set IV. 79 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set V. 81 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set VII. 83 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set VIII. 85 Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set IX. 87

xv

xvi

acronimi

Tabella 14

Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set X. 89

ACRONIMI

ANN

Articial Neural Network Clustering by RAndom minimimum Dispersion based LEarning Evolutionary Programming Evolutionary Strategy Fuzzy C-Mean Descrittori di Fourier Genetic Algorithm Markov Chain Monte Carlo Minimum-Variance Clustering Minimum Spanning Tree Simulated Annealing Self-Organizing Map Shortest Spanning Path

CRADLE

EP ES FCM FD GA MCMC MVC MST SA SOM SSP

Parte I CLUSTERING

INTRODUZIONE AL CLUSTERING

Questo capitolo ha lobiettivo di presentare il concetto di clustering nella sua accezione pi generale. In seguito verranno approfonditi gli aspetti componenti dei processi di clustering e verr presentata una tassonomia dei vari metodi di clustering. Il clustering il processo di classicazione automatica (cio non supervisionata) di dati, non etichettati, in gruppi omogenei (cluster). Esso consiste perci nellorganizzazione di una collezione di dati (rappresentati solitamente come vettori di misure o come punti in uno spazio multidimensionale) in gruppi basati sulla somiglianza. Intuitivamente, i dati apparteneti a un gruppo sono pi simili tra di essi rispetto a un dato appartente a un gruppo diverso. La variet di tecniche per rappresentare i dati, per misurare la somiglianza fra essi e inne per raggrupparli ha causato il proliferare di un vasto e confuso assortimento di metodi di clustering [Jain et al., 1999], che va anchesso, appunto, classicato. innanzitutto importante comprendere la differenza fra clustering (classicazione non supervisionata) e analisi discriminante (classicazione supervisionata): nel primo caso il problema da risolvere consiste nel raggruppare una data collezione di dati non etichettati in gruppi signicativi; nel secondo caso, data una collezione di dati etichettati (usata come training set al ne di descrivere le classi di dati, o gruppi), il problema consiste nelletichettare i dati non ancora etichettati. Come gi accennato il clustering utile in alcuni processi di exploratory data analysis, ma anche di raggruppamento, decision-making e machine-learning, quali ad esempio: image segmentation, pattern recognition, information retrieval, data mining. In ogni campo di ricerca viene utilizzata una terminologia diversa per le parti componenti del processo di clustering e vengono fatte delle assunzioni sui dati diversi in base al contesto in cui il clustering viene usato. Lobiettivo di questo capitolo quello di esaminare i concetti principali delle metodologie di clustering che hanno le loro radici nella statistica e nella teoria delle decisioni.

introduzione al clustering

Tale scelta deriva dalla necessit di evitare che la trattazione risulti troppo vasta e dispersiva. Tuttavia, quando necessario, si far riferimento a concetti e tecniche derivanti dalle metodologie di clustering afferenti ad altri campi di ricerca. 1.1 definizioni e notazione

In questa sezione vengono introdotte le denizioni e le notazioni di frequente utilizzo. pattern: x detto anche vettore delle feature, osservazione o dato un singolo elemento usato dallalgoritmo di clustering. Solitamente consiste in un vettore di d misure: x = x1 , . . . , xd . feature: anche detto attributo, il componente scalare xi di un pattern x. dimensione del pattern: d la cardinalit del vettore x. pattern set: insieme dei pattern da raggruppare denotato con X = {x1 , . . . , xn }. Li-esimo pattern di X il vettore xi = xi,1 , . . . , xi,d . In molti casi questo insieme rappresentato come una matrice di dimensione n d. class: detto anche cluster, un insieme di pattern le cui feature sono caratterizzate da un criterio in comune (ad esempio: misura di similarit minore di una certa soglia). label: o etichetta, li , assegnata dagli algoritmi di clustering di tipo hard1 a ogni patter xi al ne di identicare la sua classe dappartenenza. labels set: dato un pattern set X linsieme delle label L = {l1 , . . . , ln } con li {1, . . . , k} dove k il numero di classi (o cluster). grado di appartenenza: spesso chiamato anche fractional degree of membership, fij un valore numerico assegnato dagli algoritmi di clustering di tipo fuzzy2
1 Algoritmi che assegnano ogni pattern a un unico cluster (vedi 1.6), anche detti di tipo crisp. 2 Algoritmi che assegnano a ogni pattern un grado di appartenenza, fij appunto, al cluster j-esimo (vedi 1.6 e per dettagli 2.3).

1.2 i passi di un processo di clustering

a ogni pattern xi per il cluster j: indica, appunto, il grado di appartenenza del pattern al cluster. distanza: (quasi sempre) una metrica usata per quanticare la similarit fra pattern; ne esistono di vari tipi. 1.2 i passi di un processo di clustering

Generalmente il processo di clustering composto dai seguenti passi [vedi Jain and Dubes, 1988]: 1. rappresentazione dei dati (passo che pu, opzionalmente, includere anche il processo di estrazione e/o selezione delle feature). 2. denizione di una funzione di distanza, cio di una misura di similarit coerente con il dominio dei dati. 3. clustering (o raggruppamento). 4. astrazione sui dati (se reputata necessaria). 5. valutazione delloutput, cio dei cluster ottenuti (se reputata necessaria).

Figura 1: Sequenza dei passi 1, 2, 3 del clustering. [Jain et al., 1999]

1.3

rappresentazione dei pattern

Per rappresentazione dei pattern si intende il numero di classi e di pattern di cui si disponde, nonch il numero, il tipo e la scala delle feature da utilizzare per lalgoritmo di clustering. Poich il problema del clustering un problema molto vasto e non meno soggettivo, non esistono, a oggi, delle indicazioni teoriche che indichino la rappresentazione dei pattern e le feature appropriate da adottare in una specica

introduzione al clustering

situazione. Conseguentemente la generazione dei pattern un processo non controllabile. Perci compito dellutente raccogliere informazioni, dati e congetture riguardanti il contesto specico dellalgoritmo di clustering che si intende sviluppare e progettare il pattern set che esso utilizzer. A causa delle evidenti difcolt che questo passo presenta viene spesso assunta a priori del processo di clustering lesistenza di un pattern set utile allo scopo e coerente con il contesto in cui si intende sviluppare ed eseguire tale processo: ci esattamente la scelta che si adottata per lalgoritmo proposto in questa tesi. Come dimostrato spesso in letteratura, uninvestigazione approfondita sulle feature e le possibili modiche che possono esser loro apportate conduce lo stesso processo di clustering a dei risultati notevolmente migliori [Jain et al., 1999]. di seguito riportato, con lausilio della gura 2, un esempio di quanto appena affermato:

Figura 2: Rappresentazione di un cluster curvilineo i cui elementi (o punti) sono approssimativamente equidistanti dallorigine.

Come la gura soprastante evidenzia i punti nello spazio bidimensionale, rappresentanti i pattern, sono raggruppati visivamente in un gruppo curvilineo: il criterio uniformante di tale classe di punti la loro approssimativa equidistanza dallorigine degli assi. In questo caso, mentre una rappresentazione dei pattern basata su coordinate polari porterebbe un qualsiasi algoritmo di clustering a rilevare ununica classe di pattern, una rappresentazione basata su coordinate cartesiane, con tutta probabilit ed aldil dellalgoritmo utilizzato, porterebbe alla divisione dei pattern in questione in 2 o pi classi distinte poich rileverebbe uno scarso grado di compattezza fra i punti. Questo esempio dimostra la

1.4 selezione ed estrazione delle feature

natura soggettiva e relativa del clustering e dei criteri su cui esso si basa. chiaro a questo punto come un pattern possa misurare sia un oggetto sico sia una nozione astratta, scegliendo adeguatamente non solo le feature ma anche il sistema di riferimento delle misure che si utilizzano per ottenerle. Solitamente i pattern, come accennato nella sezione 1.1, sono rappresentati come vettori multidimensionali dove ogni dimensione corrisponde a una singola feature. 1.4 selezione ed estrazione delle feature

Esistono 2 tipi di feature [vedi Gowda and Diday, 1992]: 1. quantitative a) valori continui b) valori discreti c) intervalli di valori le feature appartenenti a questa tipologia possono essere misurate tramite scale con valori di riferimento signicativi o altrimenti tramite scale nominali o ordinali 2. qualitative a) nominali b) ordinali Tuttavia le feature possono anche essere di tipo strutturato, rappresentate cio attraverso strutture ad albero dove ogni nodo padre una generalizzazione concettuale dei suoi nodi gli ed essi sono una sua specializzazione concettuale. Esempi di rappresentazione di pattern facenti uso di feature strutturate sono stati proposti in letteratura; ad esempio i simbolic object in Diday [1988], oggetti deniti da una congiunzione logica di eventi che collegano valori e feature, le quali, a loro volta, possono assumere uno o pi valori. spesso utile selezionare dallinsieme iniziale solo le feature pi descrittive e discriminanti e basare le seguenti fasi di analisi esclusivamente su questinsieme restrizione. Il processo di identicazione di un sottoinsieme di feature esistenti che risultino pi efcaci per un uso susseguente

introduzione al clustering

detto selezione delle feature, mentre lestrazione delle feature consiste nelluso di una o pi trasformazioni di esse al ne di computare nuove feature. In entrambi i casi lobiettivo migliorare la classicazione, lefcienza computazionale o le prestazioni. Per sua natura, il processo di selezione delle feature necessariamente un processo ad hoc che va ripetuto varie volte al ne di effettuare una valutazione sui cluster ottenuti dopo aver computato la loro validit tramite degli indici appositi. Tra i beneci apportati dallestrazione delle feature, quello che sicuramente pi intuitivo, nonch pi visibile alluomo, labilit e la possibilit di produrre output ispezionabili visivamente da esso. 1.5 misure di similarit

La prossimit fra pattern e la scelta riguardante le modalit con cui calcolarla laspetto che maggiormente inuenza i risultati di un algoritmo di clustering. Essa misurata calcolando la distanza fra le coppie di pattern facenti parte del pattern set. Esistono una lunga serie di misure di similarit, alcune delle quali, come la distanza euclidea, utilizzabili per riettere la diversit fra due pattern, altre utili invece a caratterizzare la similarit concettuale fra pattern. A causa della gi enunciata variet di tipi e scale di feature, la scelta della misura di similarit da utilizzare per calcolare la distanza fra pattern in un algoritmo di clustering di vitale importanza per la sua buona riuscita. Ci poich la similarit un aspetto fondamentale per la denizione di un cluster di pattern. La scelta adottata pi frequentemente a tal riguardo quella di calcolare la similarit (o la difformit) fra una coppia di pattern utilizzando una funzione di distanza denita sullo spazio delle feature. La misura di similarit pi conosciuta per feature di tipo continuo la distanza euclidea,
d
1 2

d2 xi , xj =
k=1

xi,k xj,k

= xi xj 2 ,(1.1)

che un caso speciale della metrica Minkowski:


d
1 p

dp xi , xj =
k=1

| xi,k xj,k |p

= xi xj

p .(1.2)

1.5 misure di similarit

Il motivo principale per cui la distanza calcolata tramite la formula 1.1 (distanza euclidea) comunemente usata risiede nel fatto che essa lavora bene su data set compatti oppure su data set le cui classi di dati sono isolate. Lo svantaggio invece di usare la misura calcolata dalla formula 1.2 (minkowski metric) risiede nella sua tendenza a lasciar prevalere le feature con la scala maggiore rispetto alle altre. Comunque, una soluzione a questo problema esiste ed relativamente semplice: sufciente normalizzare le feature a valori continui afnch divengano cos composte da intervalli di valori. Un problema comune alle misure di distanza 1.1 e 1.2 la correlazione lineare fra le feature, tuttavia questa distorsione pu essere limata applicando una trasformazione chiamata whitening [Jain et al., 1999] o pi semplicemente applicando la distanza di Malanobis. Diversamente, quando si deve computare la distanza fra pattern le cui feature sono di tipo non continuo, questo processo diventa molto pi complesso per i due seguenti motivi: 1. la nozione di prossimit binaria per valori nominali e scalari; 2. tipi differenti di feature non sono comparabili. Al ne di risolvere questo problema, in ambito pratico sono state sviluppate delle misure di prossimit per pattern composti da feature non omogenee anche se non compito di questo lavoro di tesi analizzare queste particolarit. Una classe di misure di distanze di notevole interesse sicuramente quella costituita dalle misure dipendenti da contesto; misure che tengono in considerazione gli effetti dei punti circostanti. Una misura di questo tipo, denita usando il contesto, , ad esempio, la mutual neighbor distance (MND). Nonostante essa non sia realmente una metrica, poich non soddisfa la diseguaglianza triangolare3 , stata ampiamente utilizzata, con buoni risultati, in molte applicazioni. Ci supporta lidea che la difformit non debba necessariamente essere una metrica. In generale, il teorema del brutto anatroccolo di Watanabe enuncia: nella misura in cui usiamo un insieme nito di predicati che sono in grado di distinguere due oggetti
3 Propriet che caratterizza una distanza in uno spazio metrico [Wikipedia]

10

introduzione al clustering

qualsiasi presi in considerazione, il numero di predicati condivisi da essi costante, indipendentemente dalla scelta degli oggetti. Questo teorema afferma quindi che possibile rendere due pattern qualsiasi ugualmente simili, purch essi vengano codicati con un numero sufcientemente alto di feature; di conseguenza, qualsiasi due pattern saranno altrettanto simili purch non venga usata informazione di dominio addizionale nel calcolo della loro similarit. In conclusione, la nozione appena data risulta utile e molto evidente nei clustering di tipo concettuale, tipologie nelle quali vengono appunto utilizzate le misure di similarit concettuali che sono, indubbiamente, le pi generali in assoluto. 1.6 tecniche di clustering

Il raggruppamento, passo focale dellintero processo di clustering, pu essere svolto in molti modi. infatti possibile optare per una tecnica di clustering di tipo hard (o crisp), che d in output una partizione dei dati in gruppi, o per un clustering di tipo fuzzy, che invece d in output delle indicazioni sul grado di appartenenza di ogni shape ad ogni gruppo. Inoltre possibile distinguere fra cluster gerarchici, i quali producono una serie di partizioni annidate basandosi su criteri di divisione e fusione guidati dalla nozione di similarit scelta, e clustering partizionali, i quali identicano la partizione ottimale (solitamente non globale) dato un criterio di clustering. Esistono ulteriori tecniche di raggruppamento di tipo probabilistico e graph-theoretic. 1.6.1 Tassonomia

Al ne di descrivere i vari approcci di raggruppamento dei dati la gura 3 illustra una loro organizzazione gerarchica.

1.6 tecniche di clustering

11

Figura 3: Tassonomia degli approcci di clustering. [Jain et al., 1999]

Il primo livello della tassonomia presentata distingue gli approcci gerarchici da quelli partizionali; la differenza principale tra essi risiede nel numero di partizioni restituite come risultato nale dallalgoritmo di clustering: mentre gli algoritmi con approccio partizionale producono una sola partizione, quelli con approccio gerarchico producono una serie di partizioni annidate. Un problema iniziale e trasversale a tutti gli approcci di clustering il loro collocamento nella tassonomia. Vediamo di seguito una comparazione delle tecniche opposte in termini di approccio. agglomerativi\divisivi Questa denizione riguarda direttamente la struttura dellalgoritmo di clustering: mentre il processo di un clustering con approccio agglomerativo parte da una congurazione iniziale in cui ogni pattern appartiene ad un cluster singoletto (contenente solo questo pattern) e procede per fusioni successive dei cluster nch non converge ad uno specico criterio, un processo di clustering con approccio divisivo inizia loperazione di raggruppamento con tutti i pattern afferenti ad un singolo cluster che viene man mano diviso nch non raggiunto il criterio di stop. monotetici\politetici Questo aspetto correlato alla frequenza duso delle feature nel clustering; se sequenziale o simultanea al processo. La quasi totalit degli algoritmi sono politetici poich, una volta

12

introduzione al clustering

generate le feature, essi computano le distanze fra i pattern; tutte le decisioni seguenti inerenti il raggruppamento sono basaste su di esse non mettendo mai in discussione il passo iniziale. crisp\fuzzy Gli algoritmi con approccio crisp (anche detti hard) assegnano ogni pattern a un unico cluster, mentre, gli algoritmi con approccio fuzzy assegnano ad ogni pattern un grado di appartenenza realtivo ad ogni cluster. deterministici\stocastici La scelta di uno tra questi due approcci opposti assume rilevanza soprattutto per tecniche di clustering partizionali poich nalizzate ad ottimizzare una funzione di errore quadratico. Infatti, questa ottimizzazione pu essere ottenuta utilizzando tecniche tradizionali oppure attraverso lesecuzione di una ricerca random. incrementali\non incrementali Nel caso in cui il pattern set su cui lalgoritmo di clustering deve operare di grandi dimensioni, cos come nel caso in cui si sia sottoposti a vincoli sul tempo desecuzione o sullo spazio di memoria si pone automaticamente come un problema rilevante la scelta di uno di questi due approcci. 1.6.2 Criteri per la scelta

Come appena visto nel dettaglio, esiste una collezione molto vasta di approcci di clustering che pu quantomeno confondere lutente nella scelta dellapproccio di raggruppamento che pi saddice allo specico contesto operativo in cui esso agisce. Purtroppo non esiste in letteratura una trattazione delle questioni riguardanti tale scelta. Questioni critiche per il conseguimento di risultati signicativi, quali: la normalizzazione dei dati da operare, la misura di similarit appropriata alla situazione, le modalit di utilizzo ed incorporamento nellalgoritmo di clustering della conoscenza posseduta sul dominio dei dati, la scelta della tecnica pi efciente dato il contesto,

1.7 astrazione sui dati

13

rimangono spesso irrisolte o senza risposta oggettiva. Pur esistendo in letteratura dei criteri di ammissibilit nalizzati alla comparazione degli algoritmi di clustering [Fisher and Van Ness, 1971], la natura soggettiva di questo problema rende impensabile la messa a punto di un processo di clustering che funzioni universalmente, o anche solo la stesura di linee guida teoriche che guidino la risposta ai suddetti quesiti e, quindi, le conseguenti scelte. In tale contesto diventa perci essenziale per lutente di un processo di clustering non solo avere una conoscenza approfondita della tecnica di clustering che si sceglie dutilizzare ma anche conoscere i dettagli del processo di generazione dei dati cos come possedere esperienza nel dominio applicativo. La correttezza della valutazione degli approcci pi efcaci da utilizzare per un dato problema di clustering proporzionale alla quantit di informazione che si possiede sui dati. La conoscenza del dominio, infatti, pu essere utilizzata per migliorare fasi cruciali del processo di clustering scelto, quale, ad esempio, la computazione delle similarit fra coppie di pattern e lestrazione delle feature. 1.7 astrazione sui dati

Poich lo scopo delle applicazioni di clustering quello di scoprire il numero ottimale di classi di pattern, il suo prodotto nale una conseguente partizione del pattern set. Una partizione da idea della separabilit dei dati in classi: anche se sarebbe possibile operare, successivamente al raggruppamento, una classicazione supervisionata di tali cluster, spesso, in molte applicazioni risulta necessario rappresentare o descrivere i cluster risultati tramite una qualche forma di astrazione. Lastrazione sui dati risulta essere un tipo di generalizzazione molto utile dato che: fornisce alluomo una descrizione semplice intuitiva e spesso anche visiva dei cluster (nel caso in cui si tratti di cluster concettuale non deve essere svolto alcun processo addizionale), aiuta a realizzare una compressione dei dati che possa essere esplosa quando necessario,

14

introduzione al clustering

incrementa lefcienza di processi decisionali quali, per esempio, lutilizzo del clustering per migliorare i processi di indicizzazione e ritrovamento delle informazioni in sistemi in information retrieval. Sebbene la costruzione di una rappresentazione efcace dei cluster sia un passo importante nei processi decisionali, essa non stata ancora ben esaminata [Jain et al., 1999]. Le possibili astrazioni dei cluster sono stata schematizzate nei seguenti punti cardine da Michalski et al.: 1. rappresentazione di un cluster tramite il suo centroide (o prototipo): lo schema di rappresentazione di cluster pi comunemente usato poich lavora in modo ottimo con cluster compatti ed isotropici. Tuttavia, quando i cluster sono allungati e non isotropici questa forma dastrazione dati non raggiunge lo scopo pressatosi. 2. rappresentazione tramite i punti maggiormente distanti del cluster: sia che il cluster da rappresentare sia compatto o allungato, sia che esso sia isotropico o meno, luso di un insieme composto dai suoi punti estremi funziona comunque bene. Comunque bisogna tenere in considerazione che il numero di punti da collezionare e memorizzare proporzionale alla complessit della forma del cluster. 3. rappresentazione di un cluster utilizzando i nodi di un albero di classicazione. 4. rappresentazione di un cluster tramite le espressioni logico-congiuntive (ad esempio: [x1 > 3] [x2 < 2]); possono, nella loro forma semplice, descrivere solamente cluster dalla forma rettangolare o isotropica. 1.8 valutazione del clustering

ormai chiaro che tutti gli algoritmi di clustering, indipendentemente dallapproccio che essi utilizzano, producono dei cluster. Va osservato che ci accade aldil del fatto che i dati realmente contengano o meno delle classi o delle sotto-strutture. evidente come la presenza insita di classi di dati abbia come diretta conseguenza dei risultati migliori per gli algoritmi di clustering.

1.8 valutazione del clustering

15

Lultimo (ma non per questo meno importante) passo di un processo di clustering consiste nella valutazione dei risultati che esso produce. La valutazione che sorge spontanea relativamente a quanto appena affermato discende dalla constatazione che dei dati che non contengono classi e/o strutture non dovrebbero essere processati per il raggruppamento. Per tale motivo uno degli aspetti delle valutazione del clustering proprio la valutazione del dominio dei dati. Tuttavia questo settori di studi (detti clustering tendency) unarea di ricerca inattiva. Diversamente invece, lanalisi di validit dei cluster, detta cluster validity analysis, un campo di ricerca molto pi attivo riguardante la valutazione delloutput di un processo di clustering. Lanalisi dei cluster un processo oggettivo [Dubes, 1993] e ha lo scopo di determinare il grado di signicativit delloutput. Il concetto di signicativit delloutput strettamente correlato alla misura della certezza con cui si sono raggiunti i risultati: risultati raggiunti casualmente sono quindi considerati non signicativi. Esistono principalmente tre tipi di validazione: esterna Comparazione della partizione risultante ottenuta con strutture prestabilite e/o possedute a priori. interna Esecuzione di test di validit volti a determinare se la partizione risultate intrinsicamente appropriata ai dati. relativa Comparazione dei testi di validit relativi a diversi output e misurazione tramite appositi indici di validit dei rispettivi gradi di signicativit e merito. In questo lavoro di tesi, precisamente nel capitolo 4, viene svolta una valutazione di tipo relativo sui risultati conseguiti dallalgoritmo di shape clustering proposto. Si rimanda a tale sezione la trattazione degli indici utilizzati e le conseguenti conclusioni.

ALGORITMI DI CLUSTERING

Lo scopo di questo capitolo affrontare dettagliatamente vari approcci di clustering ed offrire una panoramica sulle idee alla base degli algoritmi di clustering pi conosciuti, sui loro pro e contro, nonch sulla loro applicabilit in contesti pratici. 2.1 approccio gerarchico

Un algoritmo gerarchico produce un dendrogramma rappresentante i gruppi annidati di pattern e il livello di similarit al variare del quale essi mutano. La gura 4 rappresenta appunto un dendrogramma e aiuta a dedurre visivamente il concetto espresso. facilmente intuibile che lutilit di tale struttura gerarchica consiste nella facilit con cui possibile ottenere diversi raggruppamenti dei pattern semplicemente considerando livelli differenti del dendrogramma generato dallalgoritmo di clustering.

Figura 4: Dendrogramma rappresentante i risultati di un algoritmo di clustering gerarchico applicato al pattern set {A, . . . , G}.

Generalmente, un algoritmo di clustering con approccio gerarchico una variante di uno dei due algoritmi di que-

17

18

algoritmi di clustering

sto tipo pi popolari: lalgoritmo single-link e lalgoritmo complete-link. 2.1.1 Algoritmi single-link e complete-link

Ci che distingue questi due algoritmi il modo in cui essi caratterizzano la misura di similarit fra coppie di pattern. Premesso che entrambi i metodi computano le distanze fra tutte le possibili coppie di pattern appartenenti a due cluster diversi; mentre gli algoritmi complete-link considerano la distanza massima di tutte le misurazioni relative ai pattern di due cluster come la distanza fra questi, gli algoritmi single-link considerano la distanza minima a tal proposito. Invece, ci che accomuna entrambi gli algoritmi il passo successivo del processo di clustering. I due cluster sotto esame vengono fusi al ne di formare un cluster di dimensioni maggiori basato su un criterio di distanza minima. A tal riguardo, per una maggior comprensione del passo appena spiegato, utile riettere riguardo la natura agglomerativa di entrambi gli algoritmi citati; essi, infatti, considerano inizialmente ogni pattern come un cluster e vanno via via adoperando fusioni fra cluster seguendo un criterio di distanza minima. Questi due metodi presentano, inoltre, ulteriori e signicative differenze relativamente ai risultati ottenuti. Gli algoritmi complete-link producono dei cluster molto pi compatti [Baeza-Yates, 1992]; contrariamente, i single-link, soffrendo del cosiddetto chaining effect, cio della particolare sensibilit a pattern concatenati [Nagy, 1968], producono dei cluster allungati. Concludendo si pu affermare che da un punto di vista pratico gli algoritmi complete-link producono gerarchie di cluster pi utili rispetto a quelle prodotte dagli algoritmi single-link, che tuttavia hanno il pregio di essere pi versatili. 2.2 approccio partizionale

Diversamente dagli algoritmi di clustering con approccio gerarchico, gli algoritmi di clustering partizionali ottengono come output una sola partizione del pattern set. Di conseguenza, quando si opera su data set di grandi dimensioni, questa caratteristica rende i metodi di clustering che utiliz-

2.2 approccio partizionale

19

zano tale approccio molto pi vantaggiosi rispetto a quelli che utilizzano un approccio gerarchico. Questi ultimi, in tale caso, pagano un costo computazionale proibitivo. Uno svantaggio comune a tutti gli algoritmi partizionali consiste nella necessit di scegliere a priori il numero di cluster che si ritiene pi opportuno. A tal riguardo vengono spesso effettuati studi di validit dei cluster1 con lintento di effettuare in modo scientico questa scelta chiave e, opzionalmente, migliorare i risultati ottenuti rieseguendo il clustering per il numero di cluster ritenuto migliore dallanalisi svolta. 2.2.1 Algoritmi di clustering basati su errore quadratico

La funzione discriminante maggiormente utilizzata negli algoritmi di clustering partizionali lerrore quadratico, funzione ottimizzata per lavorare bene con cluster isolati e compatti. Ecco la formula generale dellerrore quadratico per un clustering L relativo ad un pattern set X contenente K cluster:
K nj

e (X, L) =
2 j=1 i=1

xi cj 2 ,

(j)

(2.1)

dove (j) xi li-esimo pattern appartenente al j-esimo cluster, cj il centroide del j-esimo cluster. Gli algoritmi di clustering basati su questo criterio sono chiamati in letteratura squared error clustering algorithms e seguono tutti, per grandi linee, il seguente schema operazionale: 1. selezione di una partizione iniziale del pattern set con un numero sso di cluster e centroidi. 2. assegnazione di ogni pattern al cluster rappresentato dal centroide ad esso pi vicino; ricomputazione di tutti i centroidi; ripetizione del corrente passo nch non incontrato un criterio di convergenza (ad esempio nch il cluster dappartenenza stabile).

1 Argomento trattato nella sezione 1.8

20

algoritmi di clustering

3. fusione e divisione dei cluster ottenuti in base ad euristiche e, qualora necessario, ripetizione del passo 2. Lalgoritmo k-mean Il k-mean lalgoritmo basato su errore quadratico pi semplice e pi comunemente usato [McQueen, 1967]. Esso inizia da una partizione del pattern set scelta in modo casuale e procede riassegnando i pattern ai cluster in base alla similarit fra essi e i centrodi; ci nch non viene incontrato un criterio di convergenza . La popolarit di questo algoritmo dovuta alla sua facilit di implementazione e alla sua complessit lineare O(n), dove n il numero di pattern. Tuttavia esso presenta uno svantaggio notevole: sensibile alla selezione iniziale della partizione e pu convergere ad un minimo locale della funzione criterio se questa non scelta in modo appropriato. Se si in grado di ottenere una congurazione iniziale buona con un qualsiasi altro approccio in un tempo ragionevole, questo algoritmo lavorer molto bene anche con data set di grandi dimensioni. Per tale motivo, in letteratura [vedi Anderberg], sono state proposte sue varianti con lintento di eliminare questa limitazione. Alcune delle varianti proposte cercano di selezionare una buona partizione iniziale afnch la probabilit che lalgoritmo converga a un minimo globale aumenti; altri invece, operano fusioni e divisioni dei cluster ottenuti in base alla varianza di una soglia specicata a priori. questo il caso dellalgoritmo ISODATA, proposto da Ball and Hall [1965]. Unulteriore variazione dellalgoritmo k-mean, proposta da Diday [1973] e Symon [1977] e implementata nellalgoritmo di dynamic clustering, riguarda la selezione di un criterio del tutto diverso da quello dellerrore quadratico: la stima di massima verosimiglianza. 2.2.2 Algoritmi di clustering basati sulla teoria dei gra

tipici criteri di convergenza: nessuna riassegnazione dei pattern a nuovi cluster, errore quadratico inferiore ad una certa soglia.

Questa tecnica di clustering si presta sia ad approcci di tipo partizionale, sia ad approcci gerarchici. Il pi conosciuto algoritmo di clustering di tipo divisivo e graph-theoretic basato su una prima fase incentrata sulla

2.3 approccio fuzzy

21

costruzione del Minimum Spanning Tree (MST) del pattern set e su una fase nale che, tramite leliminazione dei bordi del MST, genera i cluster. Come anticipato anche gli algoritmi con approccio gerarchico sono correlati a questa metodologia di clustering; infatti, i cluster generati da algoritmi single-link sono considerabili come sotto-gra del minimum spanning tree, cos come i cluster ottenuti da algoritmi complete-link sono considerabili come sotto-gra completi e massimali. 2.2.3 Algoritmi di clustering mixture-resolving

Il minimum spanning tree lalbero ricoprente minimo di un grafo. In tale contesto il grafo composto dai pattern, intesi come punti dello spazio delle feature.

Lapproccio di clustering di tipo mixture-resolving stato trattato in molti modi ma lidea sottostante e comune a tutti gli algoritmi di questa classe lassunzione iniziale che i pattern da raggruppare siano in qualche modo governati da una distribuzione statistica. Lobiettivo di questi algoritmi di clustering , perci, identicare i parametri statistici di ogni cluster, nonch il numero stesso ottimale di cluster. 2.3 approccio fuzzy

Gli approcci tradizionali di clustering, come visto nora, generano partizioni e si basano, inoltre, su una corrispondenza N 1 fra pattern e partizioni. Lapproccio fuzzy [Bezdek, 1981] estende questa nozione: esso ha lo scopo di creare una corrispondenza N N associando ogni pattern ad ogni cluster tramite lutilizzo di una funzione dappartenenza [Zadeh, 1965]. Perci, il risultato di un algoritmo di clustering fuzzy non sar una partizione crisp dei pattern bens una partizione soft (fuzzy). Di seguito si descrivono sommariamente i passi di un algoritmo di clustering fuzzy: 1. creare una matrice dappartenenza U di dimensione N K , dove N il numero di pattern e K il numero di cluster. Lelemento uij di questa matrice rappresenta il grado dappartenenza delloggetto xi al cluster cj ed , tipicamente, un valore compreso in [0, 1]; 2. utilizzare la matrice U al ne di calcolare il valore della funzione costo associata alla corrispondente par-

22

algoritmi di clustering

tizione. Una possibile funzione costo di tipo fuzzy :


N K

E2 (X, U) =
i=1 k=1

uij xi ck 2 ,

(2.2)

dove ck =
N i=1

uij xi

il centroide del k-esimo cluster fuzzy;

3. riassegnare i pattern ai cluster al ne di ridurre il valore della funzione 2.2 e ricalcolare la matrice U; 4. ripetere il passo 2 nch i cambiamenti nella matrice U sono signicativi. Nella fuzzy clustering ogni cluster un insieme fuzzy. tale in quanto ciascun pattern appartiene allinsieme con un certo grado di appartenenza. La gura 5 mostra tale idea.

Figura 5: Confronto tra cluster fuzzy (vedasi F1 e F2 ) e cluster hard (H1 e H2 ).

Una descrizione compatta ma altrettanto chiara dei fuzzy cluster F1 e F2 mostrati dalla gura 5 la seguente: F1 = {(1, 0.9) , (2, 0.8) , . . . , (9, 0.0)} , F2 = {(1, 0.0) , . . . , (8 , 1.0) , (9, 0.9)} ,

2.4 approccio basato sulle reti neurali artificiali

23

dove le coppie ordinate (i, i ) indicano li-esimo pattern e il suo grado dappartenenza al cluster. Chiaramente valori maggiori del grado di appartenenza indicano una maggiore possibilit che un pattern appartenga al cluster in questione. Un aspetto molto interessante degli algoritmi di fuzzy clustering risiede nella possibilit di tramutare facilmente i risultati in cluster di tipo crisp semplicemente ltrando i pattern il cui grado dappartenenza al cluster risulti inferiore ad una specica e prestabilita soglia. La denizione della funzione costo il problema principale e di maggior rilevanza negli algoritmi clustering di questo tipo: essa pu essere basata sui centroidi o, in alternativa, sullerrore quadratico. Lalgoritmo basato su approccio fuzzy pi popolare il Fuzzy C-Mean (FCM). Sebbene sia esso in grado di evitare la convergenza ad un minimo locale molto meglio rispetto al k-mean, tale pericolo non del tutto scongiurato durante il suo utilizzo. 2.4 approccio basato sulle reti neurali artificiali

Le reti neurali articiali, chiamate in letteratura Articial Neural Network (ANN), sono uno strumento sviluppato inizialmente per le reti neurali biologiche [Hertz et al., 1991]. Negli anni esse sono state usate con successo sia per la classicazione che per il clustering grazie ad alcune loro caratteristiche rilevanti nel campo del raggruppamento automatico dei pattern: 1. processando vettori numerici esse necessitano di una rappresentazione dei pattern composta esclusivamente da feature di tipo quantitativo; 2. sono processabili parallelamente e in modo distribuito, caratteristica che impatta positivamente sulla quantit di tempo desecuzione richiesto; 3. possiedono la capacit di apprendere in modo adattivo linterconnessione fra le feature dei pattern su cui agiscono; ci rende possibile utilizzarle come normalizzatori di pattern e selettori di feature. Le ANN sono basate sul concetto di learning competitivo: pattern simili vengono rappruppati insieme dalla rete e

24

algoritmi di clustering

Questo il ci che viene chiamato learning competitivo

rappresentati tramite ununica entit. Lelemento chiave di questa operazione risiede nel fatto che esse sono in grado di svolgerla automaticamente deducendo le correlazioni intrinseche dei dati. La loro architettura e il loro schema operazionale semplice: i pattern che costituiscono linput vengono associati ai nodi di output tramite dei pesi calcolati iterativamente e aggiornati se necessario nch un criterio di terminazione non soddisfatto. Le similitudini con gli algoritmi classici di clustering sono evidenti: quindi naturale conseguenza ritenere le ANN un approccio valido per il clustering di cluster ipersferici [Hertz et al., 1991], sia per cluster iperellipsoidali. In letteratura, daltronde, sono presenti vari esempi di algoritmi ANN utilizzati con successo per il clustering: le Self-Organizing Map (SOM), anche dette reti di Kohonen, tendono a creare mappe semantiche dove pattern simili sono mappati vicini mentre pattern diversi sono lasciati distanti [Kohonen and Honkela, 2007]. 2.5 approccio evolutivo

Gli operatori evolutivi pi comunemente usati sono la selezione, ricombinazione e mutazione.

Questo approccio nasce da studi nel settore dellevoluzione naturale. Un algoritmo con tale approccio fa uso di operatori evolutivi e di una popolazione di soluzioni utile ad ottenere la partizione ottimale dei dati: le soluzioni candidate per un dato problema di clustering vengono condicate come cromosomi. Un algoritmo di clustering evolutivo, ad alto livello svolge i seguenti passi: 1. sceglie una popolazione casuale di soluzioni, ognuna delle quale corrisponde ad una partizione valida di dati; 2. associa un valore detto di tness2 ad ognuna delle possibili soluzioni; 3. usa gli operativi evolutivi per generare una popolazione di soluzioni successiva; 4. ripete il passo 2 nch alcune condizioni di terminazioni non vengono soddisfatte.
2 Tipicamente un valore di tness inversamente proporzionale al valore dellerrore quadratico.

2.5 approccio evolutivo

25

Le migliori tre tecniche evolutive conosciute sono: gli algoritmi genetici (GA) [vedi Holland, 1975, Goldberg, 1989], le strategie evolutive (ES) [vedi Schwefel, 1981] , la programmazione evolutiva (EP) [vedi Fogel et al., 1965] . Ognuno di questi tre approcci stato gi applicato al problema del clustering, considerato come una minimizzazione del criterio di errore quadratico. Mentre la maggior parte degli algoritmi di clustering esistenti operano una ricerca locale poich la soluzione ottenuta dal passo di iterazione successivo al corrente sempre vicina alla soluzione corrente, gli algoritmi genetici, invece, grazie agli operatori evolutivi, producono soluzioni completamente nuove e differenti dalle precedenti: per questo motivo che riescono ad effettuare una ricerca della soluzione ottima globale. Nonostante si intuisca che gli algoritmi genetici possano essere molti utili nella risoluzione di problemi di clustering, stato dimostrato che approcci ibridi3 hanno delle prestazioni e una efcacia migliore delle situazioni in cui viene utilizzato il solo GA. Ci dovuto al fatto che gli algoritmi genetici presentano alcuni problemi. Ad esempo essi risentono della selezione accurata di vari parametri come la dimensione della popolazione e la probabilit degli operatori evolutivi. Se si considera il problema del clustering come un problema di ottimizzazione il cui scopo quello di trovare direttamente i centrodi dei cluster invece che cercare una partizione ottimale da cui dedurli, allora diventa possibile utilizzare gli approcci propri degli algoritmi di strategie evolutive e di programmazione evolutiva: tali algoritmi permettono infatti di codicare facilmente i centroidi poich supportano la rappresentazione diretta di una soluzione come vettore. stato osservato che sia gli algoritmi afferenti a questi ultimi due approcci, sia gli algoritmi genetici si comportano
3 Un algoritmo ibrido , ad esempio, costituito da una prima fase di ricerca della congurazione ottimale iniziale tramite algoritmo genetico e da una seconda fase nella quale, un altro algoritmo, per esempio il k-mean, utilizza questa congurazione per giungere alla soluzione del problema [Babu and Murty, 1993].

26

algoritmi di clustering

in modo migliore rispetto alle loro controparti fuzzy c-mean e k-mean. Tuttavia, questi algoritmi necessitano la ricerca di parametri ottimali diversi per ogni problema di clustering poich soffrono particolarmente la selezione dei parametri. 2.6 approccio basato su ricerca

Le tecniche algoritmiche di ricerca del valore ottimo di una funzione criterio sono divisibili in due tipologie: deterministiche Tipico approccio goloso (greedy) che garantisce il raggruppamento in una partizione ottimale tramite lenumerazione esaustiva. Gli algoritmi di questo tipo hanno sempre un costo computazionale alto e spesso eccessivo. stocastiche Gli algoritmi che implementano tale metodologia possono essere sia sequenziali che paralleli; essi permettono lesplorazione del campo delle possibili soluzioni in direzioni non localmente ottimali. Una differenza principale tra tecniche algoritmiche di ricerca e gli algoritmi evolutivi risiende nel fatto che, mentre questi ultimi devono necessariamente essere implementati parallelamente, gli algoritmi basati su tecniche di ricerca possono essere sia tali ma anche implementati sequenzialmente. Il Simulated Annealing (SA) un algoritmo di ricerca statistica e sequenziale progettato per evitare soluzioni che corrispondano ad un valore ottimo ma locale. Tale obiettivo viene raggiunto accettando (o meno) in base ad una probabilit la soluzione ottenuta dal passo successivo. La probabilit daccettazione goveranata, in termini di valore iniziale e nale, da un parametro chiamato temperatura che deve necessariamente diminuire molto lentamente al progredire del processo di clustering. In letteratura [Aarts and Korst, 1989] stato dimostrato come lalgoritmo SA garantisca il raggiungimento della soluzione ottimale a un costo temporalmente e computazionalmente elevato. Di seguito sono riportati i passi generali degli algoritmi di clustering basati su ricerca tramite simulated annealing: 1. selezione casuale di una partizione iniziale P0 , calcolo dellerrore quadratico E0 e selezione dei valori per i parametri di controllo, cio temperatura iniziale T0 e temperatura nale Tf ;

2.7 approccio incrementale

27

2. selezione di una partizione P1 vicina a P0 e calcolo del suo errore quadratico E1 : se tale valore risulta maggiore di E0 allora lassegnazione della partizione P1 a P0 dipende dalla probabilit calcolata in base alla temperatura, altrimenti P1 viene assegnato direttamente a P0 . Questo passo viene ripetuto un numero sso di iterazioni; 3. calcolare il valore di c T0 , dove c una costante prestabilita: se tale valore maggiore della temparatura nale Tf tornare al passo 2, altrimenti il processo di clustering viene considerato concluso. 2.7 approccio incrementale

Gli algoritmi di clustering incrementale sono basati sullassunzione che possibile considerare i pattern uno per volta assegnandoli ai cluster gi esistenti. Una descrizione generale di questi algoritmi data di seguito: 1. assegnazione del primo pattern a un cluster; 2. considerato il pattern successivo esso pu essere assegnato a uno dei cluster esistenti o a un cluster nuovo. Questa decisione guidata da un criterio specico, quale, ad esempio, la distanza del pattern dai centroidi dei cluster esistenti; 3. ripetizione del passo 2 no alla conclusione del clustering. Gli algoritmi di clustering che adoperano una metodologia incrementale presentano il notevole vantaggio di non dover memorizzare lintera matrice dei patter in memoria, risultando cos ottimizzati in termini di spazio di memoria. Essi, di solito, non sono iterativi e di conseguenza, anche in termini di tempo desecuzione, hanno dei requisiti di basso livello. Questi due aspetti rendono gli algoritmi di clustering con tale approccio ideali per il raggruppamento di data set di grandi dimensioni. Di seguito ne vengono presentati alcuni: leader algorithm lalgoritmo di clustering pi semplice in termini di complessit, cio O(n). Ha acquisito

28

algoritmi di clustering

molta popolarit conseguentemente alla sua implementazione tramite reti neurali [Carpenter and Grossberg, 1990] e alla facilit di implementazione che lo caratterizza. shortest spanning path un algoritmo di clustering pensato originariamente per la riorganizzazione dei dati ma usato successivamente con ottimi risulati per la revisione automatica di essi [Slagle et al., 1975]. cobweb Ideato da Fisher [1987], un algoritmo di clustering concettuale con approccio incrementale utilizzato con successo in molte applicazioni di ingegneria. Uno svantaggio comune a tutti gli algoritmi di clustering incrementale presentati dato dalla loro dipendenza dallordine: i risultati sono inuenzati e variano al variare dellordine in cui i dati di input vengono loro sottoposti. 2.8 comparazione degli approcci

In questa sezione si riportano considerazioni e conclusioni riguardanti gli approcci di clustering esaminati durante il capitolo corrente. Gli algoritmi basati sulla ricerca, che siano essi deterministici o stocastici, si basano su un criterio che funzione dellerrore quadratico. Per tale motivo le partizioni che essi generano sono tipicamente di forma ipersferica e non posseggono la versatilit posseduta dagli algoritmi di clustering gerarchici. Gli algoritmi evolutivi sono lunico approccio che permette di effettuare una ricerca globale della soluzione migliore; inoltre, molti di essi (ad esempio GA), cos come anche gli algoritmi di clustering basati su reti neurali articiali, sono implementati parallelamente, ottenendo cos prestazioni notevoli in termini di ottimizzazione di tempo. Tuttavia questi algoritmi sono accomunati dalla sensibilit ai vari parametri di controllo e di learning e non incorporano alcuna conoscenza del dominio, motivo per cui teoricamente sono considerati degli approcci deboli. Questo anche il caso degli algoritmi di clustering basati su ricerca, in particolare del simulated annealing, il quale, inoltre, offre prestazioni molto scarse essendo davvero molto lento.

2.8 comparazione degli approcci

29

Studi empirici [Al-Sultan and Khan, 1996] hanno dimostrato come nessuno dei metodi di clustering sia signicativamente superiore agli altri: gli algoritmi genetici e quelli di simultaed annealing sono considerati comparabili per quanto riguarda la qualit delle soluzione e sicuramente migliori del k-mean che, tuttavia, lalgoritmo pi efciente in termini di tempo desecuzione. Va considerato inoltre che, a causa della natura soggettiva del clustering, ogni classe di algoritmi ha un insieme di caratteristiche per cui eccelle ed altre per cui possiede delle prestazioni e dei risultati non ottimi a causa di limiti di vario tipo. Ad esempio, gli algoritmi evolutivi funzionano a dovere esclusivamente su data set di dimensioni mediopiccole composti da pattern contenenti poche feature; ci causata dal fatto che ottenere paramentri adatti per essi richiede unoperazione di testing e tempi desecuzione molto alti. Anche algoritmi di clustering concettuale sono limitati ad un utilizzo su data set ragionevolmente piccoli. Per questo stesso motivo, gli unici algoritmi ad essere stati applicati su data set di grandi dimensioni sono il k-mean ed il suo corrispettivo ANN. Uno dei motivi basilari del successo del k-mean e del suo equivalente ANN, le reti di Kohonen, risiede proprio nelle loro seguenti caratteristiche: 1. la complessit lineare, O(nkl), funzione del numero n di pattern, del numero k di cluster e del numero l di iterazioni che impiega a convergere; permette di utilizzarli su data seti di grandi dimensioni, 2. la complessita in termini di spazio solamente O(k + n), 3. sono indipendenti dallordine con cui gli vengono forniti i pattern da raggruppare. Comunque, un limite che esso evidenza , oltre alla sua gi discussa sensibilit alla composizione della partizione iniziale, lincapacit di rilevare cluster con una forma non ipersferica. A tal riguardo gli algoritmi con approccio gerarchico sono molto pi versatili ma pagano, purtroppo, una complessit temporale di O(n2 log n) [Kurita, 1991] e un costo in termini di spazio di ordine quadratico O(n2 ). Per una visione dinsieme degli algoritmi si rimanda alla tabella seguente (1):

30

algoritmi di clustering

algoritmi di clustering complessit temporale leader k-mean ISODATA Shortest Spanning Tree Single-link Complete-link O(kn) O(nkl) O(nkl) O(n ) O(n log n) O(n2 log n)
2 2

complessit spaziale O(k) O(k) O(k) O(n) O(n2 ) O(n2 )

Tabella 1: Complessit degli algoritmi di clustering.

Inne va considerato che recenti studi sperimentali si sono concentrati sulla valutazione dei vari approcci di clustering combinandoli con la conoscenza del dominio di interesse ed emerso che ognuno dei rispettivi algoritmi ottiene risulati migliori. Perci, in generale, pu essere molto utile sfruttare la conoscenza di dominio. Essa permette, ad esempio, di sapere a priori che per sistemi di ritrovamento dei documenti basati su clustering, i migliori risultati sono ottenuti con algoritmi gerarchici.

Parte II ALGORITMO DI CLUSTERING PROPOSTO

CRADLE

Questo capitolo ha lobiettivo nale di presentare e descrivere lalgoritmo Clustering by RAndom minimimum Dispersion based LEarning (CRADLE), elemento focale di questo lavoro di tesi. Esso stato utilizzato per effettuare il clustering di shape. Al ne di raggiungere tale obiettivo vengono affrontate le tematiche ad esso inerenti e il processo che ha portato alla sua ideazione. 3.1 shape clustering: stato dellarte

Il concetto di forma un aspetto chiave per le applicazioni afferenti il campo della computer vision poich esso, come molti studi di psicologia cognitiva [Bierdman and Ju, 1988] hanno mostrato, una caratteristica basilare dei processi di riconoscimento delle immagini. La motivazione alla base della rilevanza di tale concetto risiede nel fatto che le shape (dora in poi utilizzato per intendere contorni di forme) sono invarianti e, per alcune categorie di oggetti, risultano essere pi generiche dellapparenza stessa degli oggetti che descrivono. Per tale motivo la comparazione automatica ed il raggruppamento delle forme (clustering) sono diventati dei processi fondamentali per molti campi di ricerca, quali, ad esempio, laction recognition e la human detection. Il grado di somiglianza fra shape un concetto centrale di processi ritenuti spesso molto complicati, come per esempio il ritrovamento delle forme simili, lidenticazione di classi di forme o la rappresentazione di esse. Il motivo per cui questi processi sono ritenuti complicati che, allo stato dellarte, la maggior parte dei processi di calcolo di similarit fra forme agiscono in spazi non metrici. Conseguentemente, tutte le applicazioni che necessitano di un processo del genere devono disporre di un metodo di comparazione delle forme che sia robusto ed efciente. La maggior parte dei problemi in sistemi di questo tipo deriva dal fatto che i metodi di calcolo della similarit fra forme che essi utilizzano non adoperano una qualche analisi contestuale dello

33

34

cradle

spazio delle forme [Kontschieder et al., 2009]. Tuttavia non compito di questa tesi affrontare questo argomento. Va invece detto che possibile descrivere le shape con diversi strumenti matematici: descrittori di Fourier, utilizzati in CRADLE, descrittori Wavelets, approssimazioni poligonali ed i chain codes. Tutti i metodi di rappresentazione delle forme appena citati falliscono nel caso in cui lalgoritmo che li utilizza voglia costruire un modello di probabilit relativo ad esso (tale intento potrebbe essere motivato dal desiderio di utilizzare il modello di probabilit per la costruzione di un classicatore bayesiano, ad esempio). Al ne di governare questa difcolt vengono, a volte, utilizzate delle rappresentaziioni di pattern di tipo geometrico, come ad esempio le geodetiche delle shape, o altre rappresentazioni basate sugli angoli del contorno della forma. Come gi lasciato intendere questo non il nostro caso: in questo lavoro di tesi ci si concentrati sullo sviluppo di un algoritmo di shape clustering, chiamato CRADLE, che lavora esclusivamente su uno spazio euclideo. CRADLE si congura come una diversicazione di un algoritmo gi esistente in letteratura [Srivastava et al., 2005] che viene discusso di seguito. 3.2 minimum-variance clustering

Come detto, lalgoritmo CRADLE, una variazione di un algoritmo di clustering presente in letteratura: esso chiamato Minimum-Variance Clustering (MVC) [Srivastava et al., 2005] ed argomento di questa sezione. 3.2.1 Tecnica di clustering

Il Minimum-Variance Clustering utilizza come funzione di costo la nozione di dispersione interna cercando iterativamente di minimizzarla. Il concetto di dispersione in questo algoritmo una funzione di media relativa alle distanze fra le shape. Essa viene denotata con Q(C) dove C indica una congurazione di clustering generica. Lo scopo di questo algoritmo quindi quello di cercare la congurazione C del pattern set dove la dispersione Q(C) sia minimizzata. Tale congurazione ottimale di output viene denotata con: C = argminQ(C),

3.2 minimum-variance clustering

35

ed raggiunta utilizzando come processo di ricerca nello spazio delle congurazioni lalgoritmo Markov Chain Monte Carlo (MCMC). Le idee alla base dellalgoritmo di Minimu-Variance Clustering sono le seguenti: rappresentare le shape con un approccio geometrico diverso dai comuni descrittori di Fourier, che permetta di tener conto della loro curvatura e del loro allungamento: le geodetiche [Srivastava et al., 2005]; utilizzare un processo di comparazione delle shape adeguato: le distanze geodetiche partire da una congurazione random procedendo poi nello spostare (move) e scambiare (swap) le forme tra i vari cluster. Questa operazione viene eseguita in modo stocastico: scelta una shape in modo casuale vengono calcolati i valori della dispersione in base alla sua possibile assegnazione a tutti i cluster; inne la shape viene assegnata al cluster che evidenzia una probabilit proporzionale al valore esponenziale negativo della dispersione di tale congurazione (oppure viene scambiata con una shape appartenente ad un altro cluster in base ad una probabilit Ps calcolata in modo leggermente differrente da quello discusso di seguito). La denizione matematica di tale probabilit presentata nella formula 3.1. exp(
Qj T
(i)

PM (j, i) =

)
(i)

Qj k i=1 exp( T

, )

(3.1)

dove k il numero di cluster, Qj la funzione di costo quando la shape con indice j viene assegnata al cluster Ci tenuti ssi tutti gli altri cluster, T un valore che ha il compito di comportarsi come fa la temperatura nel SA.
(i)

36

cradle

3.2.2

Descrizione dellalgoritmo

Ora che stato descritto lapproccio dellalgoritmo a cui ci si ispirati in questo lavoro di tesi viene delineato di seguito il suo algoritmo. algoritmo Date n shape e k cluster creare la congurazione di partenza distribuendole in modo casuale tra i cluster. Impostare una temperatura iniziale T alta. 1. Calcolare le distanze geodetiche fra le coppie di shape memorizzandole in una matrice delle distanze. Questa n(n1) operazione richiede 2 computazioni. 2. Con egual probabilit selezionare una delle due tipologie di mosse previste: a) Move i. selezionare in modo casuale una shape sj , se il cluster a cui stata assegnata non (i) singoletto calcolare Qj per i = 1, 2, . . . , k ii. calcolare la probabilit PM (j, i) per i = 1, 2, . . . , k, assegnando la shape sj in base al valore risultante. b) Swap i. selezionare in modo casuale sia due cluster sia due shape ad essi appartenenti ii. calcolare la probabilit Ps (j, i) e scambiare le shape in base ad essa. 3. Aggiornare la temperatura usando T = ( T ) con B = B 1, 0001 (o comunque molto prossimo all1) e tornare al passo 2. 3.2.3 Considerazioni

Al ne di provare a raggiungere un valore di dispersione che sia minimo e globale questo algoritmo adotta la metodologia propria dellalgoritmo di Simulated Annealing: inizia con un valore di T alto riducendolo molto lentamente. Considerando che linsieme delle possibili partizioni di n forme in k cluster nito e che la natura dellalgoritmo

3.3 presentazione dellalgoritmo cradle

37

statistica garantita la sua convergenza ad una soluzione (minima locale) sempre pi prossima a quella ottimale in modo inversamente proporzionale alla velocit di diminuizione della temperatura T. La congurazione di output che presenta il valore minimo di dispersione perci ritenuta essere la partizione da adottare come soluzione. 3.3 presentazione dellalgoritmo cradle

Lalgoritmo Minimum-Variance Clustering (visto in dettaglio nella sezione 3.2) appartiene alla categoria degli algoritmi classici di clustering di punti operanti su uno spazio euclideo. Tali algoritmi usano come criterio di clustering la minimizzazione della varianza totale dei cluster. Pi precisamente, ipotizzando di possedere un dataset con n punti (pattern) {x1, x2, . . . , xn } con xi d , se una collezione C = {Ci , 1 i k} di sottoinsiemi di d partiziona i dati in k cluster, la varianza totale di C denita dalla seguente funzioni di costo Q(C) =
k i=1 yCi

x i 2 ,

dove i la media dei punti in Ci . Il termine yCi x i 2 pu essere approssimato come la varianza totale e viene spesso usato in sostituzione della varianza media al ne di evitare la parzialit nei cluster di grandi dimensioni. Tuttavia, se i punti (pattern) sono dispersi in modo uniforme, la differenza non signicativa ed entrambi i termini possono essere usati. Il passo che porta ad estendere il criterio di clustering appena descritto allo shape clustering breve e richiede che vengano considerati alcuni aspetti: 1. la scelta della rappresentazione dei pattern 2. la scelta della funzione di costo 3. la scelta del tipo di approssimazione della varianza Partendo da queste considerazioni si giunti a una variazione dellalgoritmo Minum-Variance Clustering.

38

cradle

3.3.1

Differenze di impostazione rispetto al Minimum-Variance Clustering

In questa sezione si presentano le differenze di base emerse durante il processo di ideazione e implementazione dellalgoritmo CRADLE rispetto allalgoritmo Minimum-Variance Clustering. La scelta della rappresentazione delle shape ricaduta sui comunemente usati descrittori di Fourier, invece che sulle geodetiche usate da MVC, a causa della loro riconosciuta abilit nelloffrire una buona descrizione delle shape, descrizione che per altro invariante alla rotazione e alla traslazione. Inoltre, tale scelta stata inuenzata dalla possibilit di normalizzare lo spazio vettoriale dei descrittori (evitando cos la dominazione delle feature con valori alti) e dalla possibilit di applicare ad essi molte funzioni per il calcolo della similarit, tra cui quella scelta: la distanza euclidea. La scelta di approssimare la varianza totale calcolando direttamente la distanza fra i vari pattern (descrittori di Fourier) piuttosto che fra essi e la loro media dipesa da motivazioni inerenti lefcienza dellalgoritmo: volendo progettare un algoritmo semplice ed efciente in termini di prestazioni si scartata la possibilit di approssimare la variazione totale tramite la distanza fra punti e rispettiva media poich questa unoperazione computazionalmente costosa (nonch potenzialmente bloccante nel caso in cui non si utilizzino veri e propri spazi metrici). Fatte queste premesse si rimanda lanalisi delle similitudini e delle ulteriori differenze con MVC alla trattazione dellapproccio di clustering e alla descrizione dellalgoritmo CRADLE. 3.3.2 Approccio e descrizione dellalgoritmo

Lalgoritmo proposto di tipo crisp e partizionale. In quanto tale, come tutti gli altri algoritmi della medesima tipologia, intende minimizzare una funzione di costo: la dispersione totale Q(C) dove C una congurazione di clustering. La seguente formula 3.2 esprime matematicamente la funzione di costo scelta. k 2 Q(C) = d (va , vb )2 , (3.2) ni
i=1 va Ci vb Ci , b<c

3.3 presentazione dellalgoritmo cradle

39

dove d(va , vb )2 la distanza euclidea tra i descrittori di Fourier delle shape a e b, ni la cardinalit del i-esimo cluster Ci , con 1 i k. Tale algoritmo, cos come MVC, segue un approccio basato sulla ricerca. Esso intende iniziare ad operare una ricerca nello spazio delle possibili congurazioni di cluster partendo da una congurazione iniziale di k cluster. Fase I - congurazione Nella sua prima fase, chiamata di congurazione, lalgoritmo proposto inserisce le n shape nei k cluster utilizzando una distribuzione discreta uniforme che genera numeri casuali nellintervallo [ 0, k [. Questa scelta permette di minimizzare il rischio che la congurazione iniziale di cluster sia sbilanciata su uno dei k possibili cluster: essa tender infatti a essere composta da cluster di dimensioni simili. Lalgoritmo prosegue adottando una strategia divisiva e iterativa. Prendendo spunto dal MVC, che utilizza il MCMC per ricercare una congurazione ottimale, ma volendo mantenere limplementazione semplice senza che lefcacia subisca pesanti contraccolpi, lalgoritmo proposto, dato un numero l di iterazioni (si rimanda al capitolo 4 per una trattazione a riguardo) genera in modo casuale una seconda distribuzione uniforme di l interi nellintervallo [ 0, n [ . Lo scopo di questa tecnica quella di ottenere una lista composta da l interi compresi tra 0 e n 1 da associare alla n shape. Tale lista quindi un elenco di shape scelte a priori ed in modo casuale: costituisce perci un metodo di ricerca random simile (ma semplicato) rispetto al concetto del MCMC. Lo scopo di questa tecnica duplice: 1. generare una lista di shape casuali scelte in base a una distribuzione uniforme; 2. cercare di fare in modo che ogni shape venga scelta un numero di volte quanto pi simile a quello delle altre e che ogni selezione casuale subita sia mediamente distante dalle altre nel processo di iterazione. A questo punto lalgoritmo inizia il processo di ricerca.

40

cradle

Fase II - raggruppamento Per questa fase si pensato di utilizzare un approccio molto simile a quello del MVC diversicando lalgoritmo riguardo i due punti seguenti: 1. si scelto di tralasciare il ruolo svolto dalla temperatura nellalgoritmo di Simulated Annealing tenendo sso il numero di iterazioni a priori, che stato scelto in base a linee guida euristiche dedotte in modo empirico (vedi capitolo 4), 2. si deciso di adoperare solo un tipo di movimento per le shape: lo spostamento. Perci il processo di ricerca dellalgoritmo CRADLE iterativo. Ogni passo delliterazione ha il compito di rilevare il cluster a cui la shape selezionata stata casualmente assegnata e, se questo non un insieme singoletto (cio contente solo questa shape), spostarla negli altri cluster computando le dispersioni totali nelle diverse congurazioni generate. Inne viene scelto il cluster a cui assegnare la shape in base al valore minimo delle dispersioni calcolate. Qualora durante il passo di iterazione non sia stata trovata una congurazione con dispersione totale minore a quella precedente la shape viene reinserita nel cluster a cui apparteneva allinizio del passo di iterazione. La scelta di non implementare un meccanismo simile (o uguale) a quello svolto dalla temperatura nel Simulated Annealing pu essere ritenuta sconsiderata nellottica del raggiungimento di una congurazione minima globale. Tuttavia poich lo stesso MVC, cos come la quasi totalit degli algoritmi di clustering presenti in letteratura, non riesce a convergere a un minimo globale limitandosi a risultati in certi casi ottimi ma pur sempre locali, si optato per questa decisione nella convinzione di poter comunque ottenere risultati comparabili che minimizzino la funzione di costo a un valore minimo locale. con tale intento che si predisposta una fase nale, detta fase di selezione, per lalgoritmo CRADLE. Fase III - selezione Questa fase sviluppa una tecnica algoritmica con approccio adattivo. Il suo scopo quello di generare una nuova lista di shape scelte non pi casualmente ma in modo mirato e

3.3 presentazione dellalgoritmo cradle

41

sottoporle nuovamente alla fase II. A tal ne lalgoritmo esegue una valutazione statistica della distribuzione uniforme con cui sono state scelte casualmente le shape. Tale valutazione ha lobiettivo di calcolare il valore atteso della distribuzione suddetta, selezionare le shape sottoposte alla fase II un numero di volte inferiore a tale valore atteso (o ad un parametro di thresholding) e crearne una lista che tenga conto anche dellordine con cui esse sono state precedentemente raggruppate. Partendo dalle informazioni ricavate da questa analisi, lalgoritmo sottopone la lista delle shape selezionate alla fase di raggruppamento al ne di ottimizzare in modo mirato il processo di minimizzazione della dispersione. Tale ottimizzazione della fase di raggruppamento ragionevolemente possibile se si osserva che le shape sottoposte alla fase di raggruppamento nei suoi primi passi iterativi sono state presumibilmente assegnate in maniera errata a un cluster poich, in tale fase iniziale, i valori della dispersione sono sempre ancora piuttosto alti (e corrispondono perci a una congurazione di cluster con alta percentuale derrore). Algoritmo Sono date n shape, k cluster, un numero pressato l di iterazioni e C = Cj , 0 j k insieme dei cluster. configurazione:

1. calcolare la matrice delle distanze euclidee 2. generare una distribuzione discreta uniforme DC di n interi casuali nellintervallo [ 0, k [ e creare una congurazione iniziale dei cluster distribuendo le shapes in base a DC , iterando la seguente operazione con i = 0, . . . , n 1: a) vi Cj , j = DC [ i ] (assegnazione della shape i-esima al cluster indicato dalla i-esimo intero casuale della distribuzione DC ) dove vi la la shape, Cj il cluster e DC [ i ] lindice random del cluster in posizione i-esima in DC 3. generare una distribuzione discreta uniforme DS di l interi casuali nellintervallo[ 0, n [

42

cradle

4. calcolare la dispersione totale Qj (in base alla congurazione di clustering iniziale appena creata) raggruppamento: iterare con i = 0, . . . , l 1:

1. dato DS [ i ], i-esimo intero random generato dalla distribuzione DS , selezionare la shape va con a = DS [ i ] 2. rilevare j, indice del cluster a cui stata assegnata la shape va in fase di congurazione 3. se |Cj | > 1 (cio se il cluster j-esimo non singoletto), allora: a) nch c un cluster in cui la shape non stata spostata: i. aggiornare lindice del cluster successivo s = j+1 ii. effettuare lo spostamento nel cluster successivo Cs : A. calcolare la dispersione totale attuale Qs B. se Qs > Qj spostare la shape nel cluster precedente Cj C. altrimenti ricalcolare la dispersione totale attuale Qj (osservare che la shape rimane nel cluster in cui stata spostata) selezione:

1. se stato specicato il parametro di minima ammissibilit E allora: a) t = E 2. altrimenti: a) t = fS , dove fS il valore atteso della distribuzione DS 3. calcolare la lista delle frequenze di selezione casuale delle shape F (osservare che tale lista ha cardinalit n, cio pari al numero delle shape)

3.3 presentazione dellalgoritmo cradle

43

4. creare la lista delle shape selezionate in modo mirato MS eliminando dalla lista F gli elementi fi > t, con0 i n 5. ordinare la lista MS in base allordine con cui le shape selezionate sono state precedentemente sottoposte alla fase di raggruppamento 6. eseguire nuovamente la fase II (raggruppamento) dando in input la lista MS e iterando con i = 0, . . . , |MS | 1 Accorgimenti Al ne di rispettare lobiettivo iniziale di ideare un algoritmo semplice ma con prestazioni e risultati paragonabili a quelli del Minimum-Variance Clustering si pensato di costruire e memorizzare una sola volta, inizialmente, la matrice delle distanze euclidee tra tutte le coppie di shape. Tale operazione infatti impatta positivamente sulle prestazioni poich evita di dover ricalcolare le distanze ad ogni cambiamento di congurazione di clustering e richiede solo n(n1) computazioni. 2 3.3.3 Astrazione dati

Concluso il processo di clustering spesso utile per varie motivazioni (vedi capitolo 1.7) prevedere una qualche forma di astrazione sui dati. In questo caso, per lalgoritmo CRADLE si optato per il calcolo dei centroidi come elementi rappresentativi dei cluster ottenuti. Nel dettaglio si scelto di considerare come centroide di un cluster la shape con la distanza media minima presente. Tale operazione porta quindi a rappresentare ogni cluster con una shape che esso realmente contiene. Questo processo decisionale stato svolto computando per ogni shape va appartenente al cluster Cj C la media delle distanze che intercorrono tra essa e le altre shape assegnate al cluster in questione; inne etichettando come centroide P(Ci ) la shape che risulti possedere il valore minimo calcolato. Per una descrizione in termini matematici si veda la formula 3.3. P(Ci ) = min 1 nj
nj

1 a nj j=i

d (va, vi )2
i=1

(3.3)

44

cradle

con 1 j k nj > 1, dove ni la cardinalit del i-esimo cluster Ci , con 1 i k. Si osservi che la condizione nj > 1 indica che qualora il cluster sia un inseme singoletto la sua unica shape viene conseguentemente scelta come suo centroide. 3.3.4 Considerazioni nali

Lalgoritmo proposto, cos come molti degli algoritmi esistenti in letteratura, non d la certezza di convergere ad un minimo globale, tuttavia da la ragionevole sicurezza di raggiungere, nella maggior parte dei casi, un minimo locale. inoltre intuitivo, data la sua natura, dedurre che il valore della dispersione totale Q(C) diminuisce allaumentare del numero di cluster k: palese, infatti, che pi sono i cluster pi diminuisce la loro variabilit per uno stesso numero di shape n. Limmagine 6, contenente vari graci riferiti a test diversi a riguardo lo dimostrano.

3.3 presentazione dellalgoritmo cradle

45

Figure 6: Relazione di inversa proporzionalit tra la dispersione nale e il numero di cluster.

In tutti i casi i dati vericano ci che si pu intuire. Tuttavia non altrettanto facilmente intuibile che la diminuizione della dispersione sia, nel nostro algoritmo, indice certo di migliori risultati: ci si potrebbe lasciar facilmente confondere da questa idea dimenticando che la dispersione totole una funzione di costo relativa esclusivamente alla compattezza dei cluster e non alla loro separazione. Come vedremo, infatti, nel capitolo successivo un valore di dispersione troppo piccolo pu causare overlapping, cio il presentarsi di una situazione in cui i cluster sono molto compatti ma in parte sovrapposti fra di essi e non ben separati. Unultima considerazione va invece fatta riguardo le prestazioni di CRADLE: esso ha una complessit temporale lineare che funzione del numero di shape, nel numero di cluster e del numero di iterazioni.

VA L U TA Z I O N E D E L L A L G O R I T M O CRADLE

La dispersione, cos come osservato in precedenza, d una informazione parziale sui risultati del clustering. Ci implica una necessaria riessione riguardo la valutazione delle congurazioni di output ottenute. Poich il clustering un metodo non supervisionato che deve operare in un constesto del quale non si possiede mai (o quasi) conoscenza a priori indispensabile operare in qualche modo una validazione dei risultati al ne di individuare la congurazione che meglio sposa i dati raggruppati e la loro strutturazione in classi. Domande relative al numero ottimale di classi in cui partizionare un generico data set, o dubbi inerenti il reale adattamento della congurazione di clustering alla struttura implicitamente posseduta dal data set, cos come domande causate dalla necessit di vericare lesistenza o meno di congurazioni nali migliori di quella ottenuta, puntano tutte a una valutazione quantitativa dei risultati degli algoritmi di clustering e sono conosciute, in letteratura [Halkidi et al., 2002], come metodi di validazione dei cluster. Come gi detto nella sezione 1.8 esistono varie tipologie di approcci per la validazione dei risulati degli algoritmi di clustering. In questo capitolo viene prevalentemente affrontato lapproccio di analisi di validit dei cluster di tipo relativo e le speciche metriche di validit utilizzate per la sperimentazione e valutazione dei risultati di output dellalgoritmo CRADLE. 4.1 analisi di validit relativa dei cluster

Lanalisi di validit dei cluster basata su criteri relativi ha lobiettivo di individuare sotto certe assunzioni e certi parametri la migliore congurazione di clustering possibile che un algoritmo di clustering possa denire. Tale approccio non richiede lutilizzo di test di tipo statistico: lidea fondamentale quella di scegliere la migliore congurazione di clustering risultante in base a dei criteri prestabiliti. Pi specicatamente, nel lavoro di sperimenta-

47

48

valutazione dellalgoritmo cradle

zione relativa allalgoritmo CRADLE si optato per i criteri di seguito trattati, tutti parametrizzati in base al numero di cluster rilevato k. 4.1.1 Dunns Index

Il Dunns Index [Dunn, 1974] un indice di validit per algoritmi di clustering di tipo crisp (hard) che ha lo scopo di individuare un insieme di partizioni che siano compatte ma ben separate fra di loro. Valori alti di questo indice indicano la presenza di cluster compatti e ben separati. Esso calcolato tramite la seguente formula: DI = min min inter(Ci , Cj ) max1 z k {intra(Cz )} ,(4.1)

i=j, i,j{1,...,k}

1 j k i=j

dove inter(Ci , Cj ) la distanza intercluster tra li-esimo ed il j-esimo cluster max1 z k {intra(Cz )} il valore della distanza intracluster massima posseduta dai cluster k il numero di cluster. I problemi dellindice DI sono la sua considerevole complessit temporale e la sua sensibilit alla presenza di rumori nel data set, poich essi aumentano il valore assunto da intra(Ci , Cj ). 4.1.2 Davies-Bouldin Index

Questo indice simile allindice DI. Afnch un insieme di partizioni di un data set sia considerato un buon risultato di clustering desiderabile che i cluster siano differenti tra di loro, cio che possegano un basso grado di similarit (il ch si traduce in un alto valore di S(Ci , Cj )). 1 DB = n
n

max
i=1

Sn (Ci ) + Sn (Cj ) S(Ci , Cj )

,
i=j

(4.2)

dove Sn (Cx ) la distanza media di tutte le shape dal centroide del cluster Cx ,1 x k cui appartengono, S(Ci , Cj ) la distanza fra i centrodi di 2 cluster, Ca e Cb e k il numero di cluster.

4.1 analisi di validit relativa dei cluster

49

Analizzando la funzione 4.2 si capisce come il rapporto S(Ci , Cj ) piccolo se i cluster sono compatti e distanti luno dallaltro e come, di conseguenza, un valore piccolo di indica un buon clustering. Conseguentemente una congurazione di clustering che minimizza il valore del DB considerata migliore rispetto alle altre [Halkidi et al., 2002]. 4.1.3 Xie-Beni Index

Questo indice stato proposto [Xie and Beni, 1991] e viene utilizzato per identicare il numero ottimale k di cluster quando si possiede un data set di grandi dimensioni. Tuttavia tale indice misura anche la compattezza media interna ai cluster e la separazione fra essi, pu perci essere usato come indice per la misura del clustering a posteriori. Lindice Xie-Beni calcolato semplicemente ponendo a rapporto la compactness con la separation, concetti che vengono introdotti e presentati di seguito: XB = Compattezza La compattezza (o compactness) una funzione che ha lo scopo di misurare la vicinanza e la similitudine dei pattern appartenenti ad uno stesso cluster, pu per tale motivo essere considerata una misura intra-cluster. A tale scopo essa somma, per ogni cluster, la media delle distanze dei pattern dal centroide del cluster cui appartengono. Ecco descritta di seguito tale funzione: 1 Compactness = n
k n

compactness separation

(4.3)

d vj , P(Cj )
i=1 j=1

(4.4)

dove 2 d vj , P(Cj ) la distanza del pattern j-esimo appartenente al cluster i-esimo dal prototipo di tale cluster, k il numero di cluster. Separazione La separazione (o separation) una funzione che ha lo scopo di dare unidea della lontananza fra i k cluster ottenuti dal

50

valutazione dellalgoritmo cradle

processo di clustering; pu, per tale motivo, essere considerata una misura inter-cluster. A tale scopo essa calcola le distanze fra i centroidi dei cluster a coppie di due e sceglie come indicatore della separazione la distanza minima trovata. Ecco descritta di seguito tale funzione: Separation = min d P(Ci ), P(Cj )
2

i=j, i,j{1,...,k}

, (4.5)

dove 2 d P(Ci ), P(Cj ) la distanza euclidea fra i centroidi del cluster i-esimo e del cluster j-esimo, k il numero di cluster. 4.1.4 Misure intra e inter cluster

In questa sezione vengono presentate le misure inter e intracluster utilizzate per la fase di sperimentazione, fermo restando che lalgoritmo CRADLE stato dotato della capacit di combinare ben 12 diverse misure intra cluster con 3 misure inter cluster. Come misura intra cluster si elaborata una funzione che, al ne di indicare la distanza media fra i pattern (nel nostro caso le shape) di un dato cluster, somma la distanza di tutti pattern dagli altri evitando le ripetizioni e normalizzando il totale ottenuto. Ecco la formula matematica che si utilizzata per il calcolo di tale misura: intra(Ci ) = 1 Cn1 ,2
va Ci vb Ci , b>a

d (va, vb )2 ,

(4.6)

dove Cni ,2 il numero di combinazioni semplici (senza ripetizioni) di pattern a gruppi di 2 (poich le distanze vengono calcolate tra due pattern per volta), cio il rapporto fra numero di disposizioni semplici di pattern a gruppi di 2 e le permutazioni senza ripetizioni di elementi, d (va, vb )2 la distanza euclidea fra il pattern va e il pattern vb . Chiaramente, un valore basso di intra(Ci ) indica un cluster i cui pattern sono molto vicini in termini di distanza, perci molto simili tra loro.

4.2 sperimentazione su cradle

51

Come misura inter cluster si elaborata una funzione che, al ne di indicare la distanza fra due cluster, per ogni pattern assegnato al primo cluster calcola la somma delle sue distanze dai pattern assegnati al secondo cluster, sommando inne tale aggregato di distanze per tutti i pattern presenti nel primo cluster e normalizzando tale valore per il numero di somme effettuate. Ecco la formula sulla quale ci si basati per il calcolo di tale misura: 1 inter(Ci , Cj ) = ni nj
ni nj

d vi , vj
i=1 j=1

(4.7)

dove ni e nj sono le cardinalit del cluster i-esimo e del cluster j-esimo, 2 d vi , vj la distanza euclidea fra il pattern i-esimo e il pattern j-esimo. Chiaramente, un valore alto di inter(Ci , Cj ) indica una maggiore distanza fra i cluster Ci e Cj . 4.2 sperimentazione su cradle

Come gi ampiamente discusso il clustering un processo che richiede, nella maggior parte dei casi, una fase nale di valutazione dei risultati. La motivazione per cui si necessita di tale fase e quindi di una sperimentazione dovuta principalmente al problema del numero ottimale di cluster k. Come gi abbondantemente discusso, stabilire a priori il numero di cluster k basandosi sulla soggettivit umana diventa difcile e soprattutto non realistico. Inoltre, nel caso specico di CRADLE, si pone unaltra scelta: quella del numero appropriato di iterazioni l in funzione del numero k di cluster in cui lalgoritmo partiziona il pattern set. Consideriamo dapprima questultimo problema: al ne di scegliere adeguatamente il numero di iterazioni l si svolta una fase di pre-sperimentazione in cui, al variare di k, CRADLE stato eseguito ripetutamente pi volte. In questa fase di pre-sperimentazione, tralasciando i risultati ottenuti ci si concentrati semplicemente sulla relazione tra il numero di cluster k ssato a priori e il numero preimpostato di iterazioni l analizzando landamento della dispersione totale nale Q . Ci stato fatto partendo dalla considerazione

52

valutazione dellalgoritmo cradle

intuitiva che, ssando il numero di cluster k e aumentando il numero di iterazioni l fosse possibile stressare lalgoritmo al ne di vericare quando la congurazione minima della dispersione sarebbe stata raggiunta. Si cercato cos di dedurre in modo empirico una correlazione tra la dispersione ed i suddetti parametri k e l osservando che: 1. per una dato pattern set ed un dato k ssato a priori, lalgoritmo giunge solitamente dopo un numero di iterazioni prossimo a nk alla congurazione minima della dispersione totale Q 2. tale valore di Q sempre molto simile agli altri valori da esso raggiunti con tali parametri durante lesecuzone di altri test, pur cambiando per sua natura la congurazione random iniziale delle shape nei cluster e anche qualora se ne effettui un numero considerevole 3. anche ripetendo molte volte tali test, variando il pattern set ed il k pressato, il numero di iterazioni dopo il quale il processo di ricerca non ottiene pi risultati sempre prossimo a nk Di conseguenza per la fase di sperimentazione stato scelto un numero di iterazioni l nk. 4.2.1 Composizione dei pattern set

La sperimentazione stata effettuata utilizzando un data set di immagini di forme di specie marine delluniversit del Surrey1 composta da oltre 1100 shape. Selezionando 247 shape stato creato un insieme di 10 pattern set composto da esse; inoltre, per ogni pattern set sono state escluse 25 shape ritenute molto signicative. Tale operazione stata effettuata allo scopo di sperimentare lalgoritmo su dei pattern set che contenessero un numero inferiore di shape rappresentative afnch fosse possibile vericare la capacit dellalgoritmo CRADLE di sceglierne di nuove. Inne si proceduto alla sperimentazione cos come descritto nella sezione successiva.

1 http://www.surrey.ac.uk

4.2 sperimentazione su cradle

53

4.2.2

Composizione dellanalisi di validit

In questa sezione si riporta il processo di identicazione della migliore congurazione di clustering per ognuno dei 10 pattern set utilizzati. Tale operazione stata effettuata scegliendo degli indici di validit con approccio danalisi relativo (DI, DB, XB), scegliendo una delle 12 possibili misure intra cluster possibili, ed una delle 3 possibili misure inter cluster previste da CRADLE per la sua valutazione. La sperimentazione si svolta come descritto nei seguenti passi: 1. esecuzione dellalgoritmo CRADLE xk volte con 4 xk 14 , impostando nel seguente modo il numero di cluster k = xk 2. per ogni xk lalgoritmo CRADLE stato eseguito 5 volte variando la congurazione iniziale di clustering (operazione automatica nellalgoritmo proposto, essendo la congurazione iniziale casuale) ed il numero di iterazioni l. 3. dato un xk per cui stato eseguito 5 volte lalgoritmo, viene calcolata la media dei valori calcolati di DI e DB. Tali valori vengono inserti sullordinata di un graco la cui ascissa composta dallintervallo dei valori assunti da xk durante lintero processo di sperimentazione. In base al graco creato possibile identicare la migliore congurazione di clustering ed il relativo numero ottimale di cluster k (prelevando il valore di xk . . . ) per un generico pattern set. Questindicazione data, solitamente, da un cambiamento positivo e signicativo di un indice di validit. Ci si traduce dal punto di vista graco con la presenza di una curva knee [Halkidi et al., 2002] (a ginocchio). La mancanza di una curva di questo tipo nel graco pu indicare, invece, che il pattern set non possieda alcuna struttura intrinseca per cui avrebbe senso sottoporlo a clustering. 4.2.3 Presentazione dei risultati

Si riporta di seguito la sperimentazione effettuata sul pattern set VI. La tabella 2 mostra i valori degli indici DI, DB, e XB calcolati al variare di k, nonch il valori della dispersione nale

54

valutazione dellalgoritmo cradle

Q , mentre, il graco in gura 7 conferisce una approccio visivo ed intuitivo alla valutazione della sperimentazione. Al ne di individuare visivamente il numero ottimale di k per tale pattern set utile individuare i punti in cui la curva relativa allindice Davies-Bouldin convessa e i punti in cui la curva relativa al Dunns Index concava: se due di questi punti hanno lascissa in comune essi indicano chiaramente il k ottimale, che appunto il valore della loro ascissa. Lindicazione data dallo XB, invece, viene tenuta in considerazione per avere unidea del rapporto tra compattezza e separazione afferente la soluzione in esame. k 3 4 5 6 7 8 9 10 11 12 13 14 Q 12,68092 11,70474 10,89352 10,05695 9,395300 8,947352 8,678890 8,31907 8,06161 7,84741 7,64881 7,44814 DI 0,98489 0,73464 0,78357 0,67396 0,83652 0,72732 0,71353 0,68354 0,70465 0,65011 0,62513 0,57803 DB 1,27067 1,35839 1,51188 1,43763 1,28128 1,33441 1,35426 1,42367 1,38358 1,40633 1,38188 1,38473 XB 1,97118 3,34728 4,81390 5,24630 6,14891 7,61413 8,97951 10,54536 10,80908 13,22616 14,48407 15,57586

Tabella 2: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set VI.

Come visibile anche nella gura 7 la valutazione tramite indici con approccio relativo ha espletato il suo compito, cio indicare il numero ottimale di cluster k, pari, in questo caso, a 7.

4.2 sperimentazione su cradle

55

Figura 7: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set VI.

Per quanto riguarda invece la singola esecuzione di CRADLE, la gura 8 mostra leffetto del processo di ricerca casuale nello spazio delle possibili congurazioni del pattern set VI.

Figura 8: Graco che mostra il processo di minimizzazione della dispersione durante una esecuzione dellalgoritmo CRADLE (k = 7).

56

valutazione dellalgoritmo cradle

Si appena fatto un esempio del processo di sperimentazione effettuato su tutti i 10 pattern set. Di seguito viene riportata la tabella 3 che mostra i risultati (cio lindividuazione del k ottimale) della valutazione della sperimentazione su tutti essi. pattern set I II III IV V VI VII VIII IX X k ottimale 7 7 9 5 8 7 9 7 6 6

Tabella 3: Numero ottimale di cluster per ogni pattern set.

Per la verica di tali risultati possibile consultare tutte le tabelle ed i graci relativi alla sperimentazione in appendice (vedi appendice A). Inne viene riportato un estratto (vengono riportate 7 shape per ogni cluster) del clustering del pattern set VI in 7 cluster . A riguardo si consulti la gura 9 in cui le shape della prima colonna rappresentano i centroide.

4.2 sperimentazione su cradle

57

Figura 9: Estratto dei risultati del clustering effettuato dallalgoritmo CRADLE sul pattern set VI.

58

valutazione dellalgoritmo cradle

4.3

valutazione della fase iii in cradle

Nella sezione 3.3.2 stato descritto lalgoritmo CRADLE come composto da tre fasi principali. Tra queste, la fase III, chiamata anche fase di selezione, stata introdotta al ne di migliorare il risultato del clustering partendo da una congurazione di cluster che sia pi vicina alla soluzione ottimale di quanto possa esserlo una congurazione casuale. Il processo di ricerca casuale, infatti, seppur guidato da una distribuzione normale, risulta sempre meno efcace con laumentare delle iterazioni. Ci dovuto al fatto che, con lavanzare del processo iterativo di ricerca, il numero di congurazioni di cluster che portano ad un valore minore di dispersione diminuisce notevolmente, e di conseguenza diminuisce anche la probabilit che venga trovata in modo casuale una di queste congurazioni. Tale fenomeno si manifesta in modo ancor pi evidente man mano che aumenta il numero di iterazioni (come osservato nella fase di pre-sperimentazione). Lintroduzione della fase di selezione consente di superare tale limitazione, grazie ad una scelta dei pattern mirata, ovvero guidata da informazioni di tipo statistico ricavate dalla fase di raggruppamento. Infatti nel caso in cui durante la fase iniziale di raggruppamento un pattern sia selezionato poche volte, la probabilit che esso venga assegnato ad un cluster errato aumenta considerevolmente, inciando i risultati nali. Per valutare il miglioramento introdotto dalla fase di selezione sulle prestazioni dellalgoritmo di clustering, stata condotta una sperimentazione mirata a confrontare le prestazioni di CRADLE con e senza la fase di selezione. A tal ne, ssato un pattern set ( stato scelto il IV) e la relativa miglior congurazione di cluster (ottenuta con k = 5), abbiamo eseguito con gli stessi parametri lalgoritmo CRADLE con e senza la fase di selezione2 . Nella gura 10a (risp. 10b) si riporta i graco relativo allandamento del valore di dispersione ottenuto da CRADLE senza (risp. con) la fase di selezione.
2 La fase di selezione una fase parametrica. Infatti possibile specicare (a priori) un parametro in base al quale selezionare i pattern; tale parametro viene inteso come un criterio di minima ammissibilit per la fase di selezione. Nella sperimentazione stato utilizzato come parametro di minima ammissibilit la varianza media della distribuzione discreta uniforme dei pattern.

(a) Andamento della dispersione totale nel clustering del pattern set IV eseguito senza fase di selezione.

(b) Andamento della dispersione totale nel clustering del pattern set IV eseguito con fase di selezione.

Figura 10: Comparazione dellandamento della dispersione nel clustering del pattern set IV eseguito con e senza fase di selezione.

59

60

valutazione dellalgoritmo cradle

Si osserva che i valori nali della dispersione totale nei due casi sono molto distanti. Il clustering senza fase di selezione raggiunge in 967 iterazioni un valore valore nale della dispersione totale pari a 10.91 (gura 10a), mentre con la fase di selezione si raggiunge un valore nale pari a 11.45 in 1084 iterazioni (gura 10b). Questo vuol dire che la fase di selezione impiega solo 117 iterazioni per ridurre ulteriormente il valore di dispersione di circa 0.5 punti (esattamente di 0.46), per altro in una fase nale di clustering, durante la quale pi difcile trovare una congurazione di clustering migliore (man mano che avanza la ricerca nello spazio delle soluzioni diminuisce la probabilit di trovare una soluzione migliore). Si osserva invece che la fase di raggruppamento, giunta a circa 775 iterazioni (3100 spostamenti) impiega ben 180 iterazioni (720 spostamenti) per ridurre la dispersione di 0.5 punti. Dalla tabella 4, che mette a confronto i valori della dispersione e degli indici di validit ottenuti con e senza fase di selezione, si pu osservare il miglioramento introdotto dalla fase di selezione. algoritmo Q DI 0.64906 0.88952 DB 1.08217 1.05301 XB 3.82624 3.47996

CRADLE sen- 10.91614 za selezione CRADLE 10.45677

Tabella 4: Comparazione della dispersione e degli indici di validit rispetto al clustering del pattern set IV per k = 5 con e senza fase di selezione.

4.4 analisi di validit esterna dei risultati di cradle

61

Il miglioramento introdotto dalla fase di selezione stato vericato anche per tutti i valori di k < 12, seppur in certi casi sia meno evidente. In conclusione, si pu affermare che lalgoritmo CRADLE con fase di selezione risulta sicuramente pi efcace, consentendo di diminuire il numero di iterazioni necessarie a raggiungere un valore minimo di dispersione: la fase di raggruppamento risulta pi veloce in quanto la fase di selezione consente di raggiungere la dispersione totale minima in un numero minore di spostamenti. Lalgoritmo CRADLE senza fase di selezione si assesta su valori di dispersione nale sempre maggiori rispetto a quelli raggiunti dallalgoritmo con fase di selezione. Lintroduzione della fase III consente, in un numero di iterazioni trascurabile rispetto al numero totale di iterazioni, di ridurre, spesso in modo drastico, il valore della dispersione totale, ottenendo cos valori migliori degli indici di validit del clustering. 4.4 analisi di validit esterna dei risultati di cradle

Lanalisi di validit dei cluster basata su criteri esterni un approccio basato su test di tipo statistico caratterizzati da un alto costo computazionale. Lo scopo principale di unanalisi di questo tipo consiste nel misurare se i dati ottenuti dal clustering confermano degli schemi specicati a priori sui dati. In questo lavoro di tesi, a riguardo, si voluto comparare una classicazione supervisionata CU esistente sul pattern set I con i risultati ottenuti sullo stesso dallalgoritmo CRADLE con e senza selezione. Di seguito si riporta la valutazione della classicazione operata da un umano sul pattern set I e, nelle gure 11 e 12, alcune shape di ogni classe creata. Il valore di dispersione totale Q(CU ) calcolato tramite lapposito tool : 10,42251 mentre il k scelto pari10. La congurazione CU presenta i seguenti valori degli indici: dunns index: 0,53723028286. davies-bouldin: 1,58167939436. xie-beni: 17,0578082215.

62

valutazione dellalgoritmo cradle

Essi evidenziano chiaramente che la classicazione delle shape fatta dallumano, , dal punto di vista metrico, pessima poich unisce, ad un medio grado di compattezza delle classi di shape, un basso grado di separazione dei cluster. La tabella 5 giustica tale affermazione comparando questi risultati con quelli ottenuti dallalgoritmo CRADLE sia con sia senza fase di selezione per k = 10. algoritmo umano CRADLE senza selezione CRADLE Q 10,42251 8,30453 8,28233 DI 0,53723 0,58584 0,62903 DB 1,58168 1,27932 1,353909 XB 17,05781 10,80143 10,52145

Tabella 5: Comparazione delle metriche della classicazione eseguita da un umano sul pattern set I con le metriche relative al clustering eseguito dallalgoritmo CRADLE con e senza fase di selezione per lo stesso k.

Come evidenziato dalla tabella i risultati conseguenti dallalgoritmo proposto sul pattern set I appaiono addirittura migliori di quelli calcolati relativamente alla classicazione eseguito da un umano, che in base a quanto espresso dallindice XB, posseggono una compattezza molto pi grande della loro separazione (cio potrebbe indicare il pericolo della sovrapposizione, overlapping, dei cluster). Tuttavia, con uno sguardo dinsieme pi veritiero affermare che la classicazione supervisionata risulta essere apparentemente (almeno allumano) meglio eseguita poich lutente valuta laspetto e la forma di un immagine prevalentemente in modo concettuale (ed usando della conoscenza pregressa) astraendo su dettagli della shape che invece lalgoritmo CRADLE rileva. Le immagini 11 e 12 riportano il raggruppamento del pattern set I eseguito dalluomo, mentre le immagini 13 e 14 riportano quello, leggermente differente, meno concettuale ma con cluster nella maggior parte dei casi compatti e separati eseguito dallalgoritmo CRADLE. Le seguenti immagini renderanno palese come lalgoritmo CRADLE sia in grado di rilevare la struttura implicita di un pattern set di immagini approssimandola in modo considerevole con una bassissima percentuale derrore. Si fa notare inoltre, che in base alla sperimentazione, lalgoritmo in questione rileva un k ottimale pari a 7 e non a 10: ci

4.4 analisi di validit esterna dei risultati di cradle

63

non signica che esso non operi adeguatamente ma sottolinea ancora una volta che la classicazione eseguita da un utente, come detto, crea una struttura del pattern set secondo principi di tipo concettuale e sfruttando conoscenza pregressa sul dominio; infatti dal punto di vista della similitudine delle immagini esso lascia a desiderare. Questo spiega perch gli indici riportati in tabella 5 indichino scarsi risultati di clustering per CU .

Figure 11: Parte di una classicazione eseguita da un utente sul pattern set I (no al 5 cluster).

Figure 12: Parte di una classicazione eseguita da un utente sul pattern set I (dal 5 cluster al 10).

64

Figure 13: Estratto dei risultati di clustering effettuato dallalgoritmo CRADLE sul pattern set I (no al 5 cluster).

65

Figure 14: Estratto dei risultati di clustering effettuato dallalgoritmo CRADLE sul pattern set I (dal 5 cluster al 10).

66

CONCLUSIONI E SVILUPPI FUTURI

In questo lavoro di tesi si discusso di tutto ci che riguarda il clustering: dalle motivazioni per cui nasce, ai passi fondamentali di cui composto no agli approcci e gli algoritmi pi comunemente usati, facendo anche dei cenni alle le applicazioni che, grazie alla sua capacit di fare astrazione dei dati, lo utilizzano. Si sottolineato nella maggior parte dei casi come il clustering sia un problema soggettivo e come, perci, non esista un algoritmo risolutivo universale. Si scesi anche maggiormente nel dettaglio affrontanto i vari approcci risolutivi intrapresi negli anni in questo campo di ricerca mostrandone le rispettive idee di base e modalit operazionali, nonch i rispettivi pregi e difetti. In conclusione si pu osservare che, allo stato dellarte, esistono molti algoritmi di clustering, che, a seconda del dominio e della natura del data set, raggiungono una soluzione ottimale di raggruppamento. Tuttavia si anche osservato che i problemi principali alla base degli algoritmi ritenuti pi convenienti, come ad esempio il k-mean, soffrono spesso del problema della sensibilit alla congurazione iniziale, mentre, altri algoritmi, ad esempio quelli di clustering concettuale o quelli con approccio evolutivo, per quanto raggiungano risultati ottimi su data set di piccole dimensioni, sono inutilizzabili per data set di grandi dimensioni a causa della loro complessit computazionale e dei loro requisiti temporali. in questo contesto che lalgoritmo CRADLE si propone come una soluzione: esso infatti ha una sensibilit alla congurazione iniziale bassissima (compresa tra il 5-10%) e grazie alla fase di selezione pu raggiungere due importanti obiettivi. Il primo di questi obiettivi la possibilit di effettuare un numero limitato e relativamente basso di iterazioni in fase di raggruppamento al ne di creare unottima congurazione di clustering che venga utilizzata come input della fase di selezione che miratamente provveder a cercare un minimo della funzione di costo. Inne, ma non meno importante, il duplice approccio di clustering che esso pu assumere, sia basato su ricerca, sia incrementale. La fase di selezione, infatti, ha la capacit di

67

Analizzando varie esecuzioni dellalgoritmo CRADLE sia sul pattern set IV sia sul pattern set VIII si vericato che i cluster ottenuti sono quasi del tutto simili e differiscono nella maggior parte dei casi di un numero di shape che va da 0 a 3 per cluster con cardinalit inferiore al 20% e da 0 a 6 per cluster la cui cardinalit molto alta, superiore al 20% del numero n di shape in esame.

68

conclusioni e sviluppi futuri

utilizzare la congurazione di clustering ottenuta dalla fase precedente di raggruppamento non solo al ne di migliorare questa ma anche allo scopo di utilizzarla come modello per il raggruppamento incrementale di nuove shape. Ladattivit dellalgoritmo CRADLE lo rende utilizzabile su grandi data set e soprattuto in contesti reali dove linserimento di nuovi pattern in una struttura gi esistente non pu comportare una nuova e completa esecuzione dellintero processo di clustering. Ci rende CRADLE utilizzabile in modo efcace ed efciente in applicazioni pratiche quali, ad esempio, i sistemi di retrieval supportati da clustering. 5.1 sviluppi futuri

Di seguito si riporta un elenco di idee nalizzate al miglioramento futuro dellalgoritmo. approccio gerarchico Al ne di effettuare il clustering di un dataset di shape di grandi dimensioni possibile creare una struttura ad albero in cui le shape vengano organizzate in base al seguente principio: ai massimi livelli dellalbero verranno poste le shape con minore similarit mentre nei livelli via via inferiori verranno poste le shape con similarit via via maggiore. Questa organizzazione delle shape in una struttura ad albero viene ottenuta considerando inizialmente tutte le shape del dataset ed applicando ad esse CRADLE per una serie di pressati numeri di cluster. Calcolato il numero di cluster ottimale k possibile computare il centroide per ognuno dei cluster. Effettuando il clustering su essi, sempre tramite lutilizzo di CRADLE, si crea un livello superiore della struttura ad albero. Applicando iterativamente questa idea si ottiene una organizzazione ad albero delle shape dove la similarit tra esse aumenta allaumentare del grado del livello della struttura in considerazione. Tuttavia questo approccio bottom-up ha una criticit: la funzione per il calcolo dei centroidi. perci consigliabile assicurarsi che essa svolga il suo scopo in modo adeguato e preciso. Un ulteriore aspetto critico di tale approccio la scelta dei parametri quali il numero di livelli della struttura ad albero, ed il relativo

5.1 sviluppi futuri

69

numero di cluster scelto per ognuno di essi: queste scelte dipendono in primis da considerazioni ottenute tramite lanalisi di validit dei cluster ma anche da fattori desiderati quali la velocit della ricerca e le prestazioni. Il benecio pi evidente di rappresentare lintero data set in modo gerarchico la capacit di confrontare le shape molto dissimili a bassa risoluzione pur consentendo tuttavia il paragone fra shape simili ad una risoluzione maggiore. distribuzione iniziale delle shape Come gi descritto nella sezione apposita (vedi capitolo 3.3.2) la congurazione di partenza dellalgoritmo CRADLE viene creata generando una distribuzione normale di interi casuali. Unidea di miglioramento consiste nel generarne varie scegliendo quella che fornisce un valore minore di dispersione totale. In questottica sarebbe consigliabile utilizzare un algoritmo evolutivo (ad esempio GA, si veda la sezione 2.5) esclusivamente per generare delle distribuzioni di interi casuali completamente differenti tra loro. nuove tipologie di spostamento delle shape Lalgoritmo proposto basato attorno allidea di spostare ununica shape negli altri cluster al ne di minimizzare il valore della dispersione totale; tuttavia tipi addizionali di spostamenti, quali ad esempio lo scambio di shape fra cluster, singolarmente o in congiunzione con quello gi utilizzato, possono essere adoperati al ne di migliorare lefcacia del clustering.

Part III APPENDICE

S P E R I M E N TA Z I O N E

A
DB 1,26860 1,37772 1,40677 1,33322 1,32137 1,35792 1,35828 1,35391 1,27568 1,28168 1,34423 1,28500 XB 1,96174 3,50605 4,15257 5,92042 6,16880 7,33298 9,11992 10,52145 11,45877 12,23398 13,30741 14,44261

In questo capitolo dappendice si riportano tutti i risultati relativi allintera sperimentazione. a.1 pattern set 1

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,61686 11,66185 10,71896 9,91138 9,41288 8,92266 8,62082 8,28233 8,02915 7,78970 7,57545 7,32358

DI 0,97096 0,73313 0,65684 0,61247 0,71293 0,71414 0,69306 0,62903 0,57873 0,54779 0,62224 0,55115

Tabella 6: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set I.

73

Figura 15: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set I.

74

A.2 pattern set 2

75

a.2

pattern set 2

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,54010 11,60561 10,69813 10,10195 9,30218 8,99754 8,60039 8,33104 8,02652 7,75907 7,52488 7,35988

DI 0,98976 0,79021 0,71627 0,68607 0,79078 0,75691 0,69760 0,72107 0,67681 0,66331 0,60641 0,61199

DB 1,25331 1,48853 1,58932 1,41919 1,33096 1,36697 1,40526 1,33476 1,36184 1,37376 1,32870 1,34377

XB 1,94209 3,66309 5,12012 5,75983 6,28310 8,26603 9,94811 10,62270 13,11895 14,10801 14,44147 14,09604

Tabella 7: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set II.

Figura 16: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set II.

76

A.3 pattern set 3

77

a.3

pattern set 3

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,55703 11,67547 10,61942 10,21427 9,52141 9,00358 8,57705 8,42636 8,03665 7,69263 7,55560 7,32540

DI 0,94312 0,73201 0,65204 0,61419 0,56632 0,65699 0,59805 0,62243 0,61605 0,56553 0,58207 0,56510

DB 1,28498 1,40886 1,45540 1,51916 1,35941 1,36538 1,25823 1,31524 1,34380 1,32209 1,35908 1,33077

XB 2,04073 3,61849 4,50931 6,21279 7,23230 7,17619 10,87478 10,39004 12,32949 14,93773 14,83572 16,54152

Tabella 8: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set III.

Figura 17: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set III.

78

A.4 pattern set 4

79

a.4

pattern set 4

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,79368 11,78074 10,92335 10,52129 9,56448 8,99455 8,86346 8,43404 8,20403 7,95234 7,72442 7,65835

DI 0,95544 0,80182 0,74679 0,65008 0,76557 0,69023 0,73576 0,64805 0,64026 0,62653 0,59128 0,52279

DB 1,29818 1,37120 1,18654 1,44372 1,33596 1,43377 1,42512 1,37701 1,38138 1,39693 1,39407 1,34673

XB 2,02988 3,39356 3,48203 5,51938 7,02523 8,45080 9,23816 11,08794 11,75584 12,42090 14,70682 14,77905

Tabella 9: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set IV.

Figura 18: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set IV.

80

A.5 pattern set 5

81

a.5

pattern set 5

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 13,09914 11,65561 10,85001 10,20751 9,42770 9,10270 8,68145 8,37635 8,11124 7,86173 7,65448 7,57336

DI 0,97145 0,75930 0,63499 0,62882 0,75449 0,72728 0,68892 0,65603 0,60938 0,66260 0,60610 0,52637

DB 1,37011 1,37551 1,41400 1,42508 1,40041 1,35836 1,34245 1,31686 1,28768 1,29839 1,34361 1,33033

XB 2,16377 3,47647 4,52686 5,11765 7,01203 8,71067 9,17407 10,42174 12,46158 13,75056 14,15892 15,41173

Tabella 10: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set V.

Figura 19: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set V.

82

A.6 pattern set 6

83

a.6

pattern set 6

La tabella ed il graco relativi ai risultati ottenuti sul pattern set VI sono stati presentati nella sezione 4.2.3 (tabella 2 e gura 7). a.7 pattern set 7

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,67353 11,77773 11,07703 10,37586 9,81785 9,10110 8,68675 8,47372 8,21137 8,01399 7,71402 7,53744

DI 0,94297 0,72225 0,70178 0,64023 0,62109 0,76089 0,65364 0,70570 0,64428 0,59119 0,56363 0,57444

DB 1,32890 1,39065 1,49947 1,85014 1,43421 1,47303 1,29855 1,36999 1,36080 1,40350 1,39998 1,33044

XB 2,08402 3,38075 4,70406 7,98737 7,33963 8,83060 8,93401 10,04217 11,75141 14,22893 14,79866 15,28309

Tabella 11: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set VII.

Figura 20: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set VII.

84

A.8 pattern set 8

85

a.8

pattern set 8

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,60352 11,62929 10,95336 10,06943 9,55936 9,15094 8,76071 8,35382 8,07114 7,86112 7,60026 7,39116

DI 0,94444 0,82552 0,68559 0,73460 0,77147 0,63632 0,65444 0,68305 0,64406 0,59783 0,60702 0,63191

DB 1,27060 1,40730 1,56148 1,24042 1,25542 1,36044 1,39707 1,36207 1,34946 1,36800 1,32376 1,33545

XB 1,97259 3,41977 4,75849 4,61894 6,19128 8,79231 8,96862 10,87754 11,40864 13,94974 14,27596 15,84766

Tabella 12: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set VIII.

Figura 21: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set VIII.

86

A.9 pattern set 9

87

a.9

pattern set 9

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,74849 11,73498 10,87039 10,01664 9,60898 9,02706 8,67224 8,35782 8,17050 7,83839 7,60676 7,41771

DI 0,92920 0,76743 0,71485 0,74350 0,58566 0,70702 0,71714 0,58678 0,60072 0,64131 0,57765 0,53853

DB 1,28322 1,35227 1,41218 1,19414 1,37199 1,35044 1,29310 1,36643 1,48653 1,35660 1,33269 1,35810

XB 1,98998 3,30828 4,64027 5,25671 7,19374 8,46423 8,46093 10,64718 13,55072 13,15352 14,34634 16,93108

Tabella 13: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set IX.

Figura 22: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set IX.

88

A.10 pattern set 10

89

a.10

pattern set 10

k 3 4 5 6 7 8 9 10 11 12 13 14

Q 12,68695 11,64858 10,94067 10,19662 9,44906 9,10565 8,83376 8,50112 8,18396 7,93123 7,67611 7,45993

DI 0,96874 0,77826 0,66835 0,67348 0,70370 0,70703 0,59627 0,61930 0,60197 0,62378 0,59900 0,56462

DB 1,26682 1,28727 1,44100 1,28087 1,34090 1,40665 1,47186 1,33151 1,37420 1,30639 1,33173 1,30794

XB 1,94962 3,04021 4,60086 5,29952 6,58436 8,00762 9,68241 10,37033 11,61972 12,99925 13,65476 16,58188

Tabella 14: Tabella riportante la dispersione e gli indici di validit (DI, DB, XB) relativi alla sperimentazione sul pattern set X.

Figura 23: Graco degli indici di validit (DI, DB) relativi alla sperimentazione sul pattern set X.

90

BIBLIOGRAFIA

E. Aarts and J. Korst. Simulated Annealing and Boltzmann Machines: A Stochastic Approach to Combinatorial Optimization and Neural Computing. Jhon Wiley and Sons, New York, NY, USA, 1989. (Citato alla pagina 26.) K.S. Al-Sultan and M.N. Khan. Computational experience on four algorithms for the hard clustering problem. Pattern Recognition Lettures, 17(3):295308, 1996. (Citato alla pagina 29.) M.R. Anderberg. Clustering Analysis for Applications. Academic Press. (Citato alla pagina 20.) G.P. Babu and M.N. Murty. A near optimal initial seed value selection in k-means algorithm using genetic algorithm. Pattern Recognition Lettures, 14(10):763759, 1993. (Citato alla pagina 25.) R.A. Baeza-Yates. Introduction to Data Structures and Algorithms related to information retrieval. Information Retrieval: Data Structures and Algorithms, pages 1327, 1992. (Citato alla pagina 18.) G.H. Ball and D.J. Hall. ISODATA, a novel method of data analysis and classication. Techincal Report of Stanford University, 1965. (Citato alla pagina 20.) J.C. Bezdek. Pattern Recognition with Fuzzy Objective Function Algorithms. Planum, New York, NY, USA, 1981. (Citato alla pagina 21.) I. Bierdman and G. Ju. Surface vs edge-based determinants of visual recognition. Cognitive Psycology, 20:3864, 1988. (Citato alla pagina 33.) G. Carpenter and S. Grossberg. Hierachical search using chemical transmitters in self-organizing pattern recognition architectures. Neural Networks, pages 129152, 1990. (Citato alla pagina 28.) E. Diday. The dynamic cluster method in non hierachical clustering. Journal of Computing and Information Science, 2: 6188, 1973. (Citato alla pagina 20.)

91

92

bibliografia

E. Diday. Clustering and Related Methods. North-Holland Publishing Co., Amsterdam, The Netherlands, 1988. (Citato alla pagina 7.) R.C. Dubes. Cluster analysis and related issues. World Scientic Publishing, River Edge, NJ, USA, 1993. (Citato alla pagina 15.) J.C. Dunn. Well separated clusters and optimal fuzzy partitions. J. Cybern., 4:95104, 1974. (Citato alla pagina 48.) D. Fisher. Knowledge acquisition via incremental conceptual clustering. Mach Learn, 2:139172, 1987. (Citato alla pagina 28.) L. Fisher and J.W. Van Ness. Admissible clustering procedures. Biometrika, 58:91104, 1971. (Citato alla pagina 13.) L.J. Fogel, A.J. Owens, and M. Walsh. Articial Intelligence Through Simulated Evolution. Jhon Wiley and Sons, New York, NY, USA, 1965. (Citato alla pagina 25.) D.E. Goldberg. Genetic Algorithms in Search, Optimization and Machine Learining. Addison-Wesley Publishing, Redwood City, CA, USA, 1989. (Citato alla pagina 25.) K. C. Gowda and E. Diday. Symbolic clustering using a new dissimilarity measure. IEEE Trans. Syst. Man Cybern, (22): 368378, 1992. (Citato alla pagina 7.) M. Halkidi, Y. Batistakis, and Vazirgiannis M. Clustering Validity Checking Methods: Part ii. ACM SIGMOD Record, 31(3):1927, Settembre 2002. (Citato alla pagina 47, 49, e 53.) J. Hertz, A. Krogh, and R.G. Palmer. Introduction to the Theory of Neural Computation. Addison-Wesley, Reading, MA, USA, 1991. (Citato alla pagina 23 e 24.) J.H Holland. Adaption in Natural and Articial Systems. University of Michigan Press, Ann Arbor, MI, USA, 1975. (Citato alla pagina 25.) A.K. Jain and R.C. Dubes. Algorithms for Clustering Data. Prentice-Hall advanced series, 1988. (Citato alla pagina 5.)

bibliografia

93

A.K. Jain, M.N. Murty, and P.J. Flynn. Data Clustering: A Review. ACM Computing Surveys, 31(3):60, September 1999. (Citato alla pagina 3, 5, 6, 9, 11, e 14.) T. Kohonen. Self-Organizing Maps. Springer, 2001. (Citato alla pagina 24.) T. Kohonen and T. Honkela. Kohonen Network, 2007. URL http://www.scholarpedia.org/article/Kohonen_ network. (Citato alla pagina 24.) Peter Kontschieder, Michael Donoser, and Bischof Horst. Beyond Pairwise Shape Similarity Analysis. Proceedings of Asian Conference on Computer Vision (ACCV), 2009. (Citato alla pagina 34.) T. Kurita. An efcient agglomerative clustering algorithm using a heap. Pattern Recognition, 24(3):205209, 1991. (Citato alla pagina 29.) J. McQueen. Some methods for classication and analysis of multi variate observations. Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, pages 281297, 1967. (Citato alla pagina 20.) R. Michalski, R.E. Stepp, and E. Diday. A recent advance in Data Analysis: Clustering objects into classes characterized by conjunctive concepts. Progress in Pattern Recognition, 1, 1981. (Citato alla pagina 14.) G. Nagy. State of the art in pattern recognition, volume 56. 1968. (Citato alla pagina 18.) H.P. Schwefel. Numerical Optimization of Computer Models. Jhon Wiley and Sons, New York, NY, USA, 1981. (Citato alla pagina 25.) J.R. Slagle, C.L. Chang, and Heller S.R. A clustering and date-reorganizing algorithm. IEEE Trans. Syst. Man Cybern., 52:125128, 1975. (Citato alla pagina 28.) Anuj Srivastava, Shantanu H. Joshi, Mio, and Liu. A geometric approach to shape clustering and learning. IEEE Transcations on Pattern Analysis and Machine Intelligence, 27(4):590602, April 2005. (Citato alla pagina iii, iv, 34, e 35.)

94

bibliografia

M.J. Symon. Clustering criterion and multi variate normal mixture. Biometrics, 77:3543, 1977. (Citato alla pagina 20.) S. Watanabe. Pattern Recognition: Human and Mechanical. Jhon Wiley and Sons, New York, NY, USA, 1985. (Citato alla pagina 9.) Wikipedia. Disuguaglianza Triangolare. URL http://it. wikipedia.org/wiki/Disuguaglianza_triangolare. (Citato alla pagina 9.) X.L. Xie and G. Beni. A Validity Measure for Fuzzy Clustering. IEEE Trans. PAMI, 13(8):841847, Settembre 1991. (Citato alla pagina 49.) L.A. Zadeh. Fuzzy sets. Information Control, 8:338353, 1965. (Citato alla pagina 21.)

credits
A Questa tesi stata scritta con LYX e L TEX 2 usando i font Palatino ed Euler. Come modello tipograco si utilizzato il template classicthesis. Lalgoritmo CRADLE stato sviluppato in Python 2.5 con Eclipse e pyDev. Si sono usate le seguenti librerie:

matplotlib per la stampa dei graci, xlwt per la creazione dei le excel utili nellanalisi di validit dei cluster, excel2latex per la conversione delle tabelle excel in A tabelle L TEX numpy per la precisione delle operazioni con i tipi oat, per ottenere notevoli prestazioni sulle numerose operazioni matematiche eseguite e per particolari operazioni con le liste.

Final Version as of 20 settembre 2010 at 10:59.

Bari, Febbraio 2010 - Settembre 2010

Leonardo Di Donato