CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato...

113
UNIVERSITÀ DEGLI STUDI DI BARI ALDO MORO FACOLTÀ DI SCIENZE MM. FF. NN. 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 : laureando : Prof.ssa Giovanna Castellano Leonardo Di Donato anno accademico 2009 2010

description

Bachelor's thesis and research work on image clustering based on shape recognition.

Transcript of CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato...

Page 1: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

UNIVERSITÀ DEGLI STUDI DI BARIALDO 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

C R A D L E

Clustering by RAndom minimum Dispersion basedLEarning

un algoritmo di clustering basato su

minimizzazione random della dispersione

relatore: laureando :Prof.ssa Giovanna Castellano Leonardo Di Donato

anno accademico 2009–2010

Page 2: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

luogo:Dipartimento di Informatica— Bari

periodo:Febbraio 2010 - Settembre 2010

contatti:[email protected]

Leonardo Di Donato– CRADLE: Clustering by RAndom min-imum Dispersion based LEarning– Un algoritmo di clusteringbasato su minimizzazione random della dispersione , Informaticae tecnologie per la produzione del software, © Febbraio2010 - Settembre 2010

Page 3: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

I N T R O D U Z I O N E

Negli ultimi decenni, a causa delle crescita esponenzialedelle informazioni è divenuto sempre più indispensabileanalizzare l’enorme mole di dati disponibili. La necessità digovernare il sovraccarico di informazioni ha reso l’analisidei dati un processo presente nella maggior parte delleapplicazioni di calcolo. L’elemento chiave di tale processoè sicuramente il raggruppamento automatico dei dati, pro-blema che trova facilmente applicazione in molti contestie discipline; vien da sé, quindi, che un processo risolutivoper tale problema risulta essere un passo fondamentale nelcampo dell’analisi dei dati di tipo esplorativo.

Il clustering, un metodo utile all’esplorazione dei datifinalizzata alla ricerca di schemi e/o strutture di interessepresenti in essi, è diventato, perciò, una tecnica comune eimportante per molti campi inerenti la scienza dell’informa-zione, quali, per esempio: data mining, pattern recognition,machine learning e image analysis.

In questa tesi si è riposta attenzione al campo della imageanalysis, in particolare a quello della shape analysis, poichètale campo risulta essere molto interessante sia per l’utilitàfinale che può apportare in vari settori (computer vision,computational topology, biomedical image analysis, milita-ry target recognition, biometrics, sorveglianza automatica),sia per gli strumenti matematici avanzati di cui necessital’implementazione di un processo relativo ad esso. Datoche un’analisi delle immagini basata sull’intero insiemedelle caratteristiche (colore/i, forma/e, texture, posizioneetc. etc.) che esse posseggono risulta essere, ad oggi, unobiettivo ancora molto distante [Srivastava et al., 2005], unpasso importante è lo sviluppo di un algoritmo finalizzatoalla categorizzazione o raggruppamento di immagini inbase alla forma del loro contorno.

Esistono, infatti, molte applicazioni che possono bene-ficiare di un algoritmo di shape clustering di questo tipo:

• i database di forme possono beneficiare, in terminidi efficacia ed efficienza, poichè un algoritmo di shapeclustering può essere utilizzato per migliorare l’organizzazionedelle forme e per snellire il sistema di interrogazione

iii

Page 4: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

sfruttando l’astrazione dati che esso opera: una ipotet-ica forma non dovrà più essere ricercata nell’interodatabase di forme ma, comparandola con la forma piùrappresentativa di ogni cluster, è possibile restringerela sua ricerca esclusivamente al cluster la cui formapiù rappresentativa maggiormente le somiglia;

• algoritmi robusti di computer vision possono benefi-ciare dello shape clustering poichè esso può fornireuna codifica efficiente delle forme tramite l’utilizzo dimetriche e statistiche relative ad ogni cluster ottenuto.

Gli esempi e le motivazioni appena riportati giustificano ilfatto che:

La caratterizzazione di oggetti complessi tra-mite le loro forme è divenuto velocemente unodei maggiori strumenti della computer vision edella comprensione automatica delle immagini[Srivastava et al., 2005].

Illustrate le motivazioni e gli obiettivi che questo lavorodi tesi si prefigge, di seguito sono riportati la sua strut-tura e per sommi capi i contenuti dei 5 capitoli che lacostituiscono.

capitolo 1 - introduzione al clustering – Que-sto capitolo tratta la teoria riguardante il raggruppa-mento automatico e tutto ciò che essa concerne, dalledefinizioni fino alla trattazione dettagliata dei passidi cui è composto un processo di clustering.

capitolo 2 - algoritmi di clustering – Prenden-do le mosse dal capitolo precedente, questo capitolooffre una visione generale sugli algoritmi di clusteringpresenti in letteratura.

capitolo 3 - cradle – Questo capitolo, affrontato ilconcetto di shape clustering, presenta CRADLE, fulcrodi questo lavoro di tesi.

capitolo 4 - valutazione dell’algoritmo cradle

– Questo capitolo è dedicato alla presentazione e valu-tazione dei risultati conseguenti alla sperimentazionedell’algoritmo CRADLE su un data set di forme dicontorni di pesci.

iv

Page 5: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

capitolo 5 - conclusioni e sviluppi futuri – Ca-pitolo finale incentrato sulle conclusioni riguardan-ti il lavoro svolto e sulla proposta di eventuali epercorribili idee di ulteriore sviluppo dell’algoritmoCRADLE.

v

Page 6: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 7: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

L’informatica riguarda i computer quantol’astronomia riguarda i telescopi.

— Edsger Wybe Dijkstra (1930-2002)

R I N G R A Z I A M E N T I

Nonostante la pagina che mi accingo a scrivere sia l’ultimadi questo lavoro di tesi, è stata da sempre la prima paginache io abbia voluto scrivere.

Perciò, giunto al termine di questo percorso, desideroesprimere la mia gratitudine e riconoscenza nei confrontidi tutte le persone che, in modi diversi ma sempre indis-pensabili, hanno creduto in me supportandomi ed incorag-giandomi.

I miei più sentiti ringraziamenti vanno innanzitutto a chimi ha seguito durante l’intero lavoro di tesi:

• Dott.ssa Giovanna Castellano, per aver da subito ripostofiducia in me lasciandomi libero di ricercare, speri-mentare e fare di testa mia, cosa che amo di più. Il suoessere perfezionista mi ha tranquillizzato riguardo irisultati. Il mio essere perfezionista, invece, mi portaa ringraziarla per la pazienza di cui ha necessitatoquesto lavoro di tesi.

• Dott.ssa Maria Alessandra Torsello, per la disponibilità, iconsigli e le informazioni che, sempre pacatamente, hasaputo trasmettermi. La ringrazio per essere stata sem-pre tempestiva e presente quanto ho avuto bisogno diaiuto.

Inoltre, non posso certo dimenticare gente con cui, nell’ultimoanno, ho lavorato ma anche lottato e sognato, vivendoun’esperienza che si è resa utile anche nello sviluppo diquesto lavoro di tesi. Ringrazio perciò il Dott. Daniele Galiffache, credendo ciecamente in un ragazzo che aveva conosci-uto solo online, per altro 7 anni fa, mi ha dato tale possi-bilità. Ringrazio inoltre il fantastico team di lavoro, il Dott.Alessandro Lanza e il Dott. Antonio Minella, per i rapporticreatisi e l’intesa continua e naturale: senza che nessuno sioffenda, non pensavo che sarebbe stato così bello lavorarecon un salentino e un brindisino, invece lo è stato.

vii

Page 8: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Per ultimi, ma di certo non per importanza, ringrazio lamia famiglia:

• Mia madre, che ha sempre creduto in me, cosa cheritengo fondamentale. Quando avevo 15 anni fece ditutto per comprarmi un notebook solo perchè pensavoche potesse servirmi o poco più: non lo dimenticheròmai, dato che fa parte di una delle mie più grandipassioni. Come non dimenticherò mai altre cose. . .

• Mio padre, la cui carriera universitaria è sempre statauna notevole fonte d’ispirazione per me. Entrambifacemmo una scommessa a riguardo qualche anno fa:è arrivato per me il momento di riscuotere e per luiquello di sorridere. . .

• Gianni, perché, anche se non lo dimostro, è una per-sona indispensabile per me fin da quando giocavamotutto il giorno insieme, dovunque ed in qualsiasimodo. 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 d’esser nato ed averriempito con piccoli momenti giornate che, altrimenti,sarebbero state insignificanti. Vederlo crescere è statae sarà sempre una gioia. Senza la sua sensibilità, senzai suoi occhi, certamente sarei più povero di sentimenti.

ed, in particolare:

• Leonardo, questo è l’unico caso in cui (sotto sua es-plicita richiesta) non lo chiamerò Ciutt. Senza lui ela sua disponibilità incondizionata, con tutta prob-abilità, non sarei qui, o almeno non ora. Inoltre, inparticolare gli ultimi 3 anni della mia vita sarebberostati difficili invece che felici. Ringraziarlo per ognicosa è letteralmente impossibile: richiederebbe seri-amente un’altra tesi (composta prevalentemente dastudi psico-comportamentali sulla sua persona). Miperdonerà, poichè sa, essendo stato sempre presentecome in ogni cosa della mia vita, quanto è stato fati-coso. Di conseguenza è nelle mie possibilità semplice-mente esprimere una gratitudine enorme ad un altrofratello che la vita m’ha donato.

• Claudia, perché mi è stata vicina quando molti anda-vano, senza guadagnarci nulla ed anzi perdendoci.

viii

Page 9: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Perchè m’ha sempre capito all’istante. Le sono gratoper avermi dimostrato che può esistere un vero rap-porto d’amicizia tra uomo e donna, purché sia basatosul rispetto, sulla comprensione reciproca, sull’ascoltoe sulla verità (ad esempio quando le dico che la trovoparecchio ingrassata). La ringrazio per le serate pienedi gioia e spensieratezza nonché per l’estate più belladella mia vita, vissuta con lei, e per le altre che ver-ranno (purché non vada nuovamente in Cina. . . ). In-vece dico grazie alla vita per avermi regalato ciò chenon poteva assolutamente mancare: una sorellina.

• Gerardo, perché con lui non è mai cambiato nulla, cheesso sia stato spazialmente vicino o lontanto. La nostraamicizia cresce in modo direttamente proporzionalealle distanze che ci separano: questa sarebbe una log-ica conclusione derivante da un’analisi matematicadei dati e delle informazioni a riguardo. Tuttavia, èsemplicemente il tempo che avanza e l’affetto chesi radica. Una ulteriore conclusione derivante dallasuddetta analisi è che anche la sua calvizie avanzaproporzionalmente alla distanza che ci separa: è con-dannato già da tempo, ma rinunci a qualsiasi tipo disperanza.

Infine intendo ringraziare un’altra persona speciale:

• Claudia, che per l’occasione eviterò di chiamare neimodi più disparati, da Patatina fino a Bollicina, perchémi permette d’essere me stesso pur sentendomi untutt’uno con lei. Perchè fin dal primo istante m’hacapito profondamente. Perchè anche lei ha creduto inme, ed in noi, nonostante la distanza. La ammiro e lesono riconoscente per la pazienza e la comprensioneche dimostra. La ringrazio perché da circa un anno miha riconsegnato le chiavi di un aspetto indispensabiledella mia vita: l’amore. Perchè lei, che parla poco, saquanto nel silenzio anche un sorriso faccia rumore.Nonostante mi chieda spesso di non meravigliarmidell’immenso amore che sa donare, io continuerò astupirmi, sentirmi fortunato e ad esserle infinitamentegrato.

ix

Page 10: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 11: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

I N D I C E

i clustering 1

1 introduzione al clustering 3

1.1 Definizioni 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 erro-re quadratico 19

2.2.2 Algoritmi di clustering basati sullateoria dei grafi 20

2.2.3 Algoritmi di clustering mixture-resolving 21

2.3 Approccio fuzzy 21

2.4 Approccio basato sulle reti neurali artificia-li 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 dell’arte 33

3.2 Minimum-Variance Clustering 34

3.2.1 Tecnica di clustering 34

3.2.2 Descrizione dell’algoritmo 36

3.2.3 Considerazioni 36

3.3 Presentazione dell’algoritmo CRADLE 37

3.3.1 Differenze di impostazione rispetto alMinimum-Variance Clustering 38

xi

Page 12: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

xii indice

3.3.2 Approccio e descrizione dell’algorit-mo 38

3.3.3 Astrazione dati 43

3.3.4 Considerazioni finali 44

4 valutazione dell’algoritmo cradle 47

4.1 Analisi di validità relativa dei cluster 47

4.1.1 Dunn’s 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 dell’analisi di validi-tà 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 diCRADLE 61

5 conclusioni e sviluppi futuri 67

5.1 Sviluppi futuri 68

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

Page 13: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

E L E N C O D E L L E F I G U R E

Figura 1 Sequenza dei passi 1, 2, 3 del cluste-ring. 5

Figura 2 Rappresentazione di un cluster cur-vilineo i cui elementi (o punti) sonoapprossimativamente equidistanti dal-l’origine. 6

Figura 3 Tassonomia degli approcci di cluste-ring. 11

Figura 4 Dendrogramma rappresentante i risul-tati di un algoritmo di clustering ge-rarchico applicato al pattern set {A, . . . , G}. 17

Figura 5 Confronto tra cluster fuzzy (vedasi F1e F2) e cluster hard (H1e H2). 22

Figure 6 Relazione di inversa proporzionalitàtra la dispersione finale e il numero dicluster. 45

Figura 7 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set VI. 55

Figura 8 Grafico che mostra il processo di mini-mizzazione della dispersione duranteuna esecuzione dell’algoritmo CRAD-LE (k = 7). 55

Figura 9 Estratto dei risultati del clustering ef-fettuato dall’algoritmo CRADLE sulpattern set VI. 57

Figura 10 Comparazione dell’andamento delladispersione nel clustering del patternset IV eseguito con e senza fase diselezione. 59

Figura 11 Parte di una classificazione eseguitada un utente sul pattern set I (fino al5° cluster). 63

Figura 12 Parte di una classificazione eseguitada un utente sul pattern set I (dal 5°cluster al 10°). 64

Figura 13 Estratto dei risultati di clustering ef-fettuato dall’algoritmo CRADLE sulpattern set I (fino al 5° cluster). 65

xiii

Page 14: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 14 Estratto dei risultati di clustering ef-fettuato dall’algoritmo CRADLE sulpattern set I (dal 5° cluster al 10°).

66

Figura 15 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set I. 74

Figura 16 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set II. 76

Figura 17 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set III. 78

Figura 18 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set IV. 80

Figura 19 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set V. 82

Figura 20 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set VII. 84

Figura 21 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set VIII. 86

Figura 22 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set IX. 88

Figura 23 Grafico degli indici di validità (DI,DB) relativi alla sperimentazione sulpattern set X. 90

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

Tabella 1 Complessità degli algoritmi di cluste-ring. 30

Tabella 2 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setVI. 54

xiv

Page 15: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Tabella 3 Numero ottimale di cluster per ognipattern set. 56

Tabella 4 Comparazione della dispersione e de-gli indici di validità rispetto al cluste-ring del pattern set IV per k = 5 cone senza fase di selezione. 60

Tabella 5 Comparazione delle metriche della clas-sificazione eseguita da un umano sulpattern set I con le metriche relativeal clustering eseguito dall’algoritmoCRADLE con e senza fase di selezioneper lo stesso k. 62

Tabella 6 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setI. 73

Tabella 7 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setII. 75

Tabella 8 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setIII. 77

Tabella 9 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setIV. 79

Tabella 10 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setV. 81

Tabella 11 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setVII. 83

Tabella 12 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setVIII. 85

Tabella 13 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setIX. 87

xv

Page 16: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

xvi acronimi

Tabella 14 Tabella riportante la dispersione e gliindici di validità (DI, DB, XB) relati-vi alla sperimentazione sul pattern setX. 89

A C R O N I M I

ANN Artificial Neural Network

CRADLE Clustering by RAndom minimimum Dispersionbased LEarning

EP Evolutionary Programming

ES Evolutionary Strategy

FCM Fuzzy C-Mean

FD Descrittori di Fourier

GA Genetic Algorithm

MCMC Markov Chain Monte Carlo

MVC Minimum-Variance Clustering

MST Minimum Spanning Tree

SA Simulated Annealing

SOM Self-Organizing Map

SSP Shortest Spanning Path

Page 17: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Parte I

C L U S T E R I N G

Page 18: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 19: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1I N T R O D U Z I O N E A L C L U S T E R I N G

Questo capitolo ha l’obiettivo di presentare il concetto diclustering nella sua accezione più generale. In seguito ver-ranno approfonditi gli aspetti componenti dei processi diclustering e verrà presentata una tassonomia dei vari metodidi clustering.

Il clustering è il processo di classificazione automatica(cioè non supervisionata) di dati, non etichettati, in grup-pi omogenei (cluster). Esso consiste perciò nell’organizza-zione di una collezione di dati (rappresentati solitamentecome vettori di misure o come punti in uno spazio multi-dimensionale) in gruppi basati sulla somiglianza. Intuitiva-mente, i dati apparteneti a un gruppo sono più simili tra diessi rispetto a un dato appartente a un gruppo diverso.

La varietà di tecniche per rappresentare i dati, per mi-surare la somiglianza fra essi e infine per raggrupparli hacausato il proliferare di un vasto e confuso assortimento di me-todi di clustering [Jain et al., 1999], che va anch’esso, appunto,classificato.

È innanzitutto importante comprendere la differenza fraclustering (classificazione non supervisionata) e analisi di-scriminante (classificazione supervisionata): nel primo casoil problema da risolvere consiste nel raggruppare una datacollezione di dati non etichettati in gruppi significativi; nelsecondo caso, data una collezione di dati etichettati (usa-ta come training set al fine di descrivere le classi di dati,o gruppi), il problema consiste nell’etichettare i dati nonancora etichettati.

Come già accennato il clustering è utile in alcuni processidi exploratory data analysis, ma anche di raggruppamento,decision-making e machine-learning, quali ad esempio: ima-ge segmentation, pattern recognition, information retrieval,data mining. In ogni campo di ricerca viene utilizzata unaterminologia diversa per le parti componenti del proces-so di clustering e vengono fatte delle assunzioni sui datidiversi in base al contesto in cui il clustering viene usato.L’obiettivo di questo capitolo è quello di esaminare i con-cetti principali delle metodologie di clustering che hannole loro radici nella statistica e nella teoria delle decisioni.

3

Page 20: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4 introduzione al clustering

Tale scelta deriva dalla necessità di evitare che la trattazionerisulti troppo vasta e dispersiva. Tuttavia, quando necessa-rio, si farà riferimento a concetti e tecniche derivanti dallemetodologie di clustering afferenti ad altri campi di ricerca.

1.1 definizioni e notazione

In questa sezione vengono introdotte le definizioni e lenotazioni di frequente utilizzo.

• pattern: x detto anche vettore delle feature, osservazioneo dato è un singolo elemento usato dall’algoritmo diclustering. Solitamente consiste in un vettore di dmisure: x = 〈x1, . . . , xd〉.

• feature: anche detto attributo, è il componente sca-lare xi di un pattern x.

• dimensione del pattern: d è la cardinalità del vetto-re x.

• pattern set: insieme dei pattern da raggruppare de-notato con X = {x1, . . . , xn}. L’i-esimo pattern di X è ilvettore xi = 〈xi,1, . . . , xi,d〉. In molti casi questo insie-me è rappresentato come una matrice di dimensionen× d.

• class: detto anche cluster, è un insieme di patternle cui feature sono caratterizzate da un criterio incomune (ad esempio: misura di similarità minore diuna certa soglia).

• label: o etichetta, li, assegnata dagli algoritmi diclustering di tipo hard1 a ogni patter xi al fine diidentificare la sua classe d’appartenenza.

• labels set: dato un pattern set X è l’insieme del-le label L = {l1, . . . , ln} con liε {1, . . . ,k} dove k è ilnumero di classi (o cluster).

• grado di appartenenza: spesso chiamato anche fractionaldegree of membership, fij è un valore numerico as-segnato 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, fijappunto, al cluster j-esimo (vedi 1.6 e per dettagli 2.3).

Page 21: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1.2 i passi di un processo di clustering 5

a ogni pattern xi per il cluster j: indica, appunto, ilgrado di appartenenza del pattern al cluster.

• distanza: è (quasi sempre) una metrica usata perquantificare la similarità fra pattern; ne esistono divari tipi.

1.2 i passi di un processo di clustering

Generalmente il processo di clustering è composto daiseguenti passi [vedi Jain and Dubes, 1988]:

1. rappresentazione dei dati (passo che può, opzional-mente, includere anche il processo di estrazione e/oselezione delle feature).

2. definizione di una funzione di distanza, cioè di unamisura di similarità coerente con il dominio dei dati.

3. clustering (o raggruppamento).

4. astrazione sui dati (se reputata necessaria).

5. valutazione dell’output, cioè dei cluster ottenuti (sereputata 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 diclassi e di pattern di cui si disponde, nonchè il numero, iltipo e la scala delle feature da utilizzare per l’algoritmo diclustering.

Poiché il problema del clustering è un problema moltovasto e non meno soggettivo, non esistono, a oggi, delleindicazioni teoriche che indichino la rappresentazione deipattern e le feature appropriate da adottare in una specifica

Page 22: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

6 introduzione al clustering

situazione. Conseguentemente la generazione dei pattern èun processo non controllabile. Perciò è compito dell’utenteraccogliere informazioni, dati e congetture riguardanti ilcontesto specifico dell’algoritmo di clustering che si intendesviluppare e progettare il pattern set che esso utilizzerà. Acausa delle evidenti difficoltà che questo passo presentaviene spesso assunta a priori del processo di clusteringl’esistenza di un pattern set utile allo scopo e coerente conil contesto in cui si intende sviluppare ed eseguire taleprocesso: ciò è esattamente la scelta che si è adottata perl’algoritmo proposto in questa tesi.

Come dimostrato spesso in letteratura, un’investigazio-ne approfondita sulle feature e le possibili modifiche chepossono esser loro apportate conduce lo stesso processo diclustering a dei risultati notevolmente migliori [Jain et al.,1999]. È di seguito riportato, con l’ausilio della figura 2, unesempio di quanto appena affermato:

Figura 2: Rappresentazione di un cluster curvilineo i cui ele-menti (o punti) sono approssimativamente equidistantidall’origine.

Come la figura soprastante evidenzia i punti nello spaziobidimensionale, rappresentanti i pattern, sono raggruppativisivamente in un gruppo curvilineo: il criterio uniformantedi tale classe di punti è la loro approssimativa equidistanzadall’origine degli assi. In questo caso, mentre una rappresen-tazione dei pattern basata su coordinate polari porterebbeun qualsiasi algoritmo di clustering a rilevare un’unica clas-se di pattern, una rappresentazione basata su coordinatecartesiane, con tutta probabilità ed aldilà dell’algoritmo uti-lizzato, porterebbe alla divisione dei pattern in questione in2 o più classi distinte poiché rileverebbe uno scarso gradodi compattezza fra i punti. Questo esempio dimostra la

Page 23: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1.4 selezione ed estrazione delle feature 7

natura soggettiva e relativa del clustering e dei criteri sucui esso si basa.

È chiaro a questo punto come un pattern possa misuraresia un oggetto fisico sia una nozione astratta, scegliendoadeguatamente non solo le feature ma anche il sistema diriferimento delle misure che si utilizzano per ottenerle.

Solitamente i pattern, come accennato nella sezione 1.1,sono rappresentati come vettori multidimensionali doveogni 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 possonoessere misurate tramite scale con valori di riferimen-to significativi o altrimenti tramite scale nominali oordinali

2. qualitative

a) nominali

b) ordinali

Tuttavia le feature possono anche essere di tipo strutturato,rappresentate cioè attraverso strutture ad albero dove ogninodo padre è una generalizzazione concettuale dei suoinodi figli ed essi sono una sua specializzazione concettuale.Esempi di rappresentazione di pattern facenti uso di featurestrutturate sono stati proposti in letteratura; ad esempio isimbolic object in Diday [1988], oggetti definiti da una con-giunzione logica di eventi che collegano valori e feature, lequali, a loro volta, possono assumere uno o più valori.

È spesso utile selezionare dall’insieme iniziale solo lefeature più descrittive e discriminanti e basare le seguentifasi di analisi esclusivamente su quest’insieme restrizione.Il processo di identificazione di un sottoinsieme di featureesistenti che risultino più efficaci per un uso susseguente è

Page 24: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

8 introduzione al clustering

detto selezione delle feature, mentre l’estrazione delle featu-re consiste nell’uso di una o più trasformazioni di esse al fi-ne di computare nuove feature. In entrambi i casi l’obiettivoè migliorare la classificazione, l’efficienza computazionaleo le prestazioni.

Per sua natura, il processo di selezione delle feature ènecessariamente un processo “ad hoc” che va ripetuto va-rie volte al fine di effettuare una valutazione sui clusterottenuti dopo aver computato la loro validità tramite degliindici appositi. Tra i benefici apportati dall’estrazione del-le feature, quello che sicuramente è più intuitivo, nonchèpiù visibile all’uomo, è l’abilità e la possibilità di produrreoutput ispezionabili visivamente da esso.

1.5 misure di similarità

La prossimità fra pattern e la scelta riguardante le modalitàcon cui calcolarla è l’aspetto che maggiormente influenza irisultati di un algoritmo di clustering. Essa è misurata cal-colando la distanza fra le coppie di pattern facenti parte delpattern set. Esistono una lunga serie di misure di similarità,alcune delle quali, come la distanza euclidea, utilizzabiliper riflettere la diversità fra due pattern, altre utili invece acaratterizzare la similarità concettuale fra pattern.

A causa della già enunciata varietà di tipi e scale difeature, la scelta della misura di similarità da utilizzareper calcolare la distanza fra pattern in un algoritmo diclustering è di vitale importanza per la sua buona riuscita.Ciò poiché la similarità è un aspetto fondamentale perla definizione di un cluster di pattern. La scelta adottatapiù frequentemente a tal riguardo è quella di calcolarela similarità (o la difformità) fra una coppia di patternutilizzando una funzione di distanza definita sullo spaziodelle feature.

La misura di similarità più conosciuta per feature di tipocontinuo è la distanza euclidea,

d2(xi, xj

)=

(d∑k=1

(xi,k − xj,k

)2)12

= ‖xi − xj‖2,(1.1)

che è un caso speciale della metrica Minkowski:

dp(xi, xj

)=

(d∑k=1

| xi,k − xj,k |p

) 1p

= ‖xi − xj‖p.(1.2)

Page 25: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1.5 misure di similarità 9

Il motivo principale per cui la distanza calcolata tramitela formula 1.1 (distanza euclidea) è comunemente usatarisiede nel fatto che essa lavora bene su data set compat-ti oppure su data set le cui classi di dati sono isolate. Losvantaggio invece di usare la misura calcolata dalla formula1.2 (minkowski metric) risiede nella sua tendenza a lasciarprevalere le feature con la scala maggiore rispetto alle al-tre. Comunque, una soluzione a questo problema esisteed è relativamente semplice: è sufficiente normalizzare lefeature a valori continui affinchè divengano così composteda intervalli di valori. Un problema comune alle misuredi distanza 1.1 e 1.2 è la correlazione lineare fra le feature,tuttavia questa distorsione può essere limata applicandouna trasformazione chiamata “whitening” [Jain et al., 1999]o più semplicemente applicando la distanza di Malanobis.

Diversamente, quando si deve computare la distanza frapattern le cui feature sono di tipo non continuo, questoprocesso diventa molto più complesso per i due seguentimotivi:

1. la nozione di prossimità è binaria per valori nominalie scalari;

2. tipi differenti di feature non sono comparabili.

Al fine di risolvere questo problema, in ambito praticosono state sviluppate delle misure di prossimità per patterncomposti da feature non omogenee anche se non è compitodi questo lavoro di tesi analizzare queste particolarità.

Una classe di misure di distanze di notevole interesse èsicuramente quella costituita dalle misure dipendenti dacontesto; misure che tengono in considerazione gli effettidei punti circostanti. Una misura di questo tipo, definitausando il contesto, è, ad esempio, la mutual neighbor distan-ce (MND). Nonostante essa non sia realmente una metrica,poiché non soddisfa la diseguaglianza triangolare3, è stataampiamente utilizzata, con buoni risultati, in molte appli-cazioni. Ciò supporta l’idea che la difformità non debbanecessariamente essere una metrica. In generale, il teoremadel brutto anatroccolo di Watanabe enuncia:

nella misura in cui usiamo un insieme finito di pre-dicati che sono in grado di distinguere due oggetti

3 Proprietà che caratterizza una distanza in uno spazio metrico[Wikipedia]

Page 26: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

10 introduzione al clustering

qualsiasi presi in considerazione, il numero di predi-cati condivisi da essi è costante, indipendentementedalla scelta degli oggetti.

Questo teorema afferma quindi che è possibile rendere duepattern qualsiasi ugualmente simili, purchè essi venganocodificati con un numero sufficientemente alto di feature;di conseguenza, qualsiasi due pattern saranno altrettantosimili purché non venga usata informazione di dominioaddizionale nel calcolo della loro similarità.

In conclusione, la nozione appena data risulta utile emolto evidente nei clustering di tipo concettuale, tipologienelle quali vengono appunto utilizzate le misure di simila-rità concettuali che sono, indubbiamente, le più generali inassoluto.

1.6 tecniche di clustering

Il raggruppamento, passo focale dell’intero processo di clu-stering, può essere svolto in molti modi. È infatti possibileoptare per una tecnica di clustering di tipo hard (o crisp),che dà in output una partizione dei dati in gruppi, o perun clustering di tipo fuzzy, che invece dà in output delleindicazioni sul grado di appartenenza di ogni shape adogni gruppo. Inoltre è possibile distinguere fra cluster ge-rarchici, i quali producono una serie di partizioni annidatebasandosi su criteri di divisione e fusione guidati dalla no-zione di similarità scelta, e clustering partizionali, i qualiidentificano la partizione ottimale (solitamente non globale)dato un criterio di clustering.

Esistono ulteriori tecniche di raggruppamento di tipoprobabilistico e graph-theoretic.

1.6.1 Tassonomia

Al fine di descrivere i vari approcci di raggruppamento deidati la figura 3 illustra una loro organizzazione gerarchica.

Page 27: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1.6 tecniche di clustering 11

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

Il primo livello della tassonomia presentata distinguegli approcci gerarchici da quelli partizionali; la differenzaprincipale tra essi risiede nel numero di partizioni restituitecome risultato finale dall’algoritmo di clustering: mentre glialgoritmi con approccio partizionale producono una solapartizione, quelli con approccio gerarchico producono unaserie di partizioni annidate.

Un problema iniziale e trasversale a tutti gli approcci diclustering è il loro collocamento nella tassonomia. Vedia-mo di seguito una comparazione delle tecniche opposte intermini di approccio.

agglomerativi\divisivi – Questa definizione riguardadirettamente la struttura dell’algoritmo di clustering:mentre il processo di un clustering con approccio ag-glomerativo parte da una configurazione iniziale incui ogni pattern appartiene ad un cluster singoletto(contenente solo questo pattern) e procede per fusionisuccessive dei cluster finchè non converge ad uno spe-cifico criterio, un processo di clustering con approcciodivisivo inizia l’operazione di raggruppamento contutti i pattern afferenti ad un singolo cluster che vieneman mano diviso finché non è raggiunto il criterio distop.

monotetici\politetici – Questo aspetto è correlatoalla frequenza d’uso delle feature nel clustering; sesequenziale o simultanea al processo. La quasi tota-lità degli algoritmi sono politetici poiché, una volta

Page 28: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

12 introduzione al clustering

generate le feature, essi computano le distanze fra ipattern; tutte le decisioni seguenti inerenti il raggrup-pamento sono basaste su di esse non mettendo mai indiscussione il passo iniziale.

crisp\fuzzy – Gli algoritmi con approccio crisp (anchedetti hard) assegnano ogni pattern a un unico cluster,mentre, gli algoritmi con approccio fuzzy assegnanoad ogni pattern un grado di appartenenza realtivo adogni cluster.

deterministici\stocastici – La scelta di uno tra que-sti due approcci opposti assume rilevanza soprattuttoper tecniche di clustering partizionali poiché finaliz-zate ad ottimizzare una funzione di errore quadrati-co. Infatti, questa ottimizzazione può essere ottenutautilizzando tecniche tradizionali oppure attraversol’esecuzione di una ricerca random.

incrementali\non incrementali – Nel caso in cuiil pattern set su cui l’algoritmo di clustering deveoperare è di grandi dimensioni, così come nel caso incui si sia sottoposti a vincoli sul tempo d’esecuzioneo sullo spazio di memoria si pone automaticamentecome un problema rilevante la scelta di uno di questidue approcci.

1.6.2 Criteri per la scelta

Come appena visto nel dettaglio, esiste una collezione mol-to vasta di approcci di clustering che può quantomenoconfondere l’utente nella scelta dell’approccio di raggrup-pamento che più s’addice allo specifico contesto operativoin cui esso agisce. Purtroppo non esiste in letteratura unatrattazione delle questioni riguardanti tale scelta. Questionicritiche per il conseguimento di risultati significativi, quali:

• la normalizzazione dei dati da operare,

• la misura di similarità appropriata alla situazione,

• le modalità di utilizzo ed incorporamento nell’algo-ritmo di clustering della conoscenza posseduta suldominio dei dati,

• la scelta della tecnica più efficiente dato il contesto,

Page 29: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1.7 astrazione sui dati 13

rimangono spesso irrisolte o senza risposta oggettiva.Pur esistendo in letteratura dei criteri di ammissibilità

finalizzati alla comparazione degli algoritmi di clustering[Fisher and Van Ness, 1971], la natura soggettiva di questoproblema rende impensabile la messa a punto di un proces-so di clustering che funzioni universalmente, o anche solola stesura di linee guida teoriche che guidino la risposta aisuddetti quesiti e, quindi, le conseguenti scelte.

In tale contesto diventa perciò essenziale per l’utente diun processo di clustering non solo avere una conoscen-za approfondita della tecnica di clustering che si sceglied’utilizzare ma anche conoscere i dettagli del processo digenerazione dei dati così come possedere esperienza neldominio applicativo.

La correttezza della valutazione degli approcci più ef-ficaci da utilizzare per un dato problema di clustering èproporzionale alla quantità di informazione che si possiedesui dati. La conoscenza del dominio, infatti, può essere uti-lizzata per migliorare fasi cruciali del processo di clusteringscelto, quale, ad esempio, la computazione delle similaritàfra coppie di pattern e l’estrazione delle feature.

1.7 astrazione sui dati

Poiché lo scopo delle applicazioni di clustering è quellodi scoprire il numero ottimale di classi di pattern, il suoprodotto finale è una conseguente partizione del patternset.

Una partizione da idea della separabilità dei dati in clas-si: anche se sarebbe possibile operare, successivamente alraggruppamento, una classificazione supervisionata di ta-li cluster, spesso, in molte applicazioni risulta necessariorappresentare o descrivere i cluster risultati tramite unaqualche forma di astrazione. L’astrazione sui dati risultaessere un tipo di generalizzazione molto utile dato che:

• fornisce all’uomo una descrizione semplice intuitiva espesso anche visiva dei cluster (nel caso in cui si trattidi cluster concettuale non deve essere svolto alcunprocesso addizionale),

• aiuta a realizzare una compressione dei dati che possaessere esplosa quando necessario,

Page 30: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

14 introduzione al clustering

• incrementa l’efficienza di processi decisionali quali,per esempio, l’utilizzo del clustering per migliora-re i processi di indicizzazione e ritrovamento delleinformazioni in sistemi in information retrieval.

Sebbene la costruzione di una rappresentazione efficacedei 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 schematizzatenei seguenti punti cardine da Michalski et al.:

1. rappresentazione di un cluster tramite il suo centroi-de (o prototipo): è lo schema di rappresentazione dicluster più comunemente usato poiché lavora in mo-do ottimo con cluster compatti ed isotropici. Tuttavia,quando i cluster sono allungati e non isotropici que-sta forma d’astrazione dati non raggiunge lo scopoprefissatosi.

2. rappresentazione tramite i punti maggiormente di-stanti del cluster: sia che il cluster da rappresentaresia compatto o allungato, sia che esso sia isotropicoo meno, l’uso di un insieme composto dai suoi puntiestremi funziona comunque bene. Comunque biso-gna tenere in considerazione che il numero di puntida collezionare e memorizzare è proporzionale allacomplessità della forma del cluster.

3. rappresentazione di un cluster utilizzando i nodi diun albero di classificazione.

4. rappresentazione di un cluster tramite le espressionilogico-congiuntive (ad esempio: [x1 > 3] [x2 < 2]); pos-sono, nella loro forma semplice, descrivere solamentecluster dalla forma rettangolare o isotropica.

1.8 valutazione del clustering

È ormai chiaro che tutti gli algoritmi di clustering, indipen-dentemente dall’approccio che essi utilizzano, produconodei cluster. Va osservato che ciò accade aldilà del fatto chei dati realmente contengano o meno delle classi o dellesotto-strutture. È evidente come la presenza insita di classidi dati abbia come diretta conseguenza dei risultati miglioriper gli algoritmi di clustering.

Page 31: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

1.8 valutazione del clustering 15

L’ultimo (ma non per questo meno importante) passodi un processo di clustering consiste nella valutazione deirisultati che esso produce.

La valutazione che sorge spontanea relativamente a quan-to appena affermato discende dalla constatazione che deidati che non contengono classi e/o strutture non dovrebbe-ro essere processati per il raggruppamento. Per tale motivouno degli aspetti delle valutazione del clustering è propriola valutazione del dominio dei dati. Tuttavia questo set-tori di studi (detti clustering tendency) è un’area di ricercainattiva.

Diversamente invece, l’analisi di validità dei cluster, det-ta cluster validity analysis, è un campo di ricerca molto piùattivo riguardante la valutazione dell’output di un processodi clustering. L’analisi dei cluster è un processo oggetti-vo [Dubes, 1993] e ha lo scopo di determinare il gradodi significatività dell’output. Il concetto di significativitàdell’output è strettamente correlato alla misura della cer-tezza con cui si sono raggiunti i risultati: risultati raggiunticasualmente sono quindi considerati non significativi.

Esistono principalmente tre tipi di validazione:

esterna – Comparazione della partizione risultante otte-nuta con strutture prestabilite e/o possedute a priori.

interna – Esecuzione di test di validità volti a deter-minare se la partizione risultate è intrinsicamenteappropriata ai dati.

relativa – Comparazione dei testi di validità relativi adiversi output e misurazione tramite appositi indici divalidità dei rispettivi gradi di significatività e merito.

In questo lavoro di tesi, precisamente nel capitolo 4, vienesvolta una valutazione di tipo relativo sui risultati conse-guiti dall’algoritmo di shape clustering proposto. Si riman-da a tale sezione la trattazione degli indici utilizzati e leconseguenti conclusioni.

Page 32: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 33: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2A L G O R I T M I D I C L U S T E R I N G

Lo scopo di questo capitolo è affrontare dettagliatamentevari approcci di clustering ed offrire una panoramica sulleidee alla base degli algoritmi di clustering più conosciuti,sui loro pro e contro, nonché sulla loro applicabilità incontesti pratici.

2.1 approccio gerarchico

Un algoritmo gerarchico produce un dendrogramma rap-presentante i gruppi annidati di pattern e il livello di simila-rità al variare del quale essi mutano. La figura 4 rappresentaappunto un dendrogramma e aiuta a dedurre visivamente ilconcetto espresso. È facilmente intuibile che l’utilità di talestruttura gerarchica consiste nella facilità con cui è possibileottenere diversi raggruppamenti dei pattern semplicementeconsiderando livelli differenti del dendrogramma generatodall’algoritmo di clustering.

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

Generalmente, un algoritmo di clustering con approcciogerarchico è una variante di uno dei due algoritmi di que-

17

Page 34: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

18 algoritmi di clustering

sto tipo più popolari: l’algoritmo single-link e l’algoritmocomplete-link.

2.1.1 Algoritmi single-link e complete-link

Ciò che distingue questi due algoritmi è il modo in cui essicaratterizzano la misura di similarità fra coppie di pattern.Premesso che entrambi i metodi computano le distanze fratutte le possibili coppie di pattern appartenenti a due clusterdiversi; mentre gli algoritmi complete-link considerano ladistanza massima di tutte le misurazioni relative ai patterndi due cluster come la distanza fra questi, gli algoritmisingle-link considerano la distanza minima a tal proposito.

Invece, ciò che accomuna entrambi gli algoritmi è il passosuccessivo del processo di clustering. I due cluster sottoesame vengono fusi al fine di formare un cluster di dimen-sioni maggiori basato su un criterio di distanza minima.A tal riguardo, per una maggior comprensione del passoappena spiegato, è utile riflettere riguardo la natura ag-glomerativa di entrambi gli algoritmi citati; essi, infatti,considerano inizialmente ogni pattern come un cluster evanno via via adoperando fusioni fra cluster seguendo uncriterio di distanza minima.

Questi due metodi presentano, inoltre, ulteriori e signifi-cative differenze relativamente ai risultati ottenuti. Gli algo-ritmi complete-link producono dei cluster molto più com-patti [Baeza-Yates, 1992]; contrariamente, i single-link, sof-frendo del cosiddetto “chaining effect”, cioè della particolaresensibilità a pattern concatenati [Nagy, 1968], produconodei cluster allungati.

Concludendo si può affermare che da un punto di vi-sta pratico gli algoritmi complete-link producono gerarchiedi cluster più utili rispetto a quelle prodotte dagli algorit-mi single-link, che tuttavia hanno il pregio di essere piùversatili.

2.2 approccio partizionale

Diversamente dagli algoritmi di clustering con approcciogerarchico, gli algoritmi di clustering partizionali ottengonocome output una sola partizione del pattern set. Di conse-guenza, quando si opera su data set di grandi dimensioni,questa caratteristica rende i metodi di clustering che utiliz-

Page 35: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2.2 approccio partizionale 19

zano tale approccio molto più vantaggiosi rispetto a quelliche utilizzano un approccio gerarchico. Questi ultimi, intale caso, pagano un costo computazionale proibitivo.

Uno svantaggio comune a tutti gli algoritmi partizionaliconsiste nella necessità di scegliere a priori il numero dicluster che si ritiene più opportuno. A tal riguardo vengonospesso effettuati studi di validità dei cluster1 con l’inten-to di effettuare in modo scientifico questa scelta chiavee, opzionalmente, migliorare i risultati ottenuti rieseguen-do il clustering per il numero di cluster ritenuto miglioredall’analisi svolta.

2.2.1 Algoritmi di clustering basati su errore quadratico

La funzione discriminante maggiormente utilizzata neglialgoritmi di clustering partizionali è l’errore quadratico,funzione ottimizzata per lavorare bene con cluster isolati ecompatti.

Ecco la formula generale dell’errore quadratico per unclustering L relativo ad un pattern set X contenente Kcluster:

e2 (X, L) =

K∑j=1

nj∑i=1

‖x(j)i − cj‖2, (2.1)

dovex(j)i è l’i-esimo pattern appartenente al j-esimo cluster,cj è il centroide del j-esimo cluster.

Gli algoritmi di clustering basati su questo criterio so-no chiamati in letteratura “squared error clustering algori-thms” e seguono tutti, per grandi linee, il seguente schemaoperazionale:

1. selezione di una partizione iniziale del pattern set conun numero fisso di cluster e centroidi.

2. assegnazione di ogni pattern al cluster rappresenta-to dal centroide ad esso più vicino; ricomputazionedi tutti i centroidi; ripetizione del corrente passo fin-chè non è incontrato un criterio di convergenza (adesempio finchè il cluster d’appartenenza è stabile).

1 Argomento trattato nella sezione 1.8

Page 36: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

20 algoritmi di clustering

3. fusione e divisione dei cluster ottenuti in base adeuristiche e, qualora necessario, ripetizione del passo2.

L’algoritmo k-mean

Il k-mean è l’algoritmo basato su errore quadratico più sem-plice e più comunemente usato [McQueen, 1967]. Esso iniziada una partizione del pattern set scelta in modo casuale eprocede riassegnando i pattern ai cluster in base alla simila-rità fra essi e i centrodi; ciò finchè non viene incontrato uncriterio di convergenza .tipici criteri di

convergenza:nessunariassegnazione deipattern a nuovicluster, errorequadratico inferioread una certa soglia.

La popolarità di questo algoritmo è dovuta alla sua facili-tà di implementazione e alla sua complessità lineare O(n),dove n è il numero di pattern.

Tuttavia esso presenta uno svantaggio notevole: è sensibi-le alla selezione iniziale della partizione e può convergeread un minimo locale della funzione criterio se questa nonè scelta in modo appropriato. Se si è in grado di ottenereuna configurazione iniziale buona con un qualsiasi altroapproccio in un tempo ragionevole, questo algoritmo lavo-rerà molto bene anche con data set di grandi dimensioni.Per tale motivo, in letteratura [vedi Anderberg], sono sta-te proposte sue varianti con l’intento di eliminare questalimitazione.

Alcune delle varianti proposte cercano di selezionareuna buona partizione iniziale affinché la probabilità chel’algoritmo converga a un minimo globale aumenti; altriinvece, operano fusioni e divisioni dei cluster ottenuti inbase alla varianza di una soglia specificata a priori. È questoil caso dell’algoritmo ISODATA, proposto da Ball and Hall[1965].

Un’ulteriore variazione dell’algoritmo k-mean, propostada Diday [1973] e Symon [1977] e implementata nell’algo-ritmo di “dynamic clustering”, riguarda la selezione di uncriterio del tutto diverso da quello dell’errore quadratico:la stima di massima verosimiglianza.

2.2.2 Algoritmi di clustering basati sulla teoria dei grafi

Questa tecnica di clustering si presta sia ad approcci di tipopartizionale, sia ad approcci gerarchici.

Il più conosciuto algoritmo di clustering di tipo divisivoe graph-theoretic è basato su una prima fase incentrata sulla

Page 37: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2.3 approccio fuzzy 21

costruzione del Minimum Spanning Tree (MST) del pattern Il minimumspanning tree èl’albero ricoprenteminimo di un grafo.In tale contesto ilgrafo è composto daipattern, intesi comepunti dello spaziodelle feature.

set e su una fase finale che, tramite l’eliminazione dei bordidel MST, genera i cluster.

Come anticipato anche gli algoritmi con approccio ge-rarchico sono correlati a questa metodologia di clustering;infatti, i cluster generati da algoritmi single-link sono consi-derabili come sotto-grafi del minimum spanning tree, cosìcome i cluster ottenuti da algoritmi complete-link sonoconsiderabili come sotto-grafi completi e massimali.

2.2.3 Algoritmi di clustering mixture-resolving

L’approccio di clustering di tipo mixture-resolving è statotrattato in molti modi ma l’idea sottostante e comune a tuttigli algoritmi di questa classe è l’assunzione iniziale che ipattern da raggruppare siano in qualche modo governati dauna distribuzione statistica. L’obiettivo di questi algoritmidi clustering è, perciò, identificare i parametri statistici diogni cluster, nonché il numero stesso ottimale di cluster.

2.3 approccio fuzzy

Gli approcci tradizionali di clustering, come visto fin’ora, ge-nerano partizioni e si basano, inoltre, su una corrispondenzaN→ 1 fra pattern e partizioni.

L’approccio fuzzy [Bezdek, 1981] estende questa nozione:esso ha lo scopo di creare una corrispondenza N→ N asso-ciando ogni pattern ad ogni cluster tramite l’utilizzo di unafunzione d’appartenenza [Zadeh, 1965]. Perciò, il risultatodi un algoritmo di clustering fuzzy non sarà una partizionecrisp dei pattern bensì una partizione soft (fuzzy).

Di seguito si descrivono sommariamente i passi di unalgoritmo di clustering fuzzy:

1. creare una matrice d’appartenenza U di dimensioneN × K , doveN è il numero di pattern e K il numero dicluster. L’elemento uij di questa matrice rappresentail grado d’appartenenza dell’oggetto xi al cluster cjed è, tipicamente, un valore compreso in [0, 1];

2. utilizzare la matrice U al fine di calcolare il valoredella funzione costo associata alla corrispondente par-

Page 38: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

22 algoritmi di clustering

tizione. Una possibile funzione costo di tipo fuzzyè:

E2 (X, U) =

N∑i=1

K∑k=1

uij ‖xi − ck‖2, (2.2)

dove

ck =∑Ni=1 uij xi è il centroide del k-esimo cluster fuzzy;

3. riassegnare i pattern ai cluster al fine di ridurre ilvalore della funzione 2.2 e ricalcolare la matrice U;

4. ripetere il passo 2 finchè i cambiamenti nella matriceU sono significativi.

Nella fuzzy clustering ogni cluster è un insieme fuzzy. Ètale in quanto ciascun pattern appartiene all’insieme conun certo grado di appartenenza.

La figura 5 mostra tale idea.

Figura 5: Confronto tra cluster fuzzy (vedasi F1 e F2) e clusterhard (H1e H2).

Una descrizione compatta ma altrettanto chiara dei fuzzycluster F1 e F2 mostrati dalla figura 5 è la seguente:

F1= {(1, 0.9) , (2, 0.8) , . . . , (9, 0.0)} ,

F2= {(1, 0.0) , . . . , (8 , 1.0) , (9, 0.9)} ,

Page 39: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2.4 approccio basato sulle reti neurali artificiali 23

dove le coppie ordinate (i, µi) indicano l’i-esimo patterne il suo grado d’appartenenza al cluster.

Chiaramente valori maggiori del grado di appartenenzaindicano una maggiore possibilità che un pattern apparten-ga al cluster in questione.

Un aspetto molto interessante degli algoritmi di fuzzyclustering risiede nella possibilità di tramutare facilmentei risultati in cluster di tipo crisp semplicemente filtran-do i pattern il cui grado d’appartenenza al cluster risultiinferiore ad una specifica e prestabilita soglia.

La definizione della funzione costo è il problema prin-cipale e di maggior rilevanza negli algoritmi clusteringdi questo tipo: essa può essere basata sui centroidi o, inalternativa, sull’errore quadratico.

L’algoritmo basato su approccio fuzzy più popolare è ilFuzzy C-Mean (FCM). Sebbene sia esso in grado di evitare laconvergenza ad un minimo locale molto meglio rispetto alk-mean, tale pericolo non è del tutto scongiurato durante ilsuo utilizzo.

2.4 approccio basato sulle reti neurali artifi-ciali

Le reti neurali artificiali, chiamate in letteratura ArtificialNeural Network (ANN), sono uno strumento sviluppato ini-zialmente per le reti neurali biologiche [Hertz et al., 1991].Negli anni esse sono state usate con successo sia per laclassificazione che per il clustering grazie ad alcune lo-ro caratteristiche rilevanti nel campo del raggruppamentoautomatico dei pattern:

1. processando vettori numerici esse necessitano di unarappresentazione dei pattern composta esclusivamen-te da feature di tipo quantitativo;

2. sono processabili parallelamente e in modo distribuito,caratteristica che impatta positivamente sulla quantitàdi tempo d’esecuzione richiesto;

3. possiedono la capacità di apprendere in modo adatti-vo l’interconnessione fra le feature dei pattern su cuiagiscono; ciò rende possibile utilizzarle come norma-lizzatori di pattern e selettori di feature.

Le ANN sono basate sul concetto di learning competitivo:pattern simili vengono rappruppati insieme dalla rete e

Page 40: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

24 algoritmi di clustering

rappresentati tramite un’unica entità. L’elemento chiave diquesta operazione risiede nel fatto che esse sono in gradodi svolgerla automaticamente deducendo le correlazioniintrinseche dei dati.

La loro architettura e il loro schema operazionale è sem-plice: i pattern che costituiscono l’input vengono associatiai nodi di output tramite dei pesi calcolati iterativamente eaggiornati se necessario finchè un criterio di terminazioneQuesto è il ciò che

viene chiamatolearning competitivo

non è soddisfatto.Le similitudini con gli algoritmi classici di clustering sono

evidenti: è quindi naturale conseguenza ritenere le ANN unapproccio valido per il clustering di cluster ipersferici [Her-tz et al., 1991], sia per cluster iperellipsoidali. In letteratura,d’altronde, sono presenti vari esempi di algoritmi ANNutilizzati con successo per il clustering: le Self-OrganizingMap (SOM), anche dette reti di Kohonen, tendono a crearemappe semantiche dove pattern simili sono mappati vicinimentre pattern diversi sono lasciati distanti [Kohonen andHonkela, 2007].

2.5 approccio evolutivo

Questo approccio nasce da studi nel settore dell’evoluzionenaturale. Un algoritmo con tale approccio fa uso di ope-ratori evolutivi e di una popolazione di soluzioni utile adGli operatori

evolutivi piùcomunemente usatisono la selezione,ricombinazione emutazione.

ottenere la partizione ottimale dei dati: le soluzioni candida-te per un dato problema di clustering vengono condificatecome cromosomi.

Un algoritmo di clustering evolutivo, ad alto livello svolgei seguenti passi:

1. sceglie una popolazione casuale di soluzioni, ognunadelle quale corrisponde ad una partizione valida didati;

2. associa un valore detto di “fitness”2 ad ognuna dellepossibili soluzioni;

3. usa gli operativi evolutivi per generare una popola-zione di soluzioni successiva;

4. ripete il passo 2 finché alcune condizioni di termina-zioni non vengono soddisfatte.

2 Tipicamente un valore di “fitness” è inversamente proporzionale alvalore dell’errore quadratico.

Page 41: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2.5 approccio evolutivo 25

Le migliori tre tecniche evolutive conosciute sono:

• gli algoritmi genetici (GA) [vedi Holland, 1975, Gold-berg, 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 pro-blema del clustering, considerato come una minimizzazionedel criterio di errore quadratico.

Mentre la maggior parte degli algoritmi di clusteringesistenti operano una ricerca locale poiché la soluzioneottenuta dal passo di iterazione successivo al corrente èsempre vicina alla soluzione corrente, gli algoritmi genetici,invece, grazie agli operatori evolutivi, producono soluzionicompletamente nuove e differenti dalle precedenti: è perquesto motivo che riescono ad effettuare una ricerca dellasoluzione ottima globale.

Nonostante si intuisca che gli algoritmi genetici possanoessere molti utili nella risoluzione di problemi di cluste-ring, è stato dimostrato che approcci ibridi3 hanno delleprestazioni e una efficacia migliore delle situazioni in cuiviene utilizzato il solo GA. Ciò è dovuto al fatto che glialgoritmi genetici presentano alcuni problemi. Ad esempoessi risentono della selezione accurata di vari parametricome la dimensione della popolazione e la probabilità deglioperatori evolutivi.

Se si considera il problema del clustering come un pro-blema di ottimizzazione il cui scopo è quello di trovaredirettamente i centrodi dei cluster invece che cercare unapartizione ottimale da cui dedurli, allora diventa possibileutilizzare gli approcci propri degli algoritmi di strategieevolutive e di programmazione evolutiva: tali algoritmi per-mettono infatti di codificare facilmente i centroidi poichésupportano la rappresentazione diretta di una soluzionecome vettore.

È stato osservato che sia gli algoritmi afferenti a questiultimi due approcci, sia gli algoritmi genetici si comportano

3 Un algoritmo ibrido è, ad esempio, costituito da una prima fase diricerca della configurazione ottimale iniziale tramite algoritmo geneticoe da una seconda fase nella quale, un altro algoritmo, per esempio ilk-mean, utilizza questa configurazione per giungere alla soluzione delproblema [Babu and Murty, 1993].

Page 42: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

26 algoritmi di clustering

in modo migliore rispetto alle loro controparti fuzzy c-meane k-mean. Tuttavia, questi algoritmi necessitano la ricerca diparametri ottimali diversi per ogni problema di clusteringpoiché soffrono particolarmente la selezione dei parametri.

2.6 approccio basato su ricerca

Le tecniche algoritmiche di ricerca del valore ottimo di unafunzione criterio sono divisibili in due tipologie:

deterministiche – Tipico approccio goloso (greedy) chegarantisce il raggruppamento in una partizione otti-male tramite l’enumerazione esaustiva. Gli algoritmidi questo tipo hanno sempre un costo computazionalealto e spesso eccessivo.

stocastiche – Gli algoritmi che implementano tale meto-dologia possono essere sia sequenziali che paralleli; es-si permettono l’esplorazione del campo delle possibilisoluzioni in direzioni non localmente ottimali.

Una differenza principale tra tecniche algoritmiche diricerca e gli algoritmi evolutivi risiende nel fatto che, men-tre questi ultimi devono necessariamente essere imple-mentati parallelamente, gli algoritmi basati su tecnichedi ricerca possono essere sia tali ma anche implementatisequenzialmente.

Il Simulated Annealing (SA) è un algoritmo di ricerca sta-tistica e sequenziale progettato per evitare soluzioni checorrispondano ad un valore ottimo ma locale. Tale obiet-tivo viene raggiunto accettando (o meno) in base ad unaprobabilità la soluzione ottenuta dal passo successivo. Laprobabilità d’accettazione è goveranata, in termini di valoreiniziale e finale, da un parametro chiamato temperatura chedeve necessariamente diminuire molto lentamente al pro-gredire del processo di clustering. In letteratura [Aarts andKorst, 1989] è stato dimostrato come l’algoritmo SA garan-tisca il raggiungimento della soluzione ottimale a un costotemporalmente e computazionalmente elevato. Di seguitosono riportati i passi generali degli algoritmi di clusteringbasati su ricerca tramite simulated annealing:

1. selezione casuale di una partizione iniziale P0 , calcolodell’errore quadratico E0 e selezione dei valori per iparametri di controllo, cioè temperatura iniziale T0 etemperatura finale Tf ;

Page 43: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2.7 approccio incrementale 27

2. selezione di una partizione P1 vicina a P0 e calcolo delsuo errore quadratico E1 : se tale valore risulta mag-giore di E0 allora l’assegnazione della partizione P1 aP0 dipende dalla probabilità calcolata in base alla tem-peratura, altrimenti P1 viene assegnato direttamente aP0 . Questo passo viene ripetuto un numero fisso diiterazioni;

3. calcolare il valore di c · T0 , dove c è una costante pre-stabilita: se tale valore è maggiore della temparaturafinale Tf tornare al passo 2, altrimenti il processo diclustering viene considerato concluso.

2.7 approccio incrementale

Gli algoritmi di clustering incrementale sono basati sul-l’assunzione che è possibile considerare i pattern uno pervolta assegnandoli ai cluster già esistenti. Una descrizionegenerale di questi algoritmi è data di seguito:

1. assegnazione del primo pattern a un cluster;

2. considerato il pattern successivo esso può essere asse-gnato a uno dei cluster esistenti o a un cluster nuovo.Questa decisione è guidata da un criterio specifico,quale, ad esempio, la distanza del pattern dai centroididei cluster esistenti;

3. ripetizione del passo 2 fino alla conclusione del clu-stering.

Gli algoritmi di clustering che adoperano una metodolo-gia incrementale presentano il notevole vantaggio di nondover memorizzare l’intera matrice dei patter in memoria,risultando così ottimizzati in termini di spazio di memoria.Essi, di solito, non sono iterativi e di conseguenza, anchein termini di tempo d’esecuzione, hanno dei requisiti dibasso livello. Questi due aspetti rendono gli algoritmi diclustering con tale approccio ideali per il raggruppamentodi data set di grandi dimensioni.

Di seguito ne vengono presentati alcuni:

leader algorithm – È l’algoritmo di clustering più sem-plice in termini di complessità, cioèO(n). Ha acquisito

Page 44: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

28 algoritmi di clustering

molta popolarità conseguentemente alla sua imple-mentazione tramite reti neurali [Carpenter and Gros-sberg, 1990] e alla facilità di implementazione che locaratterizza.

shortest spanning path – È un algoritmo di cluste-ring pensato originariamente per la riorganizzazionedei dati ma usato successivamente con ottimi risulatiper la revisione automatica di essi [Slagle et al., 1975].

cobweb – Ideato da Fisher [1987], è un algoritmo di cluste-ring concettuale con approccio incrementale utilizzatocon successo in molte applicazioni di ingegneria.

Uno svantaggio comune a tutti gli algoritmi di cluste-ring incrementale presentati è dato dalla loro dipendenzadall’ordine: i risultati sono influenzati e variano al variaredell’ordine in cui i dati di input vengono loro sottoposti.

2.8 comparazione degli approcci

In questa sezione si riportano considerazioni e conclusioniriguardanti gli approcci di clustering esaminati durante ilcapitolo corrente.

Gli algoritmi basati sulla ricerca, che siano essi deter-ministici o stocastici, si basano su un criterio che è fun-zione dell’errore quadratico. Per tale motivo le partizioniche essi generano sono tipicamente di forma ipersferica enon posseggono la versatilità posseduta dagli algoritmi diclustering gerarchici.

Gli algoritmi evolutivi sono l’unico approccio che permet-te di effettuare una ricerca globale della soluzione migliore;inoltre, molti di essi (ad esempio GA), così come anche glialgoritmi di clustering basati su reti neurali artificiali, sonoimplementati parallelamente, ottenendo così prestazioninotevoli in termini di ottimizzazione di tempo. Tuttaviaquesti algoritmi sono accomunati dalla sensibilità ai vari pa-rametri di controllo e di learning e non incorporano alcunaconoscenza del dominio, motivo per cui teoricamente sonoconsiderati degli approcci deboli. Questo è anche il casodegli algoritmi di clustering basati su ricerca, in particolaredel simulated annealing, il quale, inoltre, offre prestazionimolto scarse essendo davvero molto lento.

Page 45: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

2.8 comparazione degli approcci 29

Studi empirici [Al-Sultan and Khan, 1996] hanno dimo-strato come nessuno dei metodi di clustering sia significati-vamente superiore agli altri: gli algoritmi genetici e quellidi simultaed annealing sono considerati comparabili perquanto riguarda la qualità delle soluzione e sicuramentemigliori del k-mean che, tuttavia, è l’algoritmo più efficientein termini di tempo d’esecuzione.

Va considerato inoltre che, a causa della natura soggetti-va del clustering, ogni classe di algoritmi ha un insieme dicaratteristiche per cui eccelle ed altre per cui possiede delleprestazioni e dei risultati non ottimi a causa di limiti divario tipo. Ad esempio, gli algoritmi evolutivi funzionanoa dovere esclusivamente su data set di dimensioni medio-piccole composti da pattern contenenti poche feature; ciò ècausata dal fatto che ottenere paramentri adatti per essi ri-chiede un’operazione di testing e tempi d’esecuzione moltoalti. Anche algoritmi di clustering concettuale sono limitatiad un utilizzo su data set ragionevolmente piccoli.

Per questo stesso motivo, gli unici algoritmi ad essere statiapplicati su data set di grandi dimensioni sono il k-meaned il suo corrispettivo ANN. Uno dei motivi basilari delsuccesso del k-mean e del suo equivalente ANN, le reti diKohonen, risiede proprio nelle loro seguenti caratteristiche:

1. la complessità è lineare, O(nkl), funzione del numeron di pattern, del numero k di cluster e del numero ldi iterazioni che impiega a convergere; permette diutilizzarli su data seti di grandi dimensioni,

2. la complessita in termini di spazio è solamente O(k+n),

3. sono indipendenti dall’ordine con cui gli vengonoforniti i pattern da raggruppare.

Comunque, un limite che esso evidenza è, oltre alla suagià discussa sensibilità alla composizione della partizioneiniziale, l’incapacità di rilevare cluster con una forma nonipersferica. A tal riguardo gli algoritmi con approccio gerar-chico sono molto più versatili ma pagano, purtroppo, unacomplessità temporale di O(n2 logn) [Kurita, 1991] e uncosto in termini di spazio di ordine quadratico O(n2).

Per una visione d’insieme degli algoritmi si rimanda allatabella seguente (1):

Page 46: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

30 algoritmi di clustering

algoritmi di clustering com-plessità

temporale

com-plessità

spaziale

leader O(kn) O(k)

k-mean O(nkl) O(k)

ISODATA O(nkl) O(k)

Shortest Spanning Tree O(n2) O(n)

Single-link O(n2 logn) O(n2)

Complete-link O(n2 logn) O(n2)

Tabella 1: Complessità degli algoritmi di clustering.

Infine va considerato che recenti studi sperimentali sisono concentrati sulla valutazione dei vari approcci di clu-stering combinandoli con la conoscenza del dominio diinteresse ed è emerso che ognuno dei rispettivi algoritmi ot-tiene risulati migliori. Perciò, in generale, può essere moltoutile sfruttare la conoscenza di dominio. Essa permette, adesempio, di sapere a priori che per sistemi di ritrovamentodei documenti basati su clustering, i migliori risultati sonoottenuti con algoritmi gerarchici.

Page 47: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Parte II

A L G O R I T M O D I C L U S T E R I N GP R O P O S T O

Page 48: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 49: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3C R A D L E

Questo capitolo ha l’obiettivo finale di presentare e de-scrivere l’algoritmo Clustering by RAndom minimimumDispersion based LEarning (CRADLE), elemento focale diquesto lavoro di tesi.

Esso è stato utilizzato per effettuare il clustering di shape.Al fine di raggiungere tale obiettivo vengono affrontate letematiche ad esso inerenti e il processo che ha portato allasua ideazione.

3.1 shape clustering: stato dell’arte

Il concetto di forma è un aspetto chiave per le applicazioniafferenti il campo della computer vision poiché esso, comemolti studi di psicologia cognitiva [Bierdman and Ju, 1988]hanno mostrato, è una caratteristica basilare dei processi diriconoscimento delle immagini. La motivazione alla basedella rilevanza di tale concetto risiede nel fatto che le shape(d’ora in poi utilizzato per intendere “contorni di forme”)sono invarianti e, per alcune categorie di oggetti, risultanoessere più generiche dell’apparenza stessa degli oggetti chedescrivono.

Per tale motivo la comparazione automatica ed il rag-gruppamento delle forme (clustering) sono diventati deiprocessi fondamentali per molti campi di ricerca, quali, adesempio, l’action recognition e la human detection.

Il grado di somiglianza fra shape è un concetto centrale diprocessi ritenuti spesso molto complicati, come per esempioil ritrovamento delle forme simili, l’identificazione di classidi forme o la rappresentazione di esse. Il motivo per cuiquesti processi sono ritenuti complicati è che, allo stato del-l’arte, 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 ge-nere devono disporre di un metodo di comparazione delleforme che sia robusto ed efficiente. La maggior parte deiproblemi in sistemi di questo tipo deriva dal fatto che imetodi di calcolo della similarità fra forme che essi utiliz-zano non adoperano una qualche analisi contestuale dello

33

Page 50: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

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 di-versi strumenti matematici: descrittori di Fourier, utilizzatiin CRADLE, descrittori Wavelets, approssimazioni poligo-nali ed i chain codes. Tutti i metodi di rappresentazionedelle forme appena citati falliscono nel caso in cui l’algorit-mo che li utilizza voglia costruire un modello di probabilitàrelativo ad esso (tale intento potrebbe essere motivato daldesiderio di utilizzare il modello di probabilità per la costru-zione di un classificatore bayesiano, ad esempio). Al fine digovernare questa difficoltà vengono, a volte, utilizzate dellerappresentaziioni di pattern di tipo geometrico, come adesempio le geodetiche delle shape, o altre rappresentazionibasate 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 diun algoritmo di shape clustering, chiamato CRADLE, chelavora esclusivamente su uno spazio euclideo.

CRADLE si configura come una diversificazione di unalgoritmo già esistente in letteratura [Srivastava et al., 2005]che viene discusso di seguito.

3.2 minimum-variance clustering

Come detto, l’algoritmo CRADLE, è una variazione di unalgoritmo di clustering presente in letteratura: esso è chia-mato 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 dicosto la nozione di dispersione interna cercando iterativa-mente di minimizzarla. Il concetto di dispersione in questoalgoritmo è una funzione di media relativa alle distanze frale shape. Essa viene denotata con Q(C) dove C indica unaconfigurazione di clustering generica.

Lo scopo di questo algoritmo è quindi quello di cercare laconfigurazione C del pattern set dove la dispersione Q(C)

sia minimizzata. Tale configurazione ottimale di outputviene denotata con:

C∗ = argminQ(C),

Page 51: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3.2 minimum-variance clustering 35

ed è raggiunta utilizzando come processo di ricerca nel-lo spazio delle configurazioni l’algoritmo Markov ChainMonte Carlo (MCMC).

Le idee alla base dell’algoritmo di Minimu-Variance Clu-stering sono le seguenti:

• rappresentare le shape con un approccio geometricodiverso dai comuni descrittori di Fourier, che per-metta di tener conto della loro curvatura e del loroallungamento: le geodetiche [Srivastava et al., 2005];

• utilizzare un processo di comparazione delle shapeadeguato: le distanze geodetiche

• partire da una configurazione random procedendopoi nello spostare (move) e scambiare (swap) le formetra i vari cluster. Questa operazione viene eseguita inmodo stocastico: scelta una shape in modo casualevengono calcolati i valori della dispersione in basealla sua possibile assegnazione a tutti i cluster; infinela shape viene assegnata al cluster che evidenzia unaprobabilità proporzionale al valore esponenziale nega-tivo della dispersione di tale configurazione (oppureviene scambiata con una shape appartenente ad unaltro cluster in base ad una probabilità Ps calcolata inmodo leggermente differrente da quello discusso diseguito). La definizione matematica di tale probabilitàè presentata nella formula 3.1.

PM(j, i) =exp(−

Q(i)j

T)∑k

i=1 exp(−Q

(i)j

T)

, (3.1)

dove

k è il numero di cluster,

Q(i)j è la funzione di costo quando la shape con indice

j viene assegnata al cluster Ci tenuti fissi tutti gli altricluster,

T è un valore che ha il compito di comportarsi comefa la temperatura nel SA.

Page 52: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

36 cradle

3.2.2 Descrizione dell’algoritmo

Ora che è stato descritto l’approccio dell’algoritmo a cuici si è ispirati in questo lavoro di tesi viene delineato diseguito il suo algoritmo.

algoritmo Date n shape e k cluster creare la configura-zione di partenza distribuendole in modo casuale trai cluster. Impostare una temperatura iniziale T alta.

1. Calcolare le distanze geodetiche fra le coppie di shapememorizzandole in una matrice delle distanze. Questaoperazione richiede n(n−1)

2 computazioni.

2. Con egual probabilità selezionare una delle due tipo-logie di mosse previste:

a) Move

i. selezionare in modo casuale una shape sj, se il cluster a cui è stata assegnata non èsingoletto calcolare Q

(i)j per i = 1, 2, . . . ,k

ii. calcolare la probabilità PM(j, i) per i = 1, 2, . . . ,k,assegnando la shape sj in base al valorerisultante.

b) Swap

i. selezionare in modo casuale sia due clustersia due shape ad essi appartenenti

ii. calcolare la probabilità Ps(j, i) e scambiare leshape in base ad essa.

3. Aggiornare la temperatura usando T = (TB ) con B =

1, 0001 (o comunque molto prossimo all’1) e tornareal passo 2.

3.2.3 Considerazioni

Al fine di provare a raggiungere un valore di dispersioneche sia minimo e globale questo algoritmo adotta la metodo-logia propria dell’algoritmo di Simulated Annealing: iniziacon un valore di T alto riducendolo molto lentamente.

Considerando che l’insieme delle possibili partizioni din forme in k cluster è finito e che la natura dell’algoritmo

Page 53: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3.3 presentazione dell’algoritmo cradle 37

è statistica è garantita la sua convergenza ad una solu-zione (minima locale) sempre più prossima a quella otti-male in modo inversamente proporzionale alla velocità didiminuizione della temperatura T.

La configurazione di output che presenta il valore mini-mo di dispersione è perciò ritenuta essere la partizione daadottare come soluzione.

3.3 presentazione dell’algoritmo cradle

L’algoritmo Minimum-Variance Clustering (visto in detta-glio nella sezione 3.2) appartiene alla categoria degli algo-ritmi classici di clustering di punti operanti su uno spazioeuclideo. Tali algoritmi usano come criterio di clustering laminimizzazione della varianza totale dei cluster.

Più precisamente, ipotizzando di possedere un datasetcon n punti (pattern) {x1,x2, . . . , xn} con xi ∈ <d, se una col-lezione C = {Ci, 1 6 i 6 k} di sottoinsiemi di <d partizionai dati in k cluster, la varianza totale di C è definita dallaseguente funzioni di costo

Q(C) =∑ki=1

∑y∈Ci

‖x− µi‖2,

dove µi è la media dei punti in Ci.Il termine

∑y∈Ci

‖x−µi‖2 può essere approssimato comela varianza totale e viene spesso usato in sostituzione dellavarianza media al fine di evitare la parzialità nei clusterdi grandi dimensioni. Tuttavia, se i punti (pattern) sonodispersi in modo uniforme, la differenza non è significativaed entrambi i termini possono essere usati.

Il passo che porta ad estendere il criterio di clusteringappena descritto allo shape clustering è breve e richiedeche 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 varia-zione dell’algoritmo Minum-Variance Clustering.

Page 54: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

38 cradle

3.3.1 Differenze di impostazione rispetto al Minimum-VarianceClustering

In questa sezione si presentano le differenze di base emersedurante il processo di ideazione e implementazione dell’al-goritmo CRADLE rispetto all’algoritmo Minimum-VarianceClustering.

La scelta della rappresentazione delle shape è ricadutasui comunemente usati descrittori di Fourier, invece chesulle geodetiche usate da MVC, a causa della loro ricono-sciuta abilità nell’offrire una buona descrizione delle shape,descrizione che è per altro invariante alla rotazione e allatraslazione.

Inoltre, tale scelta è stata influenzata dalla possibilità dinormalizzare lo spazio vettoriale dei descrittori (evitandocosì la dominazione delle feature con valori alti) e dallapossibilità di applicare ad essi molte funzioni per il calcolodella similarità, tra cui quella scelta: la distanza euclidea.

La scelta di approssimare la varianza totale calcolandodirettamente la distanza fra i vari pattern (descrittori diFourier) piuttosto che fra essi e la loro media è dipesada motivazioni inerenti l’efficienza dell’algoritmo: volendoprogettare un algoritmo semplice ed efficiente in terminidi prestazioni si è scartata la possibilità di approssimare lavariazione totale tramite la distanza fra punti e rispettivamedia poiché questa è un’operazione computazionalmentecostosa (nonché potenzialmente bloccante nel caso in cuinon si utilizzino veri e propri spazi metrici).

Fatte queste premesse si rimanda l’analisi delle similitu-dini e delle ulteriori differenze con MVC alla trattazionedell’approccio di clustering e alla descrizione dell’algoritmoCRADLE.

3.3.2 Approccio e descrizione dell’algoritmo

L’algoritmo proposto è di tipo crisp e partizionale. In quantotale, come tutti gli altri algoritmi della medesima tipologia,intende minimizzare una funzione di costo: la dispersionetotale Q(C) dove C è una configurazione di clustering. Laseguente formula 3.2 esprime matematicamente la funzionedi costo scelta.

Q(C) =

k∑i=1

2

ni

∑va∈Ci

∑vb∈Ci,b<c

d (va, vb)2

, (3.2)

Page 55: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3.3 presentazione dell’algoritmo cradle 39

doved(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 6 i 6 k.

Tale algoritmo, così come MVC, segue un approccio ba-sato sulla ricerca. Esso intende iniziare ad operare unaricerca nello spazio delle possibili configurazioni di clusterpartendo da una configurazione iniziale di k cluster.

Fase I - configurazione

Nella sua prima fase, chiamata di configurazione, l’algorit-mo proposto inserisce le n shape nei k cluster utilizzandouna distribuzione discreta uniforme che genera numericasuali nell’intervallo [ 0, k [. Questa scelta permette di mi-nimizzare il rischio che la configurazione iniziale di clustersia sbilanciata su uno dei k possibili cluster: essa tenderàinfatti a essere composta da cluster di dimensioni simili.

L’algoritmo prosegue adottando una strategia divisiva eiterativa. Prendendo spunto dal MVC, che utilizza il MCMCper ricercare una configurazione ottimale, ma volendo man-tenere l’implementazione semplice senza che l’efficacia su-bisca pesanti contraccolpi, l’algoritmo proposto, dato unnumero l di iterazioni (si rimanda al capitolo 4 per una trat-tazione a riguardo) genera in modo casuale una secondadistribuzione uniforme di l interi nell’intervallo [ 0, n [ .

Lo scopo di questa tecnica è quella di ottenere una listacomposta da l interi compresi tra 0 e n− 1 da associarealla n shape. Tale lista è quindi un elenco di shape scelte apriori ed in modo casuale: costituisce perciò un metodo diricerca random simile (ma semplificato) rispetto al concettodel MCMC. Lo scopo di questa tecnica è duplice:

1. generare una lista di shape casuali scelte in base a unadistribuzione uniforme;

2. cercare di fare in modo che ogni shape venga scelta unnumero di volte quanto più simile a quello delle altree che ogni selezione casuale subita sia mediamentedistante dalle altre nel processo di iterazione.

A questo punto l’algoritmo inizia il processo di ricerca.

Page 56: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

40 cradle

Fase II - raggruppamento

Per questa fase si è pensato di utilizzare un approccio moltosimile a quello del MVC diversificando l’algoritmo riguardoi due punti seguenti:

1. si è scelto di tralasciare il ruolo svolto dalla tempera-tura nell’algoritmo di Simulated Annealing tenendofisso il numero di iterazioni a priori, che è stato scel-to in base a linee guida euristiche dedotte in modoempirico (vedi capitolo 4),

2. si è deciso di adoperare solo un tipo di movimentoper le shape: lo spostamento.

Perciò il processo di ricerca dell’algoritmo CRADLE è ite-rativo. Ogni passo dell’iterazione ha il compito di rilevareil cluster a cui la shape selezionata è stata casualmenteassegnata e, se questo non è un insieme singoletto (cioècontente solo questa shape), spostarla negli altri clustercomputando le dispersioni totali nelle diverse configura-zioni generate. Infine viene scelto il cluster a cui assegnarela shape in base al valore minimo delle dispersioni calco-late. Qualora durante il passo di iterazione non sia statatrovata una configurazione con dispersione totale minore aquella precedente la shape viene reinserita nel cluster a cuiapparteneva all’inizio del passo di iterazione.

La scelta di non implementare un meccanismo simile (ouguale) a quello svolto dalla temperatura nel SimulatedAnnealing può essere ritenuta sconsiderata nell’ottica delraggiungimento di una configurazione minima globale. Tut-tavia poiché lo stesso MVC, così come la quasi totalità deglialgoritmi di clustering presenti in letteratura, non riesce aconvergere a un minimo globale limitandosi a risultati incerti casi ottimi ma pur sempre locali, si è optato per questadecisione nella convinzione di poter comunque ottenererisultati comparabili che minimizzino la funzione di costoa un valore minimo locale.

È con tale intento che si è predisposta una fase finale,detta fase di selezione, per l’algoritmo CRADLE.

Fase III - selezione

Questa fase sviluppa una tecnica algoritmica con approccioadattivo. Il suo scopo è quello di generare una nuova listadi shape scelte non più casualmente ma in modo mirato e

Page 57: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3.3 presentazione dell’algoritmo cradle 41

sottoporle nuovamente alla fase II. A tal fine l’algoritmo ese-gue una valutazione statistica della distribuzione uniformecon cui sono state scelte casualmente le shape.

Tale valutazione ha l’obiettivo di calcolare il valore attesodella distribuzione suddetta, selezionare le shape sottopostealla fase II un numero di volte inferiore a tale valore atteso(o ad un parametro di thresholding) e crearne una listache tenga conto anche dell’ordine con cui esse sono stateprecedentemente raggruppate.

Partendo dalle informazioni ricavate da questa analisi,l’algoritmo sottopone la lista delle shape selezionate allafase di raggruppamento al fine di ottimizzare in modo mi-rato il processo di minimizzazione della dispersione. Taleottimizzazione della fase di raggruppamento è ragionevo-lemente possibile se si osserva che le shape sottoposte allafase di raggruppamento nei suoi primi passi iterativi sonostate presumibilmente assegnate in maniera errata a uncluster poiché, in tale fase iniziale, i valori della dispersionesono sempre ancora piuttosto alti (e corrispondono perciò auna configurazione di cluster con alta percentuale d’errore).

Algoritmo

Sono date n shape, k cluster, un numero prefissato l diiterazioni e C =

{Cj, 0 6 j 6 k

}insieme dei cluster.

configurazione:

1. calcolare la matrice delle distanze euclidee

2. generare una distribuzione discreta uniforme DC din interi casuali nell’intervallo [ 0, k [ e creare una con-figurazione iniziale dei cluster distribuendo le shapesin base a DC , iterando la seguente operazione coni = 0, . . . ,n− 1:

a) vi ∈ Cj, j = DC [ i ] (assegnazione della shapei-esima al cluster indicato dalla i-esimo interocasuale della distribuzione DC)

dove vi è la la shape, Cj il cluster e DC [ i ] l’indicerandom del cluster in posizione i-esima in DC

3. generare una distribuzione discreta uniforme DS di linteri casuali nell’intervallo[ 0, n [

Page 58: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

42 cradle

4. calcolare la dispersione totale Qj (in base alla configu-razione di clustering iniziale appena creata)

raggruppamento: iterare con i = 0, . . . , l− 1:

1. dato DS [ i ], i-esimo intero random generato dal-la distribuzione DS, selezionare la shape va cona = DS [ i ]

2. rilevare j, indice del cluster a cui è stata assegnatala shape va in fase di configurazione

3. se |Cj| > 1 (cioè se il cluster j-esimo non è singo-letto), allora:

a) finché c’è un cluster in cui la shape non èstata spostata:

i. aggiornare l’indice del cluster successivos = j+ 1

ii. effettuare lo spostamento nel cluster suc-cessivo Cs:

A. calcolare la dispersione totale attualeQs

B. se Qs > Qj spostare la shape nel clu-ster precedente Cj

C. altrimenti ricalcolare la dispersione to-tale attuale Qj (osservare che la sha-pe rimane nel cluster in cui è stataspostata)

selezione:

1. se è stato specificato il parametro di minima ammissi-bilità E allora:

a) t = E

2. altrimenti:

a) t = fS, dove fS è il valore atteso della distribuzio-ne DS

3. calcolare la lista delle frequenze di selezione casualedelle shape F (osservare che tale lista ha cardinalitàn, cioè pari al numero delle shape)

Page 59: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3.3 presentazione dell’algoritmo cradle 43

4. creare la lista delle shape selezionate in modo mi-rato MS eliminando dalla lista F gli elementi fi >t, con0 6 i 6 n

5. ordinare la lista MS in base all’ordine con cui le shapeselezionate sono state precedentemente sottoposte allafase di raggruppamento

6. eseguire nuovamente la fase II (raggruppamento) dan-do in input la lista MS e iterando con i = 0, . . . , |MS|−

1

Accorgimenti

Al fine di rispettare l’obiettivo iniziale di ideare un algo-ritmo semplice ma con prestazioni e risultati paragonabilia quelli del Minimum-Variance Clustering si è pensato dicostruire e memorizzare una sola volta, inizialmente, lamatrice delle distanze euclidee tra tutte le coppie di shape.Tale operazione infatti impatta positivamente sulle presta-zioni poiché evita di dover ricalcolare le distanze ad ognicambiamento di configurazione di clustering e richiede solon(n−1)2 computazioni.

3.3.3 Astrazione dati

Concluso il processo di clustering è spesso utile per variemotivazioni (vedi capitolo 1.7) prevedere una qualche formadi astrazione sui dati.

In questo caso, per l’algoritmo CRADLE si è optato peril calcolo dei centroidi come elementi rappresentativi deicluster ottenuti. Nel dettaglio si è scelto di considerare comecentroide di un cluster la shape con la distanza media mini-ma presente. Tale operazione porta quindi a rappresentareogni cluster con una shape che esso realmente contiene.

Questo processo decisionale è stato svolto computandoper ogni shape va appartenente al cluster Cj ∈ C la mediadelle distanze che intercorrono tra essa e le altre shapeassegnate al cluster in questione; infine etichettando comecentroide P(Ci) la shape che risulti possedere il valoreminimo calcolato. Per una descrizione in termini matematicisi veda la formula 3.3.

P(Ci) = min16a6nj∧ j 6=i

{1

nj

nj∑i=1

d (va,vi)2

}, (3.3)

Page 60: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

44 cradle

con 1 6 j 6 k ∧ nj > 1,dove ni è la cardinalità del i-esimo cluster Ci, con 1 6

i 6 k.

Si osservi che la condizione nj > 1 indica che qualora ilcluster sia un inseme singoletto la sua unica shape vieneconseguentemente scelta come suo centroide.

3.3.4 Considerazioni finali

L’algoritmo proposto, così come molti degli algoritmi esi-stenti in letteratura, non dà la certezza di convergere adun minimo globale, tuttavia da la ragionevole sicurezzadi raggiungere, nella maggior parte dei casi, un minimolocale.

È inoltre intuitivo, data la sua natura, dedurre che il valo-re della dispersione totale Q(C) diminuisce all’aumentaredel numero di cluster k: è palese, infatti, che più sono icluster più diminuisce la loro variabilità per uno stessonumero di shape n.

L’immagine 6, contenente vari grafici riferiti a test diversia riguardo lo dimostrano.

Page 61: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

3.3 presentazione dell’algoritmo cradle 45

Figure 6: Relazione di inversa proporzionalità tra la dispersionefinale e il numero di cluster.

In tutti i casi i dati verificano ciò che si può intuire. Tut-tavia non è altrettanto facilmente intuibile che la diminui-zione della dispersione sia, nel nostro algoritmo, indicecerto di migliori risultati: ci si potrebbe lasciar facilmenteconfondere da questa idea dimenticando che la dispersionetotole è una funzione di costo relativa esclusivamente allacompattezza dei cluster e non alla loro separazione.

Come vedremo, infatti, nel capitolo successivo un valoredi dispersione troppo piccolo può causare overlapping, cioèil presentarsi di una situazione in cui i cluster sono moltocompatti ma in parte sovrapposti fra di essi e non benseparati.

Un’ultima considerazione va invece fatta riguardo le pre-stazioni di CRADLE: esso ha una complessità temporalelineare che è funzione del numero di shape, nel numero dicluster e del numero di iterazioni.

Page 62: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 63: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4VA L U TA Z I O N E D E L L’ A L G O R I T M OC R A D L E

La dispersione, così come osservato in precedenza, dà unainformazione parziale sui risultati del clustering. Ciò impli-ca una necessaria riflessione riguardo la valutazione delleconfigurazioni di output ottenute. Poiché il clustering è unmetodo non supervisionato che deve operare in un conste-sto del quale non si possiede mai (o quasi) conoscenza apriori è indispensabile operare in qualche modo una valida-zione dei risultati al fine di individuare la configurazioneche meglio sposa i dati raggruppati e la loro strutturazionein classi.

Domande relative al numero ottimale di classi in cuipartizionare un generico data set, o dubbi inerenti il realeadattamento della configurazione di clustering alla strutturaimplicitamente posseduta dal data set, così come domandecausate dalla necessità di verificare l’esistenza o meno diconfigurazioni finali migliori di quella ottenuta, puntanotutte a una valutazione quantitativa dei risultati degli algo-ritmi di clustering e sono conosciute, in letteratura [Halkidiet al., 2002], come metodi di validazione dei cluster.

Come già detto nella sezione 1.8 esistono varie tipologiedi approcci per la validazione dei risulati degli algoritmidi clustering. In questo capitolo viene prevalentemente af-frontato l’approccio di analisi di validità dei cluster di tiporelativo e le specifiche metriche di validità utilizzate perla sperimentazione e valutazione dei risultati di outputdell’algoritmo CRADLE.

4.1 analisi di validità relativa dei cluster

L’analisi di validità dei cluster basata su criteri relativiha l’obiettivo di individuare sotto certe assunzioni e certiparametri la migliore configurazione di clustering possibileche un algoritmo di clustering possa definire.

Tale approccio non richiede l’utilizzo di test di tipo stati-stico: l’idea fondamentale è quella di scegliere la miglioreconfigurazione di clustering risultante in base a dei criteriprestabiliti. Più specificatamente, nel lavoro di sperimenta-

47

Page 64: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

48 valutazione dell’algoritmo cradle

zione relativa all’algoritmo CRADLE si è optato per i criteridi seguito trattati, tutti parametrizzati in base al numero dicluster rilevato k.

4.1.1 Dunn’s Index

Il Dunn’s Index [Dunn, 1974] è un indice di validità peralgoritmi di clustering di tipo crisp (hard) che ha lo scopodi individuare un insieme di partizioni che siano compattema ben separate fra di loro. Valori alti di questo indiceindicano la presenza di cluster compatti e ben separati.Esso è calcolato tramite la seguente formula:

DI = mini 6=j, i,j⊂{1,...,k}

{min

16j6k∧ i 6=j

{inter(Ci,Cj)

max16z6k {intra(Cz)}

}},(4.1)

doveinter(Ci,Cj) è la distanza intercluster tra l’i-esimo ed il

j-esimo clustermax16z6k {intra(Cz)} è il valore della distanza intraclu-

ster massima posseduta dai clusterk è il numero di cluster.

I problemi dell’indice DI sono la sua considerevole com-plessità temporale e la sua sensibilità alla presenza di ru-mori nel data set, poiché essi aumentano il valore assuntoda intra(Ci,Cj).

4.1.2 Davies-Bouldin Index

Questo indice è simile all’indice DI. Affinché un insieme dipartizioni di un data set sia considerato un buon risultatodi clustering è desiderabile che i cluster siano differenti tradi loro, cioè che possegano un basso grado di similarità (ilché si traduce in un alto valore di S(Ci,Cj)).

DB =1

n

n∑i=1

max{Sn(Ci) + Sn(Cj)

S(Ci,Cj)

}i 6=j

, (4.2)

doveSn(Cx) è la distanza media di tutte le shape dal centroide

del cluster Cx,1 6 x 6 k cui appartengono,S(Ci,Cj) è la distanza fra i centrodi di 2 cluster,Ca e Cb e k è il numero di cluster.

Page 65: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.1 analisi di validità relativa dei cluster 49

Analizzando la funzione 4.2 si capisce come il rapportoS(Ci,Cj) è piccolo se i cluster sono compatti e distanti l’u-no dall’altro e come, di conseguenza, un valore piccolo diindica un buon clustering. Conseguentemente una confi-gurazione 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 vieneutilizzato per identificare il numero ottimale k di clusterquando si possiede un data set di grandi dimensioni. Tutta-via tale indice misura anche la compattezza media internaai cluster e la separazione fra essi, può perciò essere usatocome indice per la misura del clustering a posteriori.

L’indice Xie-Beni è calcolato semplicemente ponendo arapporto la compactness con la separation, concetti chevengono introdotti e presentati di seguito:

XB =compactness

separation(4.3)

Compattezza

La compattezza (o compactness) è una funzione che ha loscopo di misurare la vicinanza e la similitudine dei patternappartenenti ad uno stesso cluster, può per tale motivoessere considerata una misura intra-cluster. A tale scopoessa somma, per ogni cluster, la media delle distanze deipattern dal centroide del cluster cui appartengono.

Ecco descritta di seguito tale funzione:

Compactness =1

n

k∑i=1

n∑j=1

d(vj, P(Cj)

)2 , (4.4)

doved(vj, P(Cj)

)2 è la distanza del pattern j-esimo apparte-nente al cluster i-esimo dal prototipo di tale cluster,k è il numero di cluster.

Separazione

La separazione (o separation) è una funzione che ha lo scopodi dare un’idea della lontananza fra i k cluster ottenuti dal

Page 66: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

50 valutazione dell’algoritmo cradle

processo di clustering; può, per tale motivo, essere consi-derata una misura inter-cluster. A tale scopo essa calcolale distanze fra i centroidi dei cluster a coppie di due e sce-glie come indicatore della separazione la distanza minimatrovata.

Ecco descritta di seguito tale funzione:

Separation = mini 6=j, i,j⊂{1,...,k}

(d(P(Ci), P(Cj)

)2) , (4.5)

doved(P(Ci), P(Cj)

)2 è la distanza euclidea fra i centroidi delcluster 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 in-tracluster utilizzate per la fase di sperimentazione, fermorestando che l’algoritmo CRADLE è stato dotato della capa-cità di combinare ben 12 diverse misure intra cluster con 3misure inter cluster.

Come misura intra cluster si è elaborata una funzione che,al fine di indicare la distanza media fra i pattern (nel nostrocaso le shape) di un dato cluster, somma la distanza di tuttipattern dagli altri evitando le ripetizioni e normalizzandoil totale ottenuto.

Ecco la formula matematica che si è utilizzata per ilcalcolo di tale misura:

intra(Ci) =1

Cn1,2

∑va∈Ci

∑vb∈Ci,b>a

d (va,vb)2 , (4.6)

doveCni,2 è il numero di combinazioni semplici (senza ripeti-

zioni) di pattern a gruppi di 2 (poiché le distanze vengonocalcolate tra due pattern per volta), cioè il rapporto fra nu-mero di disposizioni semplici di pattern a gruppi di 2 e lepermutazioni senza ripetizioni di elementi,d (va,vb)

2 è la distanza euclidea fra il pattern va e ilpattern vb.

Chiaramente, un valore basso di intra(Ci) indica uncluster i cui pattern sono molto vicini in termini di distanza,perciò molto simili tra loro.

Page 67: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.2 sperimentazione su cradle 51

Come misura inter cluster si è elaborata una funzioneche, al fine di indicare la distanza fra due cluster, per ognipattern assegnato al primo cluster calcola la somma dellesue distanze dai pattern assegnati al secondo cluster, som-mando infine tale aggregato di distanze per tutti i patternpresenti nel primo cluster e normalizzando tale valore peril numero di somme effettuate.

Ecco la formula sulla quale ci si è basati per il calcolo ditale misura:

inter(Ci,Cj) =1

ninj

ni∑i=1

nj∑j=1

d(vi, vj

)2 , (4.7)

doveni e nj sono le cardinalità del cluster i-esimo e del cluster

j-esimo,d(vi, vj

)2è la distanza euclidea fra il pattern i-esimo e ilpattern j-esimo.

Chiaramente, un valore alto di inter(Ci,Cj) indica unamaggiore distanza fra i cluster Ci e Cj.

4.2 sperimentazione su cradle

Come già ampiamente discusso il clustering è un processoche richiede, nella maggior parte dei casi, una fase finaledi valutazione dei risultati. La motivazione per cui si neces-sita di tale fase e quindi di una sperimentazione è dovutaprincipalmente al problema del numero ottimale di clusterk. Come già abbondantemente discusso, stabilire a prioriil numero di cluster k basandosi sulla soggettività umanadiventa difficile e soprattutto non realistico.

Inoltre, nel caso specifico di CRADLE, si pone un’altrascelta: quella del numero appropriato di iterazioni l in fun-zione del numero k di cluster in cui l’algoritmo partizionail pattern set.

Consideriamo dapprima quest’ultimo problema: al finedi 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 questafase di pre-sperimentazione, tralasciando i risultati ottenutici si è concentrati semplicemente sulla relazione tra il nume-ro di cluster k fissato a priori e il numero preimpostato diiterazioni l analizzando l’andamento della dispersione tota-le finale Q∗. Ciò è stato fatto partendo dalla considerazione

Page 68: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

52 valutazione dell’algoritmo cradle

intuitiva che, fissando il numero di cluster k e aumentandoil numero di iterazioni l fosse possibile stressare l’algoritmoal fine di verificare quando la configurazione minima delladispersione sarebbe stata raggiunta. Si è cercato così di de-durre in modo empirico una correlazione tra la dispersioneed i suddetti parametri k e l osservando che:

1. per una dato pattern set ed un dato k fissato a priori,l’algoritmo giunge solitamente dopo un numero diiterazioni prossimo a nk alla configurazione minimadella dispersione totale Q∗

2. tale valore di Q∗ è sempre molto simile agli altri valorida esso raggiunti con tali parametri durante l’esecuzo-ne di altri test, pur cambiando per sua natura la con-figurazione random iniziale delle shape nei cluster eanche qualora se ne effettui un numero considerevole

3. anche ripetendo molte volte tali test, variando il pat-tern set ed il k prefissato, il numero di iterazioni dopoil quale il processo di ricerca non ottiene più risultatiè sempre prossimo a nk

Di conseguenza per la fase di sperimentazione è stato sceltoun numero di iterazioni l ∼ nk.

4.2.1 Composizione dei pattern set

La sperimentazione è stata effettuata utilizzando un dataset di immagini di forme di specie marine dell’università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 setsono state escluse 25 shape ritenute molto significative. Taleoperazione è stata effettuata allo scopo di sperimentarel’algoritmo su dei pattern set che contenessero un numeroinferiore di shape rappresentative affinchè fosse possibileverificare la capacità dell’algoritmo CRADLE di scegliernedi nuove.

Infine si è proceduto alla sperimentazione così comedescritto nella sezione successiva.

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

Page 69: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.2 sperimentazione su cradle 53

4.2.2 Composizione dell’analisi di validità

In questa sezione si riporta il processo di identificazionedella migliore configurazione di clustering per ognuno dei10 pattern set utilizzati. Tale operazione è stata effettuatascegliendo degli indici di validità con approccio d’analisirelativo (DI, DB, XB), scegliendo una delle 12 possibilimisure intra cluster possibili, ed una delle 3 possibili misureinter cluster previste da CRADLE per la sua valutazione.

La sperimentazione si è svolta come descritto nei seguentipassi:

1. esecuzione dell’algoritmo CRADLE xk volte con 4 6xk 6 14 , impostando nel seguente modo il numero dicluster k = xk

2. per ogni xk l’algoritmo CRADLE è stato eseguito 5volte variando la configurazione iniziale di clustering(operazione automatica nell’algoritmo proposto, es-sendo la configurazione iniziale casuale) ed il numerodi iterazioni l.

3. dato un xk per cui è stato eseguito 5 volte l’algorit-mo, viene calcolata la media dei valori calcolati diDI e DB. Tali valori vengono inserti sull’ordinata diun grafico la cui ascissa è composta dall’intervallodei valori assunti da xk durante l’intero processo disperimentazione.

In base al grafico creato è possibile identificare la miglioreconfigurazione di clustering ed il relativo numero ottimaledi cluster k (prelevando il valore di xk. . . ) per un genericopattern set. Quest’indicazione è data, solitamente, da uncambiamento positivo e significativo di un indice di validità.Ciò si traduce dal punto di vista grafico con la presenzadi una curva “knee” [Halkidi et al., 2002] (a ginocchio). Lamancanza di una curva di questo tipo nel grafico può indi-care, invece, che il pattern set non possieda alcuna strutturaintrinseca per cui avrebbe senso sottoporlo a clustering.

4.2.3 Presentazione dei risultati

Si riporta di seguito la sperimentazione effettuata sul pat-tern set VI.

La tabella 2 mostra i valori degli indici DI, DB, e XB cal-colati al variare di k, nonché il valori della dispersione finale

Page 70: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

54 valutazione dell’algoritmo cradle

Q∗, mentre, il grafico in figura 7 conferisce una approcciovisivo ed intuitivo alla valutazione della sperimentazione.

Al fine di individuare visivamente il numero ottimaledi k per tale pattern set è utile individuare i punti in cuila curva relativa all’indice Davies-Bouldin è convessa e ipunti in cui la curva relativa al Dunn’s Index è concava: sedue di questi punti hanno l’ascissa in comune essi indicanochiaramente il k ottimale, che è appunto il valore dellaloro ascissa. L’indicazione data dallo XB, invece, vienetenuta in considerazione per avere un’idea del rapporto tracompattezza e separazione afferente la soluzione in esame.

k Q∗ DI DB XB

3 12,68092 0,98489 1,27067 1,97118

4 11,70474 0,73464 1,35839 3,34728

5 10,89352 0,78357 1,51188 4,81390

6 10,05695 0,67396 1,43763 5,24630

7 9,395300 0,83652 1,28128 6,14891

8 8,947352 0,72732 1,33441 7,61413

9 8,678890 0,71353 1,35426 8,97951

10 8,31907 0,68354 1,42367 10,54536

11 8,06161 0,70465 1,38358 10,80908

12 7,84741 0,65011 1,40633 13,22616

13 7,64881 0,62513 1,38188 14,48407

14 7,44814 0,57803 1,38473 15,57586

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

Come visibile anche nella figura 7 la valutazione tramiteindici con approccio relativo ha espletato il suo compito,cioè indicare il numero ottimale di cluster k, pari, in questocaso, a 7.

Page 71: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.2 sperimentazione su cradle 55

Figura 7: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set VI.

Per quanto riguarda invece la singola esecuzione di CRAD-LE, la figura 8 mostra l’effetto del processo di ricerca casualenello spazio delle possibili configurazioni del pattern setVI.

Figura 8: Grafico che mostra il processo di minimizzazione del-la dispersione durante una esecuzione dell’algoritmoCRADLE (k = 7).

Page 72: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

56 valutazione dell’algoritmo cradle

Si è appena fatto un esempio del processo di sperimenta-zione effettuato su tutti i 10 pattern set.

Di seguito viene riportata la tabella 3 che mostra i risultati(cioè l’individuazione del k ottimale) della valutazione dellasperimentazione su tutti essi.

pattern set k ottimale

I 7

II 7

III 9

IV 5

V 8

VI 7

VII 9

VIII 7

IX 6

X 6

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

Per la verifica di tali risultati è possibile consultare tutte letabelle ed i grafici relativi alla sperimentazione in appendice(vedi appendice A).

Infine viene riportato un estratto (vengono riportate 7shape per ogni cluster) del clustering del pattern set VI in7 cluster . A riguardo si consulti la figura 9 in cui le shapedella prima colonna rappresentano i centroide.

Page 73: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.2 sperimentazione su cradle 57

Figura 9: Estratto dei risultati del clustering effettuato dall’algo-ritmo CRADLE sul pattern set VI.

Page 74: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

58 valutazione dell’algoritmo cradle

4.3 valutazione della fase iii in cradle

Nella sezione 3.3.2 è stato descritto l’algoritmo CRADLEcome composto da tre fasi principali. Tra queste, la faseIII, chiamata anche fase di selezione, è stata introdotta alfine di migliorare il risultato del clustering partendo dauna configurazione di cluster che sia più vicina alla solu-zione ottimale di quanto possa esserlo una configurazionecasuale. Il processo di ricerca casuale, infatti, seppur gui-dato da una distribuzione normale, risulta sempre menoefficace con l’aumentare delle iterazioni. Ciò è dovuto alfatto che, con l’avanzare del processo iterativo di ricerca,il numero di configurazioni di cluster che portano ad unvalore minore di dispersione diminuisce notevolmente, edi conseguenza diminuisce anche la probabilità che vengatrovata in modo casuale una di queste configurazioni. Talefenomeno si manifesta in modo ancor più evidente manmano che aumenta il numero di iterazioni (come osservatonella fase di pre-sperimentazione).

L’introduzione della fase di selezione consente di supera-re tale limitazione, grazie ad una scelta dei pattern mirata,ovvero guidata da informazioni di tipo statistico ricavatedalla fase di raggruppamento. Infatti nel caso in cui durantela fase iniziale di raggruppamento un pattern sia seleziona-to poche volte, la probabilità che esso venga assegnato adun cluster errato aumenta considerevolmente, inficiando irisultati finali.

Per valutare il miglioramento introdotto dalla fase diselezione sulle prestazioni dell’algoritmo di clustering, èstata condotta una sperimentazione mirata a confrontarele prestazioni di CRADLE con e senza la fase di selezione.A tal fine, fissato un pattern set (è stato scelto il IV) ela relativa miglior configurazione di cluster (ottenuta conk = 5), abbiamo eseguito con gli stessi parametri l’algoritmoCRADLE con e senza la fase di selezione2.

Nella figura 10a (risp. 10b) si riporta i grafico relativo al-l’andamento del valore di dispersione ottenuto da CRADLEsenza (risp. con) la fase di selezione.

2 La fase di selezione è una fase parametrica. Infatti è possibile specificare(a priori) un parametro in base al quale selezionare i pattern; tale para-metro viene inteso come un criterio di minima ammissibilità per la fasedi selezione. Nella sperimentazione è stato utilizzato come parametrodi minima ammissibilità la varianza media della distribuzione discretauniforme dei pattern.

Page 75: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

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

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

Figura 10: Comparazione dell’andamento della dispersione nelclustering del pattern set IV eseguito con e senza fasedi selezione.

59

Page 76: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

60 valutazione dell’algoritmo cradle

Si osserva che i valori finali della dispersione totale neidue casi sono molto distanti. Il clustering senza fase diselezione raggiunge in 967 iterazioni un valore valore finaledella dispersione totale pari a 10.91 (figura 10a), mentre conla fase di selezione si raggiunge un valore finale pari a 11.45

in 1084 iterazioni (figura 10b). Questo vuol dire che la fasedi selezione impiega solo 117 iterazioni per ridurre ulterior-mente il valore di dispersione di circa 0.5 punti (esattamentedi 0.46), per altro in una fase finale di clustering, durante laquale è più difficile trovare una configurazione di clusteringmigliore (man mano che avanza la ricerca nello spazio dellesoluzioni diminuisce la probabilità di trovare una soluzionemigliore). Si osserva invece che la fase di raggruppamento,giunta a circa 775 iterazioni (3100 spostamenti) impiega ben180 iterazioni (720 spostamenti) per ridurre la dispersionedi 0.5 punti.

Dalla tabella 4, che mette a confronto i valori della di-spersione e degli indici di validità ottenuti con e senza fasedi selezione, si può osservare il miglioramento introdottodalla fase di selezione.

algoritmo Q∗ DI DB XB

CRADLE sen-za selezione

10.91614 0.64906 1.08217 3.82624

CRADLE 10.45677 0.88952 1.05301 3.47996

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

Page 77: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.4 analisi di validità esterna dei risultati di cradle 61

Il miglioramento introdotto dalla fase di selezione è statoverificato anche per tutti i valori di k < 12, seppur in certicasi sia meno evidente.

In conclusione, si può affermare che l’algoritmo CRAD-LE con fase di selezione risulta sicuramente più efficace,consentendo di diminuire il numero di iterazioni necessariea raggiungere un valore minimo di dispersione: la fase diraggruppamento risulta più veloce in quanto la fase di sele-zione consente di raggiungere la dispersione totale minimain un numero minore di spostamenti. L’algoritmo CRADLEsenza fase di selezione si assesta su valori di dispersionefinale sempre maggiori rispetto a quelli raggiunti dall’al-goritmo con fase di selezione. L’introduzione della fase IIIconsente, in un numero di iterazioni trascurabile rispettoal numero totale di iterazioni, di ridurre, spesso in mododrastico, 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

L’analisi di validità dei cluster basata su criteri esterni èun approccio basato su test di tipo statistico caratterizzatida un alto costo computazionale. Lo scopo principale diun’analisi di questo tipo consiste nel misurare se i datiottenuti dal clustering confermano degli schemi specificatia priori sui dati. In questo lavoro di tesi, a riguardo, siè voluto comparare una classificazione supervisionata CUesistente sul pattern set I con i risultati ottenuti sullo stessodall’algoritmo CRADLE con e senza selezione.

Di seguito si riporta la valutazione della classificazioneoperata da un umano sul pattern set I e, nelle figure 11 e12, alcune shape di ogni classe creata.

Il valore di dispersione totale Q(CU) calcolato tramitel’apposito tool è: 10,42251 mentre il k scelto è pari10.

La configurazione CU presenta i seguenti valori degliindici:

dunn’s index : 0,53723028286.

davies-bouldin: 1,58167939436.

xie-beni : 17,0578082215.

Page 78: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

62 valutazione dell’algoritmo cradle

Essi evidenziano chiaramente che la classificazione delleshape fatta dall’umano, è, dal punto di vista metrico, pessi-ma poiché unisce, ad un medio grado di compattezza delleclassi di shape, un basso grado di separazione dei cluster.La tabella 5 giustifica tale affermazione comparando questirisultati con quelli ottenuti dall’algoritmo CRADLE sia consia senza fase di selezione per k = 10.

algoritmo Q∗ DI DB XB

umano 10,42251 0,53723 1,58168 17,05781

CRADLE sen-za selezione

8,30453 0,58584 1,27932 10,80143

CRADLE 8,28233 0,62903 1,353909 10,52145

Tabella 5: Comparazione delle metriche della classificazione ese-guita da un umano sul pattern set I con le metricherelative al clustering eseguito dall’algoritmo CRADLEcon e senza fase di selezione per lo stesso k.

Come evidenziato dalla tabella i risultati conseguenti dal-l’algoritmo proposto sul pattern set I appaiono addiritturamigliori di quelli calcolati relativamente alla classificazioneeseguito da un umano, che in base a quanto espresso dall’in-dice XB, posseggono una compattezza molto più grandedella loro separazione (cioè potrebbe indicare il pericolo del-la sovrapposizione, overlapping, dei cluster). Tuttavia, conuno sguardo d’insieme è più veritiero affermare che la clas-sificazione supervisionata risulta essere apparentemente(almeno all’umano) meglio eseguita poiché l’utente valutal’aspetto e la forma di un immagine prevalentemente inmodo concettuale (ed usando della conoscenza pregressa)astraendo su dettagli della shape che invece l’algoritmoCRADLE rileva. Le immagini 11 e 12 riportano il raggrup-pamento del pattern set I eseguito dall’uomo, mentre leimmagini 13 e 14 riportano quello, leggermente differente,meno concettuale ma con cluster nella maggior parte deicasi compatti e separati eseguito dall’algoritmo CRADLE.Le seguenti immagini renderanno palese come l’algoritmoCRADLE sia in grado di rilevare la struttura implicita diun pattern set di immagini approssimandola in modo con-siderevole con una bassissima percentuale d’errore. Si fanotare inoltre, che in base alla sperimentazione, l’algoritmoin questione rileva un k ottimale pari a 7 e non a 10: ciò

Page 79: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

4.4 analisi di validità esterna dei risultati di cradle 63

non significa che esso non operi adeguatamente ma sot-tolinea ancora una volta che la classificazione eseguita daun utente, come detto, crea una struttura del pattern setsecondo principi di tipo concettuale e sfruttando conoscen-za pregressa sul dominio; infatti dal punto di vista dellasimilitudine delle immagini esso lascia a desiderare. Questospiega perchè gli indici riportati in tabella 5 indichino scarsirisultati di clustering per CU .

Figure 11: Parte di una classificazione eseguita da un utente sulpattern set I (fino al 5° cluster).

Page 80: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figure 12: Parte di una classificazione eseguita da un utente sulpattern set I (dal 5° cluster al 10°).

64

Page 81: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figure 13: Estratto dei risultati di clustering effettuatodall’algoritmo CRADLE sul pattern set I (finoal 5° cluster).

65

Page 82: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figure 14: Estratto dei risultati di clustering effettuatodall’algoritmo CRADLE sul pattern set I (dal 5°cluster al 10°).

66

Page 83: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

5C O N C L U S I O N I E S V I L U P P I F U T U R I

In questo lavoro di tesi si è discusso di tutto ciò che riguardail clustering: dalle motivazioni per cui nasce, ai passi fonda-mentali di cui è composto fino agli approcci e gli algoritmipiù comunemente usati, facendo anche dei cenni alle le ap-plicazioni che, grazie alla sua capacità di fare astrazione deidati, lo utilizzano. Si è sottolineato nella maggior parte deicasi come il clustering sia un problema soggettivo e come,perciò, non esista un algoritmo risolutivo universale. Si èscesi anche maggiormente nel dettaglio affrontanto i variapprocci risolutivi intrapresi negli anni in questo campo diricerca mostrandone le rispettive idee di base e modalitàoperazionali, nonché i rispettivi pregi e difetti.

In conclusione si può osservare che, allo stato dell’arte,esistono molti algoritmi di clustering, che, a seconda deldominio e della natura del data set, raggiungono una so-luzione ottimale di raggruppamento. Tuttavia si è ancheosservato che i problemi principali alla base degli algorit-mi ritenuti più convenienti, come ad esempio il k-mean,soffrono spesso del problema della sensibilità alla configu-razione iniziale, mentre, altri algoritmi, ad esempio quellidi clustering concettuale o quelli con approccio evolutivo,per quanto raggiungano risultati ottimi su data set di pic-cole dimensioni, sono inutilizzabili per data set di grandidimensioni a causa della loro complessità computazionale edei loro requisiti temporali. È in questo contesto che l’algo- Analizzando varie

esecuzionidell’algoritmoCRADLE sia sulpattern set IV siasul pattern set VIIIsi è verificato che icluster ottenuti sonoquasi del tutto similie differiscono nellamaggior parte deicasi di un numero dishape che va da 0 a3 per cluster concardinalità inferioreal 20% e da 0 a 6per cluster la cuicardinalità è moltoalta, superiore al20% del numero ndi shape in esame.

ritmo CRADLE si propone come una soluzione: esso infattiha una sensibilità alla configurazione 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 effettuareun numero limitato e relativamente basso di iterazioni infase di raggruppamento al fine di creare un’ottima configu-razione di clustering che venga utilizzata come input dellafase di selezione che miratamente provvederà a cercare unminimo della funzione di costo.

Infine, ma non meno importante, è il duplice approccio diclustering che esso può assumere, sia basato su ricerca, siaincrementale. La fase di selezione, infatti, ha la capacità di

67

Page 84: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

68 conclusioni e sviluppi futuri

utilizzare la configurazione di clustering ottenuta dalla faseprecedente di raggruppamento non solo al fine di migliora-re questa ma anche allo scopo di utilizzarla come modelloper il raggruppamento incrementale di nuove shape. L’a-dattività dell’algoritmo CRADLE lo rende utilizzabile sugrandi data set e soprattuto in contesti reali dove l’inseri-mento di nuovi pattern in una struttura già esistente nonpuò comportare una nuova e completa esecuzione dell’inte-ro processo di clustering. Ciò rende CRADLE utilizzabilein modo efficace ed efficiente 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 finalizzate al miglio-ramento futuro dell’algoritmo.

approccio gerarchico – Al fine di effettuare il cluste-ring di un dataset di shape di grandi dimensioni èpossibile creare una struttura ad albero in cui le shapevengano organizzate in base al seguente principio:ai massimi livelli dell’albero verranno poste le shapecon minore similarità mentre nei livelli via via infe-riori verranno poste le shape con similarità via viamaggiore.

Questa organizzazione delle shape in una struttura adalbero viene ottenuta considerando inizialmente tuttele shape del dataset ed applicando ad esse CRADLEper una serie di prefissati numeri di cluster. Calcolatoil numero di cluster ottimale k è possibile computareil centroide per ognuno dei cluster. Effettuando il clu-stering su essi, sempre tramite l’utilizzo di CRADLE,si crea un livello superiore della struttura ad albero.Applicando iterativamente questa idea si ottiene unaorganizzazione ad albero delle shape dove la similari-tà tra esse aumenta all’aumentare del grado del livellodella struttura in considerazione.

Tuttavia questo approccio bottom-up ha una criticità:la funzione per il calcolo dei centroidi. È perciò con-sigliabile assicurarsi che essa svolga il suo scopo inmodo adeguato e preciso. Un ulteriore aspetto criticodi tale approccio è la scelta dei parametri quali il nu-mero di livelli della struttura ad albero, ed il relativo

Page 85: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

5.1 sviluppi futuri 69

numero di cluster scelto per ognuno di essi: questescelte dipendono in primis da considerazioni ottenutetramite l’analisi di validità dei cluster ma anche dafattori desiderati quali la velocità della ricerca e leprestazioni.

Il beneficio più evidente di rappresentare l’intero dataset in modo gerarchico è la capacità di confrontarele shape molto dissimili a bassa risoluzione pur con-sentendo tuttavia il paragone fra shape simili ad unarisoluzione maggiore.

distribuzione iniziale delle shape – Come già de-scritto nella sezione apposita (vedi capitolo 3.3.2) laconfigurazione di partenza dell’algoritmo CRADLEviene creata generando una distribuzione normale diinteri casuali.

Un’idea di miglioramento consiste nel generarne variescegliendo quella che fornisce un valore minore didispersione totale. In quest’ottica sarebbe consigliabileutilizzare un algoritmo evolutivo (ad esempio GA,si veda la sezione 2.5) esclusivamente per generaredelle distribuzioni di interi casuali completamentedifferenti tra loro.

nuove tipologie di spostamento delle shape – L’al-goritmo proposto è basato attorno all’idea di spostareun’unica shape negli altri cluster al fine di minimizza-re il valore della dispersione totale; tuttavia tipi addi-zionali di spostamenti, quali ad esempio lo scambiodi shape fra cluster, singolarmente o in congiunzionecon quello già utilizzato, possono essere adoperati alfine di migliorare l’efficacia del clustering.

Page 86: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 87: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Part III

A P P E N D I C E

Page 88: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 89: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

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

In questo capitolo d’appendice si riportano tutti i risultatirelativi all’intera sperimentazione.

a.1 pattern set 1

k Q∗ DI DB XB

3 12,61686 0,97096 1,26860 1,96174

4 11,66185 0,73313 1,37772 3,50605

5 10,71896 0,65684 1,40677 4,15257

6 9,91138 0,61247 1,33322 5,92042

7 9,41288 0,71293 1,32137 6,16880

8 8,92266 0,71414 1,35792 7,33298

9 8,62082 0,69306 1,35828 9,11992

10 8,28233 0,62903 1,35391 10,52145

11 8,02915 0,57873 1,27568 11,45877

12 7,78970 0,54779 1,28168 12,23398

13 7,57545 0,62224 1,34423 13,30741

14 7,32358 0,55115 1,28500 14,44261

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

73

Page 90: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 15: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set I.

74

Page 91: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.2 pattern set 2 75

a.2 pattern set 2

k Q∗ DI DB XB

3 12,54010 0,98976 1,25331 1,94209

4 11,60561 0,79021 1,48853 3,66309

5 10,69813 0,71627 1,58932 5,12012

6 10,10195 0,68607 1,41919 5,75983

7 9,30218 0,79078 1,33096 6,28310

8 8,99754 0,75691 1,36697 8,26603

9 8,60039 0,69760 1,40526 9,94811

10 8,33104 0,72107 1,33476 10,62270

11 8,02652 0,67681 1,36184 13,11895

12 7,75907 0,66331 1,37376 14,10801

13 7,52488 0,60641 1,32870 14,44147

14 7,35988 0,61199 1,34377 14,09604

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

Page 92: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 16: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set II.

76

Page 93: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.3 pattern set 3 77

a.3 pattern set 3

k Q∗ DI DB XB

3 12,55703 0,94312 1,28498 2,04073

4 11,67547 0,73201 1,40886 3,61849

5 10,61942 0,65204 1,45540 4,50931

6 10,21427 0,61419 1,51916 6,21279

7 9,52141 0,56632 1,35941 7,23230

8 9,00358 0,65699 1,36538 7,17619

9 8,57705 0,59805 1,25823 10,87478

10 8,42636 0,62243 1,31524 10,39004

11 8,03665 0,61605 1,34380 12,32949

12 7,69263 0,56553 1,32209 14,93773

13 7,55560 0,58207 1,35908 14,83572

14 7,32540 0,56510 1,33077 16,54152

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

Page 94: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 17: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set III.

78

Page 95: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.4 pattern set 4 79

a.4 pattern set 4

k Q∗ DI DB XB

3 12,79368 0,95544 1,29818 2,02988

4 11,78074 0,80182 1,37120 3,39356

5 10,92335 0,74679 1,18654 3,48203

6 10,52129 0,65008 1,44372 5,51938

7 9,56448 0,76557 1,33596 7,02523

8 8,99455 0,69023 1,43377 8,45080

9 8,86346 0,73576 1,42512 9,23816

10 8,43404 0,64805 1,37701 11,08794

11 8,20403 0,64026 1,38138 11,75584

12 7,95234 0,62653 1,39693 12,42090

13 7,72442 0,59128 1,39407 14,70682

14 7,65835 0,52279 1,34673 14,77905

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

Page 96: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 18: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set IV.

80

Page 97: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.5 pattern set 5 81

a.5 pattern set 5

k Q∗ DI DB XB

3 13,09914 0,97145 1,37011 2,16377

4 11,65561 0,75930 1,37551 3,47647

5 10,85001 0,63499 1,41400 4,52686

6 10,20751 0,62882 1,42508 5,11765

7 9,42770 0,75449 1,40041 7,01203

8 9,10270 0,72728 1,35836 8,71067

9 8,68145 0,68892 1,34245 9,17407

10 8,37635 0,65603 1,31686 10,42174

11 8,11124 0,60938 1,28768 12,46158

12 7,86173 0,66260 1,29839 13,75056

13 7,65448 0,60610 1,34361 14,15892

14 7,57336 0,52637 1,33033 15,41173

Tabella 10: Tabella riportante la dispersione e gli indici di vali-dità (DI, DB, XB) relativi alla sperimentazione sulpattern set V.

Page 98: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 19: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set V.

82

Page 99: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.6 pattern set 6 83

a.6 pattern set 6

La tabella ed il grafico relativi ai risultati ottenuti sul patternset VI sono stati presentati nella sezione 4.2.3 (tabella 2 efigura 7).

a.7 pattern set 7

k Q∗ DI DB XB

3 12,67353 0,94297 1,32890 2,08402

4 11,77773 0,72225 1,39065 3,38075

5 11,07703 0,70178 1,49947 4,70406

6 10,37586 0,64023 1,85014 7,98737

7 9,81785 0,62109 1,43421 7,33963

8 9,10110 0,76089 1,47303 8,83060

9 8,68675 0,65364 1,29855 8,93401

10 8,47372 0,70570 1,36999 10,04217

11 8,21137 0,64428 1,36080 11,75141

12 8,01399 0,59119 1,40350 14,22893

13 7,71402 0,56363 1,39998 14,79866

14 7,53744 0,57444 1,33044 15,28309

Tabella 11: Tabella riportante la dispersione e gli indici di vali-dità (DI, DB, XB) relativi alla sperimentazione sulpattern set VII.

Page 100: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 20: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set VII.

84

Page 101: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.8 pattern set 8 85

a.8 pattern set 8

k Q∗ DI DB XB

3 12,60352 0,94444 1,27060 1,97259

4 11,62929 0,82552 1,40730 3,41977

5 10,95336 0,68559 1,56148 4,75849

6 10,06943 0,73460 1,24042 4,61894

7 9,55936 0,77147 1,25542 6,19128

8 9,15094 0,63632 1,36044 8,79231

9 8,76071 0,65444 1,39707 8,96862

10 8,35382 0,68305 1,36207 10,87754

11 8,07114 0,64406 1,34946 11,40864

12 7,86112 0,59783 1,36800 13,94974

13 7,60026 0,60702 1,32376 14,27596

14 7,39116 0,63191 1,33545 15,84766

Tabella 12: Tabella riportante la dispersione e gli indici di vali-dità (DI, DB, XB) relativi alla sperimentazione sulpattern set VIII.

Page 102: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 21: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set VIII.

86

Page 103: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.9 pattern set 9 87

a.9 pattern set 9

k Q∗ DI DB XB

3 12,74849 0,92920 1,28322 1,98998

4 11,73498 0,76743 1,35227 3,30828

5 10,87039 0,71485 1,41218 4,64027

6 10,01664 0,74350 1,19414 5,25671

7 9,60898 0,58566 1,37199 7,19374

8 9,02706 0,70702 1,35044 8,46423

9 8,67224 0,71714 1,29310 8,46093

10 8,35782 0,58678 1,36643 10,64718

11 8,17050 0,60072 1,48653 13,55072

12 7,83839 0,64131 1,35660 13,15352

13 7,60676 0,57765 1,33269 14,34634

14 7,41771 0,53853 1,35810 16,93108

Tabella 13: Tabella riportante la dispersione e gli indici di vali-dità (DI, DB, XB) relativi alla sperimentazione sulpattern set IX.

Page 104: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 22: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set IX.

88

Page 105: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

A.10 pattern set 10 89

a.10 pattern set 10

k Q∗ DI DB XB

3 12,68695 0,96874 1,26682 1,94962

4 11,64858 0,77826 1,28727 3,04021

5 10,94067 0,66835 1,44100 4,60086

6 10,19662 0,67348 1,28087 5,29952

7 9,44906 0,70370 1,34090 6,58436

8 9,10565 0,70703 1,40665 8,00762

9 8,83376 0,59627 1,47186 9,68241

10 8,50112 0,61930 1,33151 10,37033

11 8,18396 0,60197 1,37420 11,61972

12 7,93123 0,62378 1,30639 12,99925

13 7,67611 0,59900 1,33173 13,65476

14 7,45993 0,56462 1,30794 16,58188

Tabella 14: Tabella riportante la dispersione e gli indici di vali-dità (DI, DB, XB) relativi alla sperimentazione sulpattern set X.

Page 106: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Figura 23: Grafico degli indici di validità (DI, DB) relativi allasperimentazione sul pattern set X.

90

Page 107: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

B I B L I O G R A F I A

E. Aarts and J. Korst. Simulated Annealing and BoltzmannMachines: A Stochastic Approach to Combinatorial Optimi-zation and Neural Computing. Jhon Wiley and Sons, NewYork, NY, USA, 1989. (Citato alla pagina 26.)

K.S. Al-Sultan and M.N. Khan. Computational experienceon four algorithms for the hard clustering problem. Pat-tern Recognition Lettures, 17(3):295–308, 1996. (Citato allapagina 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 valueselection in k-means algorithm using genetic algorithm.Pattern Recognition Lettures, 14(10):763—759, 1993. (Citatoalla pagina 25.)

R.A. Baeza-Yates. Introduction to Data Structures and Al-gorithms related to information retrieval. Information Re-trieval: Data Structures and Algorithms, pages 13–27, 1992.(Citato alla pagina 18.)

G.H. Ball and D.J. Hall. ISODATA, a novel method of dataanalysis and classification. Techincal Report of StanfordUniversity, 1965. (Citato alla pagina 20.)

J.C. Bezdek. Pattern Recognition with Fuzzy Objective Func-tion Algorithms. Planum, New York, NY, USA, 1981.(Citato alla pagina 21.)

I. Bierdman and G. Ju. Surface vs edge-based determinantsof visual recognition. Cognitive Psycology, 20:38–64, 1988.(Citato alla pagina 33.)

G. Carpenter and S. Grossberg. Hierachical search usingchemical transmitters in self-organizing pattern recogni-tion architectures. Neural Networks, pages 129–152, 1990.(Citato alla pagina 28.)

E. Diday. The dynamic cluster method in non hierachicalclustering. Journal of Computing and Information Science, 2:61–88, 1973. (Citato alla pagina 20.)

91

Page 108: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

92 bibliografia

E. Diday. Clustering and Related Methods. North-Holland Pu-blishing Co., Amsterdam, The Netherlands, 1988. (Citatoalla pagina 7.)

R.C. Dubes. Cluster analysis and related issues. World Scien-tific Publishing, River Edge, NJ, USA, 1993. (Citato allapagina 15.)

J.C. Dunn. Well separated clusters and optimal fuz-zy partitions. J. Cybern., 4:95–104, 1974. (Citato allapagina 48.)

D. Fisher. Knowledge acquisition via incremental concep-tual clustering. Mach Learn, 2:139–172, 1987. (Citato allapagina 28.)

L. Fisher and J.W. Van Ness. Admissible clusteringprocedures. Biometrika, 58:91–104, 1971. (Citato allapagina 13.)

L.J. Fogel, A.J. Owens, and M. Walsh. Artificial IntelligenceThrough Simulated Evolution. Jhon Wiley and Sons, NewYork, NY, USA, 1965. (Citato alla pagina 25.)

D.E. Goldberg. Genetic Algorithms in Search, Optimiza-tion 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 newdissimilarity measure. IEEE Trans. Syst. Man Cybern, (22):368–378, 1992. (Citato alla pagina 7.)

M. Halkidi, Y. Batistakis, and Vazirgiannis M. ClusteringValidity Checking Methods: Part ii. ACM SIGMOD Re-cord, 31(3):19–27, Settembre 2002. (Citato alla pagina 47,49, e 53.)

J. Hertz, A. Krogh, and R.G. Palmer. Introduction to theTheory of Neural Computation. Addison-Wesley, Reading,MA, USA, 1991. (Citato alla pagina 23 e 24.)

J.H Holland. Adaption in Natural and Artificial Systems. Uni-versity 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.)

Page 109: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

bibliografia 93

A.K. Jain, M.N. Murty, and P.J. Flynn. Data Clustering:A Review. ACM Computing Surveys, 31(3):60, September1999. (Citato alla pagina 3, 5, 6, 9, 11, e 14.)

T. Kohonen. Self-Organizing Maps. Springer, 2001. (Citatoalla 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 ofAsian Conference on Computer Vision (ACCV), 2009. (Citatoalla pagina 34.)

T. Kurita. An efficient agglomerative clustering algorithmusing a heap. Pattern Recognition, 24(3):205–209, 1991.(Citato alla pagina 29.)

J. McQueen. Some methods for classification and analysisof multi variate observations. Proceedings of the Fifth Ber-keley Symposium on Mathematical Statistics and Probability,pages 281–297, 1967. (Citato alla pagina 20.)

R. Michalski, R.E. Stepp, and E. Diday. A recent advan-ce in Data Analysis: Clustering objects into classes cha-racterized by conjunctive concepts. Progress in PatternRecognition, 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. (Citatoalla pagina 25.)

J.R. Slagle, C.L. Chang, and Heller S.R. A clusteringand date-reorganizing algorithm. IEEE Trans. Syst. ManCybern., 52:125–128, 1975. (Citato alla pagina 28.)

Anuj Srivastava, Shantanu H. Joshi, Mio, and Liu. A geo-metric approach to shape clustering and learning. IEEETranscations on Pattern Analysis and Machine Intelligence,27(4):590–602, April 2005. (Citato alla pagina iii, iv, 34,e 35.)

Page 110: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

94 bibliografia

M.J. Symon. Clustering criterion and multi variate normalmixture. Biometrics, 77:35–43, 1977. (Citato alla pagina 20.)

S. Watanabe. Pattern Recognition: Human and Mechanical.Jhon Wiley and Sons, New York, NY, USA, 1985. (Citatoalla pagina 9.)

Wikipedia. Disuguaglianza Triangolare. URL http://it.

wikipedia.org/wiki/Disuguaglianza_triangolare. (Ci-tato alla pagina 9.)

X.L. Xie and G. Beni. A Validity Measure for Fuzzy Clu-stering. IEEE Trans. PAMI, 13(8):841–847, Settembre 1991.(Citato alla pagina 49.)

L.A. Zadeh. Fuzzy sets. Information Control, 8:338–353, 1965.(Citato alla pagina 21.)

Page 111: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

credits

Questa tesi è stata scritta con LYX e LATEX 2ε usando i fontPalatino ed Euler.

Come modello tipografico si è utilizzato il template classicthesis.L’algoritmo CRADLE è stato sviluppato in Python 2.5

con Eclipse e pyDev.Si sono usate le seguenti librerie:

• matplotlib per la stampa dei grafici,

• xlwt per la creazione dei file excel utili nell’analisi divalidità dei cluster,

• excel2latex per la conversione delle tabelle excel intabelle LATEX

• numpy per la precisione delle operazioni con i tipifloat, per ottenere notevoli prestazioni sulle numero-se operazioni matematiche eseguite e per particolarioperazioni con le liste.

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

Page 112: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione
Page 113: CRADLE - Clustering by RAndom minimum Dispersion based LEarning - Un algoritmo di clustering basato su minimizzazione random della dispersione

Bari, Febbraio 2010 - Settembre 2010

Leonardo Di Donato