Issuu on Google+

Ottimizzazione di algoritmi di riconoscimento di falsi vasi nel tracciamento automatico della rete vascolare retinica

Relatore: Prof. Ruggeri Alfredo Correlatore: Dott. Giani Alfredo

Laureando: Zaghetto Andrea

Corso di Laurea Specialistica in Bioingegneria

AnnoAccademico 2006-2007


Indice INDICE SOMMARIO

I III

PARTE I: DISCRIMINAZIONE LINEARE DEI FALSI VASI IN TRACCIATI RETINICI 1 1 INTRODUZIONE. ALGORITMI DI TRACCIAMENTO DELL’ALBERO VASCOLARE 1 1.1

Retinografia ottica

2

1.2

Tracciamento dell’albero vascolare

3

1.3

Discriminazione dei falsi vasi

4

2 2.1

3

MODELLI DELLA DINAMICA VASALE Selezione delle caratteristiche del modello

DISCRIMINAZIONE LINEARE DI FISHER

6 7

12

3.1 Classificazione binaria 3.1.1 Problema di classificazione 3.1.2 Determinazione del vettore delle caratteristiche 3.1.3 Invarianza alla scala del classificatore 3.1.4 Apprendimento per esempi 3.1.5 Errore di classificazione 3.1.6 Overfitting 3.1.7 Cross validazione 3.1.8 Bilanciamento del training set

12 12 14 14 15 15 16 17 18

3.2 Discriminante di Fisher 3.2.1 Distanza e separabilità tra classi 3.2.2 Varianza intra- ed inter-classe 3.2.3 Funzione J 3.2.4 Determinazione della soglia

19 19 21 22 23

3.3 Riduzione dei parametri mediante pruning 3.3.1 Problema generale 3.3.2 Selezione delle caratteristiche

24 24 25

4

DISCRIMINAZIONE DEI FALSI VASI

29

4.1

Determinazione del set di apprendimento

29

4.2

Funzioni di errore: sensibilità e specificità

30

4.3 Risultati 4.3.1 Analisi del classificatore lineare

31 31

i


4.3.2 4.3.3 4.4

Algoritmo di pruning Selezione del modello ottimo Discussione finale

32 35 36

PARTE II: ALGORITMO DI ADDESTRAMENTO NON-LINEARE PER IL DISCRIMINANTE DI FISHER 38 5

ANALISI DEL PROBLEMA

38

5.1

Introduzione

38

5.2

Algoritmo di addestramento

38

6

MASSIMIZZAZIONE CONGIUNTA

41

6.1 Contro-varianza 6.1.1 Confinamento gaussiano 6.1.2 Training non lineare

42 42 45

6.2

47

7

Nuovo algoritmo di pruning

RISULTATI

49

7.1

Definizione del training set del validation set

49

7.2

Risultati dell’algoritmo di massimizzazione

49

7.3

Risultati dell’algoritmo di pruning

53

7.4

Confronto con il lavoro precedente

58

8

CONCLUSIONI

59

8.1

Sviluppi futuri

60

APPENDICI E BIBLIOGRAFIA

61

Appendice A: algoritmo del simplesso

61

Appendice B: risultati

64

BIBLIOGRAFIA

70

ii


Sommario Gli algoritmi di tracciamento della rete vascolare in immagini del fundus retinico producono un elevato numero di falsi tracciamenti (falsi vasi) nel tentativo di estrarre vasi poco contrastati. Tali vasi sono porzioni di immagine che vengono riconosciute dall’algoritmo come strutture vascolari, ma che in realtà sono artefatti dell’immagine. Nel caso in cui l’algoritmo si basa sulla ricerca del profilo vascolare, il motivo per cui vengono generati i falsi vasi, è da ricercare nel fatto che non viene utilizzata l’informazione longitudinale del vaso. Infatti se tali falsi vasi vengono osservati nella loro lunghezza è evidente che non hanno caratteristiche simili ai veri vasi. Per ovviare alla mancanza di tale informazione è possibile utilizzare una tecnica di pattern recognition per discriminare i falsi vasi dai veri vasi. Tra le diverse tecniche di pattern recognition adatte allo scopo, nel precedente lavoro di tesi, era stato scelto un algoritmo di classificazione. Per utilizzare questo metodo è necessario definite un modello matematico del vaso, attraverso il quale è possibile estrarre un insieme di caratteristiche, che riflettono le informazioni globali di esso. Poiché in una immagine del fondo retinico esiste una certa varietà di vasi, per permette una migliore divisione tra i veri e i falsi vasi, è stato necessario definire diversi modelli di complessità crescente. Tuttavia adottare il modello più complesso non sempre significa avere risultati, in termini di errore di classificazione, significativamente migliori. Spesso l’introduzione di nuove caratteristiche comporta ridondanza di informazione, e come di vedrà, non porta a una complessiva diminuzione dell’errore. Lo scopo di questa tesi è di sviluppare un algoritmo, che permetta di selezionare tra i diversi modelli considerati il modello ottimo, cioè quello in grado di ottenere il minore errore di classificazione possibile. In aggiunta si vuole indagare a livello delle singole caratteristiche, in modo da eliminare tutte quelle non necessarie. L’obiettivo viene raggiunto attraverso un innovativo algoritmo di addestramento del classificatore, nel quale vengono introdotti, assieme al vettore dei pesi, anche i parametri di sensibilità e specificità. Il risultato finale del lavoro agirà nell’incrementare la prestazione di un algoritmo di tracciamento dei vasi del fondo retinico. iii


Di seguito viene proposta la struttura della tesi, suddivisa in capitoli: Capitolo 1: viene presentata la tecnica della retinografia ottica, i suoi utilizzi diagnostici, l’importanza dell’estrazione dell’albero vascolare al fine della dignosi precoce delle patologie della retina, e una possibile suddivisione in due categorie degli algoritmi più diffusi per l’estrazione automatica da immagini numeriche. Capitolo 2: vengono descritti in modo completo i diversi modelli della dinamica del vaso del fondo retinico, e presentate tutte le caratteristiche estratte da ogni modello. Capitolo 3: viene presentato il problema di classificazione, l’addestramento tramite il discriminante lineare di Fisher e un algoritmo di pruning per la selezione delle caratteristiche. Capitolo 4: vengono proposti i risultati derivanti dal precedente lavoro di classificazione e selezione delle caratteristiche, attraverso un algoritmo di selezione basato sul discriminante lineare di Fisher. Capitolo 5: presi in considerazione i problemi derivanti dalla precedente analisi, si analizza il problema con una innovativa metodologia. Capitolo 6: viene descritto il ragionamento che porta alla funzione obiettivo necessaria per il nuovo l’algoritmo di addestramento. In aggiunta come questo può essere applicato alla procedura di selezione. Capitolo 7: analisi dei risultati prodotti dai nuovi algoritmi e confronto con i risultati del precedente metodo. Capitolo 8: conclusioni. Appendici e bibliografia: in appendice viene raccolto, il principio di funzionamento dell’algoritmo di ottimizzazione del simplesso, e tutti i rimanenti risultati.

iv


v


Parte I: discriminazione lineare dei falsi vasi in tracciati retinici

1 Introduzione. Algoritmi di tracciamento dell’albero vascolare La nascita della diagnostica per immagini viene comunemente fissata l’8 novembre del 1895. In tale data Röntgen dimostrò l’esistenza dei raggi X effettuando la prima radiografia alla mano della moglie. Questo fatto di notevole importanza permise a Röntgen di vincere il premio Nobel per la fisica nel 1901, ma molto più importante, diede l’impulso per la partenza a una grande varietà di studi, che hanno permesso di inventare le macchine di diagnostica per immagini che attualmente conosciamo. Il desiderio dell’uomo di avere uno strumento di diagnosi, il meno invasivo possibile, ha imposto moltissimi sforzi per migliorare le radiografie generate dai raggi X. Però solo con l’avvento dell’elettronica e dell’informatica, verso la seconda metà del secolo scorso, è stato possibile aprire le porte a nuove tecnologie, le quali hanno portato nuovi strumenti per la diagnostica attraverso le immagini. Ad esempio l’invenzione dell’ecografia (uso degli ultrasuoni per rilevare le pareti dei tessuti) e della scintigrafia (rilevazione di raggi gamma emessi da un radio-farmaco iniettato nel corpo umano) [5]. Fino al 1970 il contenuto informativo di una immagine per diagnosi era limitata dalla risoluzione spaziale e dalla completa assenza della terza dimensione. Ciò può sembrare limitativo per una completa indagine morfologica e funzionale, pertanto sono state sviluppate delle tecniche di tomografia computerizzata che acquisiscono immagini secondo diversi assi proiettivi del corpo umano. Da tali tecnologie sono nate la tomografia assiale computerizzata (TAC), la tomografia a risonanza nucleare (MRI) e la tomografia ad emissione di positroni (PET) [5]. Queste sono le più consolidate, ma attualmente vengono studiate nuove applicazioni come, per esempio, l’uso della MRI nella diagnosi funzionale.

1


Ad oggi la diagnostica per immagini riveste un ruolo fondamentale nella diagnosi, e offre una modalità non invasiva per numerose patologie, come fratture ossee, lesioni di muscoli e tendini, rilevazione di masse estranee, eccetera. Nel caso particolare della diagnostica delle patologie del fondo oculare (fundus), la struttura stessa del bulbo oculare offre la possibilità di una diagnostica per immagini di tipo non invasiva, essendo il fundus direttamente accessibile attraverso la finestra ottica della pupilla. Tra i diversi strumenti a disposizione del medico oculista, l’oftalmoscopio è senza dubbio il “padre”. Questo dispositivo è in grado di indirizzare, contemporaneamente nella stessa direttrice, sia un fascio luminoso che la vista del medico. Attraverso la regolazione delle lenti, per mettere a fuoco l’immagine, è possibile ottenere una visione nitida del fondo retinico. Altri strumenti, che si basano sullo stesso principio, sono il retinografo e il fluoroangiografo, i quali grazie all’uso della moderna tecnologia, sono in grado di acquisire digitalmente l’immagine per poterla memorizzare e successivamente elaborare. Questo è un grande vantaggio per l’oftalmologo perché permette di ridurre notevolmente i tempi di diagnosi rispetto alla tradizionale tecnica di analisi. Rendere più semplice e veloce la diagnosi di una patologia del fondo oculare, permette di prevenire la degenerazione del tessuto retinico, e quindi evitare parziali o totali cecità. Pertanto è forte l’interesse della comunità medica di nuove tecniche di analisi numerica, che facilitino tale compito, evidenziando in maniera automatica e veloce le caratteristiche di interesse diagnostico.

1.1 Retinografia ottica Le patologie che possono colpire l’occhio umano sono diverse. Queste possono essere classificate in categorie, per esempio, malattie dovute alla non corretta rifrazione, che porta alla miopia, e alla presbiopia; a un deficit di mobilità oculare, tra cui lo strabismo; problematiche a livello del cristallino, di cui famosa è la cataratta; eccetera. Nel caso specifico del fondo retinico una malattia è la degenerazione del tessuto dovuto al diabete, oppure alla non corretta pressione del sangue nell’albero vascolare dovuta all’ipertensione. Tali retinopatie possono essere diagnosticate utilizzando la retinografia ottica (RET). La RET è una forma di diagnosi alternativa alla retinografia con mezzo di contrasto, sebbene non sia possibile ottenere misure del flusso sanguineo, permette la visione 2


dell’albero vascolare senza l’uso di sostanze potenzialmente dannose. La RET utilizza una fundus camera per acquisire una serie di immagini a colori della sezione del fondo retinico, che successivamente vengono unite tenendo conto dell’inevitabile distorsione sferica. In questo modo si ottiene l’intero albero vascolare per una successiva analisi, manuale, oppure automatica attraverso particolari software. Un esempio di immagine del fondo retinico è la figura 1.1:

figura 1.1 – Immagine del fondo retinico

1.2 Tracciamento dell’albero vascolare La prassi clinica nella diagnosi di una patologia del fundus, prevede l’acquisizione programmata nel tempo di diverse immagini del fondo oculare, e successivamente l’analisi comparativa per determinare lo stato dell’avanzamento della malattia. Tale compito, se effettuato da operatore clinico, risulta difficoltoso e lungo per il numero elevato di retinografie da esaminare. Pertanto sono stati sviluppati numerosi algoritmi di estrazione automatica e modellazione dell’albero vascolare. Inoltre, utilizzando il modello geometrico automatico dell’albero vascolare, si è in grado di ottenere la stima oggettiva dei parametri di interesse clinico, quali curvatura e tortuosità. In letteratura esistono moltissimi tipi diversi di algoritmi per il tracciamento dell’albero vascolare. Una possibile classificazione, può essere fatta in base al tipo di tecnica di analisi e rivelazione dei vasi. Ad esempio una grande famiglia di algoritmi di tracciamento sfrutta modelli bidimensionali del vaso da cui ricavare filtri adattativi

3


per la rivelazione. Lo svantaggio di tale sistema è il costo computazionale molto elevato, dovuto alla convoluzione tra l’immagine e l’insieme esteso dei filtri, dovendo considerare numerosi calibri e orientazioni. Un’altra classe di algoritmi si basa sul tracciamento sparso (sparse tracking) dell’albero. Il principio di funzionamento prevede inizialmente di determinare dei punti di partenza (seed points) e la direzione del tracciamento. Utilizzando i seed points, viene avviata la procedura di tracciamento, la quale considera i profili monodimensionali del vaso. Tali profili vengono analizzati per determinare una stima della direzione, del centro e del calibro del vaso, permettendo l’avanzamento del tracciamento. Dall’analisi successiva di più profili viene identificato l’albero vascolare. Si osserva che il tracciato visibile di un vaso viene interrotto per una perdita locale di contrasto, dovuto a diverse cause. Pertanto è necessario effettuare il tracciamento dello stesso vaso da più punti di partenza, per poi unire i diversi segmenti attraverso criteri di similarità.

1.3 Discriminazione dei falsi vasi Il lavori di ricerca presentato intende migliorare le prestazioni di un algoritmo di tracciamento sparso, creato da Ruggeri et Al. [6], che si basa sulla tecnica dei profili monodimensionali. Nel tentativo di rendere l’algoritmo capace di estrarre vasi poco contrastati o di piccolo calibro, si è notato la presenza di numerosi tracciati non corretti (falsi vasi). Ciò è dovuto a molteplici cause, tra le quali la presenza dei vasi sottostanti al tessuto retinico, la naturale pigmentazione della retina e il rumore. Tale problema unito al profilo monodimensionale del vaso, può trarre in inganno l’algoritmo nel caso in cui sia impostato con una sensibilità elevata. Nello sforzo di identificare ed eliminate i falsi vasi generati è stata adottata una tecnica di pattern recognition. Utilizzata nel precedente lavoro di tesi triennale, tale tecnica prevedeva l’uso dei classificatori, che permettono di “riconoscere” delle strutture all’interno di sistemi di dati (“caratteristiche”) rappresentativi del problema. L’ulteriore vantaggio, derivante dall’uso delle caratteristiche, è di reintegrare l’informazione persa con l’uso dei profili, e quindi considerare i vasi della loro completezza. Molti elementi costitutivi di un classificatore incidono nel risultato finale, cioè nella corretta “distinzione” tra veri e falsi vasi. Per esempio il tipo, il relativo algoritmo di 4


addestramento e la scelta delle caratteristiche. Una particolare attenzione viene rivolta alla scelta delle caratteristiche, poiché esse andranno a definire un possibile modello matematico del vaso. Un vaso dell’albero vascolare retinico, presenta zone con differenti valori di luminosità e contrasto. Per esempio è possibile identificare una zona interna al bordo del vaso, poco luminosa e ben contrastata, e uno zona esterna più luminosa e poco contrastata. Intuitivamente tali differenze suggeriscono un primo modello del vaso, che viene definito da almeno quattro caratteristiche. Poiché esiste una certa variabilità tra i vasi, solo quattro caratteristiche non sono in grado di considerare il maggior numero di casi possibili. Pertanto sono stati sviluppati diversi modelli, di complessità crescente, i quali sono in grado di descrivere con qualità superiore i diversi tipi di vasi. Scopo del lavoro di ricerca presentato in questa tesi, è quello di determinare il modello che permetta una maggiore determinazione dei falsi vasi. Tale scopo verrà raggiunto sviluppando un nuova metodologia per l’addestramento di un classificatore lineare. Infine verrà definito un algoritmo di semplificazione, per selezionare le sole caratteristiche utili.

5


2 Modelli della dinamica vasale Gli algoritmi di tracciamento di tipo sparso, e basati sull’estrazione del profilo monodimensionale del vaso, introducono nel tracciato dei falsi vasi. In modo particolare, il numero dei falsi vasi aumenta quanto si tenta di tracciare vasi, di piccolo calibro, in immagini poco contrastate. La generazione di falsi positivi è dovuta perché un algoritmo di tracciamento di questo tipo non è in grado di analizzare il vaso nella sua intera lunghezza, ma solo su una stretta finestra di osservazione formata da pochi profili consecutivi. Infatti, se si confrontano un vero vaso e un falso vaso per tutta la loro dimensione, la differenza è, nella maggior parte dei casi, evidente. In una immagine del fondo retinico si mostrano degli elementi che possono rendere ancora più difficile il tracciamento. In modo particolare se la retina è afflitta da patologie, possono essere ulteriori situazioni che generano falsi vasi. Ad esempio nelle vene di cui le pareti sono aumentate di spessore per l’aumento di pressione venosa, possono dare luogo a un riflesso di tipo “filo di rame”. Con il progredire della patologia, il riflesso si allarga e diventa più brillante. Un probabile profilo di tale vaso sarà suddiviso in una zona interna chiara, e racchiuso da una zona più grande ma di luminosità molto inferiore. Tale profilo rende difficile il tracciamento, in quanto l’algoritmo potrebbe determinare una biforcazione. Altri elementi che possono dare luogo a falsi vasi, sono i vasi coroidali che corrono nella superficie opposta del tessuto retinico. Tali vasi non sono di interesse clinico, ma la parziale opacità della retina permette di visualizzarli nell’immagine, e possono essere tracciati. Una problematica sempre presente è il rumore. Esso può dare luogo a particolari configurazioni di luminosità, e nel caso in cui l’algoritmo sia molto sensibile, determina dei percorsi casuali. Talvolta questi possono essere situati anche in punti dell’immagine in cui non si estende l’albero vascolare, pertanto tale vaso è chiaramente falso. Data la varietà della natura dei vasi, è necessario descrivere un vero vaso attraverso uno o più modelli matematici. Tali modelli dovranno racchiudere in se, tutte le informazioni necessarie per lo sviluppo di un metodo in grado di discriminare i falsi

6


vasi. Pertanto è necessario un’analisi approfondita delle caratteristiche del vaso con il fine ultimo rendere più robusto un algoritmo di tracciamento

2.1 Selezione delle caratteristiche del modello Di un vaso del fondo retinico le più semplici caratteristiche che lo descrivono sono la luminosità (L) e il contrasto (C). Tali elementi vengono calcolati attraverso gli operatori matematici di media e di varianza di un’area del vaso [4]. Il modello base che descrive la più semplice dinamica vasale, consiste nella suddivisione di un vaso in due zone. La prima è la zona interna ( Aint ) delimitata dai bordi del vaso, la seconda zona si estende oltre i bordi fino a un limite previsto sperimentalmente, come si vede dalla figura 2.1:

Aext Aint A

ext

figura 2.1 – Modello delle zone di un vaso retinico.

Al modello si impone una simmetria rispetto alla linea che passa attraverso il centro del vaso. Pertanto la zona superiore del vaso, cioè quella che si estende dal bordo superiore fino al limite, e la zona inferiore, cha dal corrispettivo bordo arriva al margine inferiore, vengono considerate indistintamente. La zona così definita viene generalmente indicata come esterna ( Aext ). Il modello appena definito prende il nome di “simmetrico a due zone”, spesso verrà abbreviato come “symm 2” [4]. La formulazione matematica che definisce il calcolo di luminosità e contrasto di tale modello è la seguente:

7


Lint =

1 ∑ p ( x, y ) area ( Aint ) x , y∈Aint

2.1

Lext =

1 ∑ p ( x, y ) area ( Aext ) x , y∈Aext

2.2

C int =

2 1 ( p ( x, y ) − Lint ) ∑ int area ( A ) x , y∈Aint

2.3

C ext =

2 1 ( p ( x, y ) − Lext ) ∑ ext area ( A ) x , y∈Aext

2.4

dove p ( x, y ) è il valore nella scala di grigi del pixel nella posizione x,y. Per un vaso ideale Lint < Lext . Definire con precisione il bordo di un vaso non è immediato, pertanto si prende in considerazione come ipotetico modello di interpolazione del profilo, una curva Gaussiana e non una curva rettangolare [4]. Tale osservazione non viene presa in considerazione dal modello simmetrico a due zone, pertanto viene esteso aggiungendo un’area intermedia tra la zone interna e quella esterna. Questa area viene definita come “zona di attraversamento” ( Across ). Anche per questo modello viene applicata la proprietà di simmetria, e quindi le zone di attraversamento superiore e inferiore non vengono prese in considerazione in modo distinto. Poiché tale modello è un estensione del precedente, la formulazione che definisce la luminosità e il contrasto della zona interna ed esterna rimangono uguali. Le due nuove formule da aggiungere sono: 1 ∑ p ( x, y ) area ( Across ) x , y∈Across

2.5

2 1 ( p ( x, y ) − Lcross ) ∑ cross area ( A ) x , y∈Across

2.6

Lcross =

C cross =

questo modello viene chiamato “simmetrico a tre zone” (symm 3) [4].

8


Intuitivamente ci si aspetta che Lint < Lcross < Lext , mentre il contrasto della zona di attraversamento è maggiore rispetto al contrasto delle altre zone. Questo secondo modello può essere ulteriormente esteso suddividendo la zona di attraversamento in altre due parti rispetto al bordo del vaso. In questo modo vengono definite la zona di attraversamento interna Aicross ed esterna Aecross . Per tale modello non sono necessarie nuove formule poiché luminosità e contrasto vengono calcolate, rispettivamente, come media e varianza nelle zone Aicross e Aecross . Anche questo modello eredita la proprietà di simmetria e viene indicato come “simmetrico a quattro zone” (symm 4) [4]. In aggiunta al modello a quattro zone, viene inserito il contrasto della zona di attraversamento (Ccross) vista come non suddivisa in interna ed esterna. La controparte di tutti e tre i modelli descritti è la modellistica dei vasi asimmetrica. Analogamente per i modelli simmetrici, i nuovi modelli vengono chiamati “asimmetrico a due zone” (asymm 2), “asimmetrico a tre zone” (asymm 3) e “asimmetrico a quattro zone” (asymm 4). Tali modelli considerano separatamente la zona superiore dalla zona inferiore, quindi è necessario distinguere la luminosità e il contrasto, calcolate nelle aree di attraversamento e nelle aree esterne, aggiungendo i pedici “u” ed “l”. Come si vede nella figura 2.2 riassuntiva dei modelli asimmetrici. La formulazione matematica di media e varianza per il calcolo di luminosità e contrasto, rimangono le stesse anche per questi modelli

Aext u

ext

A

u

Acrossu

Aint

Aint Across l

ext

A

l

Aext l

Aext u Acrosseu Across i u Aint Acrossi l Across e l Aext l

figura 2.2 - Da sinistra verso destra: i modelli asimmetrici rispettivamente a due, tre e quattro zone. La linea continua è il bordo del vaso.

9


Viene proposta una tabella riassuntiva degli elementi che definiscono tutti e sei i modelli matematici proposti. tabella 2.1 â&#x20AC;&#x201C; Elementi costituenti le differenti zone

Simmetrico

Asimmetrioco

2 zone 3 zone 4 zone 2 zone 3 zone 4 zone

Lint

Lint

Lint

Lint

Lint

Lint

Lext

Lcross

Lcross i

Lextu

Lcrossu

Lcrossiu

Cint

Lext

Lcross e

Lexti

Lcrossl

Lcrosseu

Cext

Cint

Lext

Cint

Lextu

Lcrossil

Ccross

Cint

Cext

Lextl

Lcrossel

Cext

Cicross

Cextu

Cint

Lextu

Cecross

Cextl

Ccross

Lexti

Ccross

Ccrossu

Cint

Cext

Ccrossl

Ccross

Cext

Ccrossi

Cextu

Ccrosse

Cextl

Ccrossu Ccrossl Ccrossiu Ccrosseu Ccrossil Ccrossel Cext Cextu Cextl

Si noti che in aggiunta, in tutti i modelli asimmetrici viene comunque calcolato il contrasto della zona esterna e di attraversamento, come se non fossero suddivise in superiore e inferiore (Cext, Ccross). In particolare nellâ&#x20AC;&#x2122;asimmetrico a quattro zone viene calcolato anche il contrasto prendendo in considerazione le singole zone di

10


attraversamento superiore (Ccrossu), inferiore (Ccrossl), interna (Ccrossi) ed esterna (Ccrosse), e infine le combinazioni (Ccrossiu, Ccrosseu, Ccrossil, Ccrossel). Non è possibile ricavare dai parametri dei modelli asimmetrici, i parametri dei corrispettivi modelli simmetrici. Nella definizione del vettore delle caratteristiche, per il classificatore, vengono anche aggiunti il valore medio del calibro ( μΔ ), la varianza del calibro ( Σ Δ ) e la lunghezza del vaso (λ).

11


3 Discriminazione lineare di Fisher 3.1 Classificazione binaria 3.1.1 Problema di classificazione Il problema di classificazione si basa nell’assegnare a un vettore di dati x ∈ R D , una classe cm ∈ C con m ∈1...M , dove C è l’insieme delle M classi possibili. L’operazione di assegnazione di x, viene eseguita attraverso un sistema di classificazione, il quale determina il grado di appartenenza e lo esprime attraverso la variabile di uscita y ∈ RV . Tipicamente il blocco funzionale, che identifica un sistema di classificazione, genera una funzione del tipo: y = f ( x; w ) : R D → RV

3.1

T

dove un insieme di Q parametri w = ⎡⎣ w0 ...wQ −1 ⎤⎦ determinano la specifica funzione generata. In particolare il numero di parametri esprime la complessità del blocco funzionale, e quindi la capacità di descrivere una più ampia famiglia di funzioni. Il vettore w viene definito vettore dei pesi, ed il calcolo e la dimensione dipende dall’algoritmo di classificazione e dal problema di classificazione preso in considerazione, come verrà chiarito nel paragrafo “apprendimento per esempi”. La funzione f definisce il tipo di classificatore usato e anch’essa la complessità del blocco funzionale. Ad esempio, un classificatore basato sul discriminante di Fisher è una funzione parametrica lineare, ed è meno complessa di una rete neuronale. Tali reti si basano su strutture a più livelli di funzioni non lineari, adatte a conformarsi a strutture di dati particolari.

3.1.1.1 Classificatore lineare a due classi La precedente notazione (3.1) che individua un sistema di classificazione, deve essere adattata alla natura del problema preso in considerazione. Nel caso particolare della discriminazione dei veri e dei falsi vasi, il classificatore utilizza due classi, una

12


per ogni tipo di vaso. In particolare, il tipo di funzione che viene usata è di tipo lineare, pertanto l’equazione che ne descrive l’uscita è:

y (x) = w T x + w0

3.2

dove il vettore dei parametri w ∈ R D viene chiamato vettore peso ed il parametro w 0 è la soglia. Viene definito l’iperpiano di separazione tra le due classi come l’insieme dei punti, in R D , che soddisfano la condizione: y (x) = 0

3.3

i valori x, dell’equazione (3.3), che soddisfano la condizione sono: w T x = − w0

3.4

da questa equazione si nota che la dimensione dello spazio, in cui viene definito l’iperpiano, è inferiore a una unità rispetto allo spazio delle caratteristiche. Nel caso particolare in cui lo spazio delle caratteristiche è a due dimensioni, la separazione tra le due classi è definita dai punti di una retta. Si prendono in considerazione due punti x A e x B tali da appartenere all’iperpiano di separazione, pertanto y ( x A ) = y ( x B ) = 0 e sostituendo l’equazione (3.2), si ottiene:

w T x A + w0 = w T x B + w0

3.5

w T ( xA − xB ) = 0

3.6

semplificando e raccogliendo:

questo dimostra che w determina l’orientazione dell’iperpiano.

13


3.1.2 Determinazione del vettore delle caratteristiche Le caratteristiche sono un insieme di elementi determinati a partire dai dati che definiscono il problema. L’uso delle caratteristiche in un sistema di classificazione è molto importante per vari aspetti, sia per quanto riguarda il costo computazionale, ma anche per motivi che riguardano la definizione e la struttura del problema. Fissare un certo numero di caratteristiche permette di semplificare e migliorare il problema di classificazione, tuttavia è possibile agire direttamente sull’insieme dei dati. Ciò non è la soluzione migliore, e il motivo verrà illustrato con un esempio. Se l’insieme dei dati è un’immagine di dimensioni 256 x 256 a otto livelli di grigio, il numero totale di possibili immagini è 28x256x256≈1015800, pertanto si preferisce utilizzare un certo numero di caratteristiche tali da rappresentare al meglio l’insieme dei dati. Nella teoria dei classificatori l’estrazione delle caratteristiche dai dati, viene chiamata pre-elaborazione. Tale tecnica è parte del processo di progettazione e si basa su regole empiriche, spesso dettate dal buon senso. La collezione di tutte le caratteristiche va a definire quello che si chiama il vettore delle caratteristiche, che verrà usato come ingresso al sistema di classificazione.

3.1.3 Invarianza alla scala del classificatore La selezione delle caratteristiche è un aspetto difficile, nella progettazione di un sistema classificatore, per vari motivi. Ad esempio non è possibile definire un unico e migliore vettore delle caratteristiche, perché è sempre possibile un’ulteriore combinazione. Un altro elemento che introduce difficoltà nella scelta, è la volontà di aggiungere opportune proprietà al classificatore. L’invarianza alla scala è una tra le proprietà desiderabili nel sistema, in quanto lo rende più generale. Per spiegare questo concetto si pensi al riconoscimento di un oggetto in una immagine. Un classificatore dovrebbe essere in grado di distinguere tale oggetto indipendentemente dalla sua dimensione, perché il significato simbolico è indipendente dalla grandezza. Spesso però per raffinare il riconoscimento, si inseriscono nel vettore anche caratteristiche che dipendono dalle dimensioni dell’oggetto, per esempio assumendo a priori un certo range di variabilità. Pertanto il classificatore non sarebbe in grado di distinguere lo stesso oggetto di dimensioni diverse, e quindi imponendo delle limitazioni al sistema. 14


Per rendere il sistema invariante alla scala esistono diversi modi, che possono essere l’eliminazione della caratteristica considerata dipendete dalla scala, oppure l’uso di particolare algoritmi che normalizzano alcuni parametri dell’immagine, come il colore.

3.1.4 Apprendimento per esempi Per determinare i valori del vettore dei pesi w, occorre un algoritmo per “addestrare” (training) il sistema di classificazione. Gli algoritmi di training possono essere suddivisi in due categorie secondo il tipo tecnica usata, cioè “apprendimento non supervisionato” e “apprendimento supervisionato”. L’apprendimento supervisionato prevede che a un insieme di dati (xn) venga accoppiato un nuovo vettore tn (target set), il quale porta l’informazione dell’appartenenza dell’n-esimo elemento alla corretta classe. Pertanto la coppia (xn,tn) rappresenta un possibile esempio di classificazione, che permetterà l’apprendimento attraverso l’algoritmo di training. Per tale motivo l’apprendimento supervisionato viene anche chiamato “apprendimento per esempi”. L’insieme di tutte le coppie (xn,tn) viene chiamato “training set”. Utilizzando l’apprendimento supervisionato l’insieme di dati dovrà essere classificato manualmente da un operatore esperto, e nel caso delle retinografie da personale medico in grado di distinguere correttamente i veri vasi dai falsi vasi. Il training set dovrà essere rappresentativo dell’insieme più generale dei dati da classificare, in modo da addestrare il classificatore a più casi possibili. Il target set, oltre a permettere l’addestramento supervisionato, serve in un secondo momento per calcolare l’errore.

3.1.5 Errore di classificazione L’errore di classificazione permette di valutare l’accuratezza del classificatore. Si consideri ad esempio il caso in cui il classificatore sia una funzione polinomiale di ordine M:

M

y (x) = w0 + w1 x + ... + wM x M = ∑ wi xi = wT x

3.7

i =0

15


Si vuole calcolare il valore dei parametri w che minimizzi la differenza tra il valore “vero” (tn) e il valore di uscita del modello (xn), minimizzando cioè una funzione di errore. La funzione errore maggiormente usata in problemi di interpolazione è la media dei residui al quadrato (errore quadratico medio):

E=

1 N

N

∑ [t

n

− y( xn ; w )]2

3.8

n

Si noti che l’errore (E) è funzione di w, in quanto il training set xn, tn è noto. La soluzione al problema si ottiene cercando quel vettore w* che minimizza la funzione di errore (3.8): ⎡1 w* = arg min ⎢ w ⎣N

N

∑ [t n

n

⎤ − y( xn ; w )]2 ⎥ ⎦

3.9

Il maggior vantaggio dell’errore quadratico medio è che qualora il modello sia linearmente dipendente dai parametri il vettore ottimale w* è la soluzione dell’equazione normale: w*: Rw * + P = 0

3.10

Dove la matrice quadrata R e il vettore P vengono costruiti a partire dal training set e dalla struttura funzionale della rete. La soluzione ottima w* può essere calcolata semplicemente come soluzione del sistema (3.10):

w* = R −1P

3.11

3.1.6 Overfitting L’apprendimento supervisionato necessita, per il suo principio di funzionamento, di un insieme di dati che viene chiamato training set. Tale insieme è formato da un certo numero di caratteristiche che sono state classificate manualmente (esempi). Si

16


presuppone che, maggiore è il numero di esempi con il quale si effettua il training del classificatore, minore è l’errore commesso. Ciò nonostante è impensabile definire un insieme composto da un numero infinito di elementi, pertanto è necessario selezionare solo quei casi che si ritengono rappresentativi del problema generale. La quantità e la selezione dei casi è un compito da non sottovalutare, perché si può rischiare di rendere il classificatore troppo specializzato nel training set. Il risultato è una perdita di generalità, cioè della capacità del classificatore di “adattarsi” ai nuovi casi. Tale fenomeno prende il nome di “over-fitting”, ovvero un eccessiva accuratezza del sistema, che nello sforzo di classificare correttamente tutti i dati del training set considera anche l’inevitabile rumore presente. Pertanto è necessario un’ulteriore insieme di dati, che non ha contribuito al processo di addestramento, il quale viene utilizzato per controllare il processo di classificazione. Questo insieme viene chiamato “validation set” e necessita, come nel training set, della classificazione manuale per poter controllare l’errore. Per dimostrare con un esempio l’effetto dell’over-fitting, si consideri il sistema polinomiale (3.7). All’aumentare del grado M, aumenta la flessibilità del sistema e la sua capacità di classificare correttamente sia il training set che il validation set. Aumentando ulteriormente il grado, il sistema inizierà ad interpolare il rumore del training set, minimizzando ulteriormente l’errore su quest’ultimo, a scapito dell’errore sul validation set che invece non diminuisce ulteriormente ma aumenta, essendosi il sistema specializzato sulle caratteristiche particolari del training set. Generalmente un ordine troppo elevato è contraddistinto dal fatto che i parametri del modello y (x) variano fortemente al variare del training set scelto [2]. Quindi alla ricerca del minimo della funzione errore si deve aggiungere la ricerca del minimo dell’errore sul validation set per ottenere sufficiente generalità, ossia un corretto bilanciamento tra specializzazione e flessibilità del modello.

3.1.7 Cross validazione Un tipico problema nella definizione del training set e del validation set, è che il numero di esempi che si hanno a disposizione non è mai tale da permettere una completa determinazione di entrambi gli insiemi.

17


Per ovviare a questo inconveniente esistono diverse tecniche per generare sia il training che il validation. Un modo semplice è di partizionare l’intero insieme dei dati in N partizioni uguali. Di queste, N-K, dove N>K, verranno usate come training set, e le rimanenti K come validation set. Tale paradigma di apprendimento è noto come “cross-validazione” [2]. Ovviamente al fine di ottenere il risultato migliore, occorre considerare tutti i possibili raggruppamenti di N-K partizioni, il che può essere dispendioso in termini di tempi di calcolo. Una possibilità è quella di considerare K=1, e di utilizzare pertanto N-1 training set possibili. Tale schema di cross-validazione è detto “metodo leave-one-out”.

3.1.8 Bilanciamento del training set La definizione del training set e del validation set, può risultare difficile quanto non si hanno a disposizione sufficienti dati. Pertanto esistono numerose tecniche, come ad esempio la cross validazione descritta nel paragrafo precedente, che permette di ovviare a tale problema. La scarsa quantità di dati o l’eccessiva selezione, può portare a un ulteriore problema, cioè che il training set abbia per una certa classe un numero maggiore di elementi rispetto alle altre. Perciò viene detto che l’insieme di addestramento è sbilanciato. Tale problema comporta che l’errore venga minimizzato sulla classe con la maggiore quantità di elementi, a discapito delle altre con meno rappresentanti. Questo concetto viene chiarito con l’esempio specifico della classificazione in due classi, “vaso” e “non-vaso”. L’errore quadratico medio può essere espresso come:

E=

NFV 1 N 1 NVV 2 2 t − y x = t − y x + [ ( )] [ [ ( )] [tn − y(xn )]2 ] = ∑ n n N x∑ ∑ n n N n xn ∈CFV n ∈CVV

2

=

3.12

2

NVV 1 NVV NFV 1 NFV N N t y ⎡ − x ⎤ + ⎡⎣tn − y( xn ) ⎤⎦ = VV EVV + FV EFV 3.13 ( n )⎦ ∑ ∑ n ⎣ N NVV xn∈CVV N NFV xn∈CFV N N

18


Dove N VV e N FV sono rispettivamente il numero di veri e falsi vasi, e E VV , E FV sono rispettivamente l’errore sui veri e sui falsi vasi. È evidente che se N VV » N FV la minimizzazione privilegerà la riduzione di E VV rispetto a E FV , e viceversa. Questa situazione rispecchia la composizione relativa del training set (bilanciamento delle due classi) piuttosto che un reale interesse nella minimizzazione dell’errore su una classe rispetto all’altra. Si noti che, essendo N = N VV + N FV , detto α =

N VV si N

ha quindi E = αEVV + (1 − α ) E FV . Quindi la composizione percentuale del training set agisce come “peso” per l’errore. Possiamo a questo punto “equalizzare” l’errore pesando il contributo dei dati del training set in misura inversamente proporzionale alla densità della classe di appartenenza. Inoltre è possibile privilegiare l’una o l’altra classe secondo pesando in maniera arbitraria una classe rispetto l’altra (successivamente all’equalizzazione) qual’ora le esigenze del progetto ritenessero più critico l’errore su una classe piuttosto che un’altra.

3.2 Discriminante di Fisher 3.2.1 Distanza e separabilità tra classi Lo scopo di un classificatore è quello di determinare un valore che specifichi l’appartenenza ad una delle classi previste. Nel caso del classificatore lineare descritto nel paragrafo “classificatore linerare a due classi”, la classificazione avviene moltiplicando il vettore delle caratteristiche x per un vettore peso w, e successivamente confrontando il risultato con la soglia w 0 . La proiezione dei dati in uno sottospazio comporta la perdita di informazione, che nel caso della classificazione, ciò può significare che se due classi sono separabili in R D , potrebbero non esserlo quando i dati vengono proiettati in R D ' , con D’<D. La potenziale perdita di separabilità tende ovviamente ad essere massima quando D’=1, che è il caso da noi considerato. Un classificatore lineare risulta comunque uno strumento vantaggioso, purché venga selezionato in modo opportuno il vettore dei pesi. Il criterio di scelta prevede di massimizzare la separazione tra le classi, cioè minimizzare la perdita di separabilità.

19


Per valutare l’efficacia di un vettore dei pesi è possibile utilizzare una misura della distanza tra le classi. Si prenda in considerazione due classi C1 e C2, alle quali appartengono rispettivamente N1 e N2 vettori delle caratteristiche, identificati come x(1) n ∈ C1 e x(2) n ∈ C2 . Intuitivamente, la distanza esprimerà il concetto metrico di lontananza tra i punti medi di ogni classe Il punto medio m, o centroide, di ogni classe viene definito come

mi =

1 Ni

N

∑x n =1

(i ) n

3.14

dove i = 1, 2 . La distanza, tra le due classi, è la proiezione della differenza dei due vettori media, ed è data da: m2 − m1 = w T (m 2 − m1 )

3.15

La quantità scalare m2-m1 fornisce una stima della separazione delle due classi proiettate su w. Tuttavia tale proiezione non tiene conto della distribuzione dei vettori x rispetto alle rispettive medie, come illustrato in figura 3.1. L’uso della sola distanza non è in grado di approssimare correttamente la separabilità delle classi. Infatti, se si considera come vettore di proiezione uno dei due assi, i punti proiettati delle diverse classi andranno a sovrapporsi, rendendo maggiore l’errore di classificazione. Pertanto per la scelta del vettore che massimizza la separabilità, è necessario un criterio che si basi, non solo sulla distanza dei centroidi, ma anche su ulteriori informazioni della dispersione dei punti delle classi.

20


x2 C1 m1 C2 m2

x1 figura 3.1 La proiezione dei valori lungo gli assi porta a una perdita di informazione

3.2.2 Varianza intra- ed inter-classe Nel precedente paragrafo è stato dimostrato che la sola distanza non è in grado di definire una corretta scelta di w, e quindi di approssimare correttamente la separabilità. Pertanto sono necessari addizionali indici, di natura statistica, per aggiungere ulteriori informazioni della distribuzione dei punti delle classi. Una algoritmo per la scelta del vettore dei pesi che massimizza la separabilità, è il discriminante di Fisher [2]. Tale metodo si basa sulla massimizzazione di una funzione che rappresenta sia la covarianza intra-classe, che inter-classe. La dispersione della classe k-esima viene misurata dalla covarianza intra-classe:

sk2 =

∑ ⎡⎣ w

T

x n ∈Ck

(x n − m k ) ⎤⎦

2

3.16

che nel caso specifico di due classi, la covarianza totale è data da:

s12 + s22 =

∑ ⎡⎣w

x n ∈C1

T

2

(x n − m1 ) ⎤⎦ +

∑ ⎡⎣ w

x n ∈C2

T

2

(x n − m 2 ) ⎤⎦ = w T SW w

3.17

21


dove SW è una matrice che definisce la covarianza totale intra-classe, ed è definita come: SW =

∑ (x

n∈C1

n

− m1 )(x n − m1 )T +

∑ (x

n∈C2

n

− m 2 )(x n − m 2 )T

3.18

In modo analogo si definisce la covarianza totale inter-classi:

( m2 − m1 )

= ⎡⎣ w T ( m 2 - m1 ) ⎤⎦ = w T S B w 2

2

3.19

dove S B è la matrice di covarianza totale inter-classi:

S B = (m 2 − m1 )(m 2 − m1 )T

3.20

3.2.3 Funzione J Come abbiamo detto in precedenza il nostro scopo è quello di massimizzare la separabilità tra le classi. Pertanto si cerca un vettore dei pesi che massimizza la distanza fra le medie del gruppo, ed allo stesso tempo minimizza la varianza all’interno di ciascun gruppo. Questo è l’obiettivo del metodo di Fisher. Nel caso di due classi il criterio di Fisher massimizza la quantità:

J (w ) =

(m2 − m1 ) 2 s12 + s2 2

3.21

Riscrivendo la (3.21) in modo da evidenziare la dipendenza dal vettore w usando le formule (3.17) e (3.19), si ottiene:

J (w ) =

wT S B w wT SW w

3.22

Derivando la funzione J rispetto a w si ottiene:

22


(w T S B w )SW w = (w T SW w )S B w

3.23

Si noti che S B w è sempre nella direzione di (m2-m1) Moltiplicando entrambi i −1

membri per S w , si ottiene la formula di Fisher per calcolare il vettore w:

w = S w −1 (m 2 − m1 )

3.24

3.2.4 Determinazione della soglia Dalla proiezione dei dati è possibile ottenere una classificazione, inizialmente scegliendo opportunamente una valore di soglia w0, e poi utilizzando una funzione a gradino definita come: ⎧ 1, w T x > w0 f ( w0 ) = ⎨ T ⎩−1, w x < w0

3.25

Viene definito m come:

m=

1 N 1 x n = ( N 1m 1 + N 2 m 2 ) ∑ N n =1 N

3.26

e una possibile scelta della soglia può essere:

w0 = − w Tm

3.27

Si noti che il valore di m è ottenuto pesando il valore assunto dalle medie delle rispettive classi, rispetto al numero di elementi presenti in ogni classe. Pertanto se N1>>N2, il vettore media m1 avrà un peso maggiore rispetto al vettore media m2, e ciò influenzerà la decisione verso la classe C1 rispetto alla classe C2. In altre parole, il discriminante di Fisher ottenuto tenderà a minimizzare l’errore di classificazione sulla classe C1 piuttosto che sulla classe C2. Tale ragionamento può essere usato per determinare un opportuno valore di soglia, in modo tale che il classificatore abbia particolari caratteristiche. Ad esempio che la 23


sensibilità sia uguale alla specificità. Per fare questo è necessario modificare la (3.26) ed aggiungere un parametro β di selezione: m ( β ) = β m1 + (1 − β ) m 2

3.28

dove β ∈ [ 0,1] , quindi per β = 0 m = m 2 , per β = 1 m = m1 , pertanto si ottiene un valore di media che si sposta lungo i centroidi delle classi.

3.3 Riduzione dei parametri mediante pruning 3.3.1 Problema generale Quando viene progettato un classificatore, spesso si incorre nell’inserimento nel vettore delle caratteristiche di numerosi elementi, al fine di diminuire l’errore di classificazione. La scelta del numero delle caratteristiche, e quindi la dimensione del vettore deve essere attentamente valutata. Questo è motivato da vari problemi di diversa natura. Per esempio, un sistema di classificazione impone all’algoritmo di addestramento un costo computazionale, che aumenta al crescere del numero delle caratteristiche. L’aggiunta di una caratteristica non sempre porta a un miglioramento della performance generale, perché ad esempio introduce ridondanza di informazione. Un ulteriore problema consiste nel fatto che, nel classificatore lineare, la dimensione del vettore delle caratteristiche è pari al vettore dei pesi. Pertanto l’aumento del numero dei parametri porta all’over-fitting, cioè a un eccessiva dipendenza dei dati di addestramento e quindi a un tentativo, da parte dell’algoritmo di training, di adattarsi anche al rumore. In aggiunta il classificatore perde di generalità, e di conseguenza, aumenta l’errore commesso con il validation set. Di conseguenza nasce la necessità di semplificare il numero di caratteristiche, in modo da limitare al minimo tale problema. Per fare questo serve una misura della “salienza” (saliency) della caratteristica. Intuitivamente, si possono definire le caratteristiche meno salienti come quelle, che rimosse dal vettore, portano alla minimizzazione dell’errore.

24


Un approccio più formale prevede l’uso di un modello matematico, il quale è descritto dalla serie di Taylor della funzione errore, arrestata ai termini del secondo ordine [4]. La funzione errore viene derivata rispetto al vettore dei parametri w. La notazione assume la forma:

D

E ( w) = ∑ i =1

D D ∂E ∂E δ wi + ∑∑ δ wiδ w j ∂wi i =1 j =1 ∂wi ∂w j

3.29

la quale dimostra che il contributo dato dalle caratteristiche può essere scomposto in due componenti. Il primo addendo esprime il peso della caratteristica in se; il secondo, che si riferisce alle derivate miste, esprime il contributo dell’i-esima caratteristica rispetto a tutte le altre. Pertanto si evince che esiste una correlazione, più o meno accentuata, tra le caratteristiche. Tuttavia l’espansione della serie può proseguire oltre il terzo ordine, e quindi, è possibile correlare tutte le possibili combinazioni di caratteristiche. L’espansione in serie dell’errore, suggerisce un metodo di selezione di tipo bruteforce. Inizialmente si considera in modo esaustivo tutte le possibili combinazioni di caratteristiche, successivamente per ogni insieme si addestra il classificatore, e infine si calcola l’errore. In tale modo è possibile selezionare l’insieme delle caratteristiche che porta al risultato prescelto, come ad esempio la minimizzazione dell’errore [4]. Tale sistema è impraticabile computazionalmente, perché il numero totale di combinazioni è pari al fattoriale della dimensione del vettore dei pesi, cioè D!. Per ovviare all’inconveniente si preferisce usare degli algoritmi che determinano una soluzione di tipo sub-ottimo. Ovvero si cerca un compromesso tra il costo computazionale, e una possibile combinazione delle caratteristiche, che si avvicina alla soluzione migliore. Algoritmi di ricerca di questo tipo vengono usati in moltissimi campi dell’informatica e uno tra i più famosi è il “branch and bound”.

3.3.2 Selezione delle caratteristiche La riduzione della dimensione di un vettore delle caratteristiche viene eseguita selezionando un sottoinsieme degli ingressi, ed eliminando le rimanenti. Questo tipo di approccio si basa sul concetto che le caratteristiche tolte portano poca 25


informazione, oppure sono ridondanti. Sebbene sia tra i più semplici, viene ampiamente utilizzato in pratica ed è provvisto di una solida struttura. In generale tutte le procedure di selezione delle caratteristiche possono essere scomposte in due elementi, il criterio di scelta, che stabilisce quale sottoinsieme sia migliore di un altro, e una procedura sistematica per la ricerca [2]. Il criterio di scelta, in via generale, prevede di addestrare il classificatore con il training set, e di misurare la sua prestazione attraverso il validation set. Tale metodo ha lo svantaggio che al crescere del numero di sottoinsiemi da testare, il costo computazionale aumenta. Pertanto si preferisce una stima della performance attraverso l’uso di classificatori molto più semplici, come ad esempio sistemi lineari [2]. Semplificare la rete di classificazione permette di diminuire i tempi computazionali, e quindi di avere la possibilità di controllare un numero maggiore di combinazioni di sottoinsiemi. La misura della prestazione di un classificatore può essere definita in diversi modi, ad esempio per un sistema lineare, si può utilizzare la somma dei quadrati dei residui. In via completamente generale, il criterio di selezione, si basa sulla probabilità dell’errore di classificazione. Il calcolo di tale probabilità però può risultare complicato, in quanto si deve stimare la probabilità a posteriori di ogni classe [2]. Per un qualsiasi criterio di selezione, è auspicabile, che soddisfi questa proprietà di monotonicità:

h( X + ) ≥ h( X )

3.30

dove con “h” si identifica il criterio, con X + un sottoinsieme delle caratteristiche che però contiene X . La proprietà (3.30) è molto utile nell’algoritmo di selezione, non tanto per determinare il sottoinsieme ottimale, ma per aiutare la procedura di ricerca nell’individuazione delle possibili combinazioni. La seconda componente di cui è composto un algoritmo di selezione, è la procedura di ricerca, la quale ha il compito di definire i possibili accoppiamenti di caratteristiche. Un esempio di un metodo esaustivo di ricerca, potrebbe consistere nel prendere in considerazioni tutte le possibili combinazioni di D caratteristiche. Nelle ipotesi che

26


una caratteristica possa essere presente o meno nel sottoinsieme, e senza permutazioni, il numero totale di combinazioni sono 2 D [2]. Pertanto se la dimensione del vettore è 10, si hanno 1024 combinazioni, le quali possono essere ancora computazionalmente flessibili da considerare. Con numero superiore di elementi, ad esempio 50, diventa oneroso. Se si decide di estrarre un numero pari a Dˆ caratteristiche, il numero totale di combinazioni diventano [2]:

(

D! D − Dˆ ! Dˆ !

)

3.31

le quali sono inferiori a 2 D , però comunque è impraticabile considerarle tutte. Uno tra i più utilizzati algoritmi di ricerca è il “branch and bound”. Tale metodo si basa sull’utilizzo di un albero, dove i nodi rappresentano una possibile caratterista, la radice è il caso iniziale, in cui l’algoritmo considera tutte le caratteristiche, mentre le foglie sono la condizione di termine. Senza addentrarsi troppo nel meccanismo di funzionamento, si deve sapere che l’albero viene costruito in modo tale che al crescere del livello diminuisce la salienza delle caratteristiche, e per ogni livello si trovano quelle caratteristiche che possiedono un alta correlazione tra loro. Pertanto la selezione del sottoinsieme ottimo, si ottiene partendo dalla radice, e seguendo il percorso in cui si verifica la condizione (3.30).

3.3.2.1 Tecniche di ricerca sequenziali Nel caso in cui si abbia la necessità di un algoritmo molto veloce per la ricerca del sottoinsieme ottimo di caratteristiche, si possono utilizzare metodi che si basano su ricerche sequenziali. Tali algoritmi non sono in grado di trovare la soluzione ottima, ma solo una soluzione sub-ottima. Questo è dovuto perché il metodo di ricerca, prende in considerazione un numero molto limitato di possibili combinazioni di caratteristiche. In pratica esistono due differenti tipi di metodi di ricerca sequenziali [2], la selezione eseguita seguendo una direzione in accrescimento, del numero di caratteristiche (sequential forward selection), oppure una selezione eseguita seguendo una direzione in diminuzione, del numero di elementi (sequential backward elimination).

27


Il primo algoritmo inizia prendendo in considerazione tutte le singole caratteristiche alla volta, e sceglie quella che definisce il classificatore migliore. Al passo successivo aggiunge a tale elemento, una alla volta le caratteristiche rimaste, in quanto la precedente non viene più considerata, e utilizza lo stesso criterio di selezione. Il metodo prosegue finché non vengono eliminate tutte le caratteristiche. Il risultato è un sottoinsieme di caratteristiche che rappresenta una soluzione sub-ottima al problema di selezione. L’algoritmo di “sequential backward elimination”, opera in modo simile. In particolare inizia con tutte le caratteristiche ed eliminandone una alla volta, sceglie il sottoinsieme che soddisfa il criterio di scelta. A tale insieme viene applicato ricorsivamente tale metodo. La condizione di termine è rappresentata dalla presenza di un solo elemento nell’insieme delle caratteristiche.

28


4 Discriminazione dei falsi vasi 4.1 Determinazione del set di apprendimento Lo scopo principale di questo lavoro è progettare un classificatore in grado di discriminare i falsi vasi con il minimo errore possibile. La realizzazione richiede diversi elementi, innanzitutto la definizione del training set e del target set, il calcolo delle caratteristiche, la determinazione della rete del classificatore, e tutti gli eventuali parametri, e infine diversi test per determinare le prestazioni. In questo modo è possibile definire un protocollo di lavoro, per successivamente introdurre possibili miglioramenti al sistema. L’insieme delle 28 immagini, da cui viene tratto il training set e il validation set, è stato acquisito da una fundus camera TOPCON TRC-50, con angolo di apertura di 50° e una risoluzione di 1370x1145 pixel. Nell’insieme delle immagini sono inclusi 12 casi con patologie come noduli cotonosi, essudati ed emorragie, le rimanenti immagini sono tratte da soggetti con retine sane. In tutte e 28 le immagini è stato applicato un algoritmo per la normalizzazione della luminosità e del contrasto [4]. Successivamente sono state determinate le strutture puntiformi che definiscono l’albero vascolare, con un algoritmo di tracciamento sparso [4]. Infine, per permettere il calcolo dell’errore, tutte i vasi tracciati sono stati classificati manualmente. La definizione del training set e del validation set, è stata fatta suddividendo casualmente le immagini in due insiemi di 14 immagini, in modo però che metà dei casi patologici fossero presenti in entrambi i set. Attraverso l’uso delle immagini e della struttura dell’albero vascolare tracciata, sono state estratte le caratteristiche definite dai sei modelli descritti precedentemente nel secondo capitolo. Il classificatore utilizzato è un sistema lineare descritto dall’equazione (3.1), e l’algoritmo utilizzato per l’addestramento è il discriminante lineare di Fisher. La teoria del classificatore e dell’algoritmo sono stati descritti nel terzo capitolo. Le classi di lavoro del discriminante sono due e sono state etichettate “veri vasi” CVV e “falsi vasi” CFV.

29


4.2 Funzioni di errore: sensibilità e specificità Per misurare la performance del sistema di classificazione, viene calcolato l’errore attraverso la discriminazione manuale. In particolare confrontando l’esito del classificatore con il corretto risultato è possibile definire quattro possibili casi: “veri positivi” (TP) cioè i falsi vasi che sono stati determinati falsi, “falsi negativi” (FN) i falsi vasi che non sono stati identificati, i “veri negativi” (TN) cioè i veri vasi che sono stati identificati come tali e i “falsi positivi” (FP) i veri vasi che sono stati identificati come falsi [4]. Due misure dell’errore di classificazione sono la sensibilità (sens) e la specificità (spec), le quali vengono definite come:

sens =

length(TP) length(TP ) + length( FN )

4.1

spec =

length(TN ) length(TN ) + length( FP)

4.2

dove la sensibilità è la probabilità che un falso vaso venga identificato correttamente, mentre la specificità è una misura della capacità di identificare un vero vaso come tale. La sensibilità e la specificità non dipendono dal discriminante lineare di Fisher, ma dipendono direttamente dal vettore dei pesi w. In particolare è possibile “aggiustare” il valore di sensibilità e specificità, andando ad agire sul parametro della soglia. Come è stato descritto nel paragrafo 3.2.4, è possibile modificare il valore della soglia attraverso il parametro β. Combinando la (3.27) e la (3.28) si ottiene: w0 ( β ) = −w T ⎡⎣ β m1 + (1 − β ) m 2 ⎤⎦

4.3

dove β ∈ [ 0,1] . Si ricorda che la soglia è quel parametro che definisce il confine tra l’appartenenza di un vaso ad una delle due classi. Nel settore della matematica statistica è significativa la curva generata dalla coppia delle funzioni sensibilità e specificità, che viene chiamata “Receiver Operating

30


Characteristic” (ROC). Il suo scopo principale è quello di quantificare l’attendibilità dei test statistici, e viene ampiamente utilizzata in svariati settori, uno ad esempio è quello medico.

4.3 Risultati 4.3.1 Analisi del classificatore lineare La fase successiva alla messa appunto dell’algoritmo di classificazione è la selezione del modello ottimo. Si ricorda che sono stati definiti sei modelli con differenti caratteristiche, e ci si aspetta che, attraverso la metodologia usata, che almeno uno abbia una prestazione superiore rispetto a tutti gli altri modelli. Di seguito vengono riportati i valori di sensibilità e specificità misurati dai modelli completi di tutte le caratteristiche. L’analisi viene differenziata per il training set e per il validation set. tabella 4.1 – Valori di sensibilità e specificità ottenuti dal training set

Simmetrico 2 zone

3 zone

4 zone

Asimmetrico 2 zone

3 zone

4 zone

Sens 0,9201 0,8907 0,9193 0,9032

0,919

0,9236

Spec 0,9188 0,8912 0,9171

0,9165 0,9228

0,899

tabella 4.2 – Valori di sensibilità e specificità ottenuti dal validation set

Simmetrico 2 zone

3 zone

4 zone

Asimmetrico 2 zone

3 zone

4 zone

Sens 0,9137 0,8825 0,9153 0,8878 0,9079 0,8821 Spec 0,9185 0,8838 0,9182 0,8874 0,9069 0,88 Dai risultati si evince che il metodo illustrato è adatto allo scopo. Le tabella 4.1 e la tabella 4.2 evidenziano che la sensibilità e la specificità raggiungono valori nell’intorno dello 0.9 per tutti i modelli. Si ricorda che entrambe sono probabilità, quindi il valore massimo assumibile è 1.

31


4.3.2 Algoritmo di pruning Come è già stato illustrato nel capitolo 3.3 l’aggiunta di caratteristiche può diminuire l’errore del sistema di classificazione. Questo è dovuto dal fatto che un numero maggiore di caratteristiche sono in grado di descrivere più efficacemente il problema, ma con lo svantaggio che diminuisce la generalità del sistema. Per ovviare a questo inconveniente vengono utilizzati degli algoritmi di pruning. Tali algoritmi permettono di selezionare un sottoinsieme delle vettore totale delle caratteristiche, in modo tale da mantenere la prestazione generale del classificatore simile al caso in cui vengono utilizzati tutti gli elementi. Nel caso specifico dell’addestramento con il discriminante di Fisher, l’algoritmo di pruning ideato come criterio di selezione del sottoinsieme ottimo, si basa sulla funzione obiettivo J (3.21). Mentre il metodo di ricerca si basa sul sequential backward elimination. Per quanto riguarda la selezione del sottoinsieme ottimale, definito dall’algoritmo di pruning, inizialmente viene mostrato in figura 4.1 le curve associate ai modelli della funzione obiettivo J. Le quali mostrano il corretto funzionamento della procedura.

-4

3

x 10

2.5

J

2

1.5 Symm 2 Asymm 2

1

Symm 3 Asymm 3 Symm 4 Asymm 4

0.5

0

5

10

15

20

25

Numero caratteristiche

figura 4.1 - Andamento della funzione obiettivo al variare del numero delle caratteristiche

32


Successivamente vengono illustrate le curve dell’andamento dell’errore di classificazione, di seguito quelle relative all’insieme di addestramento.

0.94 0.92 0.9 0.88

Sensibilità

0.86 0.84 0.82 0.8

Symm 2 Asymm 2

0.78

Symm 3 Asymm 3

0.76

Symm 4 Asymm 4

0.74

0

5

10

15

20

25

Numero caratteristiche

figura 4.2 – Curva relativa alla sensibilità determinata dal training set

0.94 0.92 0.9 0.88

Specificità

0.86 0.84 0.82 0.8

Symm 2 Asymm 2

0.78

Symm 3 Asymm 3

0.76

Symm 4 Asymm 4

0.74

0

5

10

15

20

25

Numero caratteristiche

figura 4.3 - Curva relativa alla specificità determinata dal training set

Infine le curve della sensibilità e della specificità, relative al validation set.

33


0.92 0.9 0.88

Sensibilità

0.86 0.84 0.82 0.8 Symm 2 Asymm 2

0.78

Symm 3 Asymm 3

0.76

Symm 4 Asymm 4

0.74

0

5

10

15

20

25

Numero caratteristiche

figura 4.4 - Curva relativa alla sensibilità determinata dal validation set

0.92 0.9 0.88

Specificità

0.86 0.84 0.82 0.8 Symm 2 Asymm 2

0.78

Symm 3 Asymm 3

0.76

Symm 4 Asymm 4

0.74

0

5

10

15

20

25

Numero caratteristiche

figura 4.5 - Curva relativa alla specificità determinata dal validation set

Dalla figura 4.2 e dalla figura 4.3 si evince che sia la sensibilità e che la specificità, al variare del numero delle caratteristiche, non hanno un comportamento monotono decrescente nel training set, come in realtà ci si aspetta. Si ricorda che per un qualsiasi classificatore, al diminuire del numero delle caratteristiche, si prevede un aumento dell’errore nel training set e non viceversa. Si nota invece in alcuni modelli, come nel simmetrico a quattro zone, che un numero minore di caratteristiche porta ad 34


una diminuzione dell’errore. Pertanto al variare del numero di caratteristiche non si è capaci di valutare il vero miglioramento del modello. Nel caso delle curve generate attraverso l’uso del validation set, si nota che alcuni modelli, come l’asimmetrico a due zone e a tre zone, inizialmente hanno un valore di sensibilità e specificità, poi al diminuire del numero di caratteristiche, tali valori aumentino,

per

infine

scendere

velocemente.

Tale

comportamento

trova

giustificazione nel fatto, che un numero elevato di elementi comporta una perdita di generalità e quindi un aumento dell’errore nel validation set. Come è già stato spiegato, in questo modo si adatta il classificatore troppo ai dati del training set, e quindi non è più capace di eseguire una pertinente classificazione in un caso non previsto. Pertanto nel caso in cui si diminuiscano il numero di elementi, il classificatore si modella in modo minore al training set ed acquista generalità.

4.3.3 Selezione del modello ottimo L’obiettivo è di determinare il modello ottimo, cioè quel particolare modello che sia in grado di dare il migliore risultato con il minimo costo computazionale, e con il vincolo che la variazione tra il training set e il validation set sia la più piccola possibile. I modelli che rispondono a tale requisito sono il simmetrico a due e a tre zone. Infatti le curve di sensibilità e specificità dei due modelli, in entrambi gli insiemi, sono posizionate in un intorno di 0.92, valore superiore rispetto ad ogni altro modello. In seguito ai ragionamenti fatti in precedenza, e l’osservazione della figura 4.2, figura 4.3, figura 4.4 e della figura 4.5, si nota che nessuno dei modelli simmetrici ha un andamento delle curve previsto dalla teoria dei classificatori. I modelli asimmetrici, sebbene con un andamento “altalenante”, esibiscono un comportamento che più si avvicina a quello previsto teoricamente. In particolare il modello asimmetrico a quattro zone nel training set, assume dei valori superiori di sensibilità e specificità rispetto agli altri modelli asimmetrici, con un numero di caratteristiche superiore a dieci. Nel validation set, tale modello, perde il confronto con gli altri classificatori, perché poco generico. Infatti la curva dell’asimmetrico a quattro zone è al di sotto di tutte le altre. Il modello che riassume tutte le caratteristiche analizzate è l’asimmetrico a tre zone. Il confronto tra di due modelli rimasti viene fatto attraverso la curva ROC, in figura: 35


1

0.9

Specificità

0.8

0.7

0.6

0.5

0.4

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

Numero caratteristiche

figura 4.6 – Curva ROC, la linea tratteggiata con il marker del cerchio corrisponde al modello asimmetrico a tre zone, mentre il marker del rombo identifica l’asimmetrico a quattro zone.

tale curva è stata ottenuta con il validation set. Come si nota la curva del modello asimmetrico a tre zone è superiore, escluso un breve tratto, a quella dell’asimmetrico a quattro zone. Pertanto, scelto il numero di caratteristiche pari a sette, è il modello che assume i più alti valori di sensibilità e specificità sia nel training set che nel validation set. Quindi si considera questo modello come il modello ottimo. La seguente tabella illustra le caratteristiche selezionate dall’algoritmo di pruning per il modello scelto: Modello asymm3

Caratteristiche

μΔ

ΣΔ

LINT

CINT

LlEXT

Lucross

Llcross

4.4 Discussione finale Il metodo proposto, cioè il classificatore lineare con addestramento effettuato dal discriminante di Fisher, ha determinato il modello in grado di garantire prestazioni soddisfacenti sia sul training set che nel test set. Per quanto riguarda il secondo passo, l’algoritmo di pruning ha determinato la soluzione sub-ottima che meglio semplifica il vettore globale delle caratteristiche. In

36


questo modo si è potuto mantenere l’errore nel validation set il minore possibile, e quindi migliorare la generalità. Tale algoritmo, per la sua costruzione definisce una curva monotona per la sola funzione obiettivo di Fisher. Questo però non garantisce che le curve di sensibilità e specificità, al variare del numero dei parametri, siano monotone decrescenti. Imporre che le curve di misura della prestazione del sistema siano monotone decrescenti, è un obiettivo auspicabile, perché permetterebbe una migliore analisi del problema di riduzione. Come si vede dalla figura 4.2, figura 4.3, figura 4.4 e della figura 4.5, la sensibilità e la specificità hanno un andamento “altalenante”, e pertanto il confronto tra i diversi passi di eliminazione delle caratteristiche diventa difficile. Inoltre un possibile confronto tra le curve derivanti dal training set e dal validation set non è semplice da effettuare. Un altro problema dell’algoritmo di pruning, è la impossibilità di bilanciare la sensibilità e la specificità. Questo è utile soprattutto per un’ulteriore analisi che richieda una maggiore sensibilità a discapito della specificità, e viceversa, ma anche perché in questa fase del lavoro è auspicabile l’uguaglianza tra i due valori.

37


Parte II: algoritmo di addestramento non-lineare per il discriminante di Fisher

5 Analisi del problema 5.1 Introduzione L’obiettivo di questa seconda parte del lavoro, è di sviluppare un algoritmo di selezione in grado di generare delle curve di sensibilità e specificità monotone. Come si è illustrato nel precedente capitolo, il training con il discriminante lineare di Fisher porta a dei buoni risultati, ma l’applicazione di questo metodo all’algoritmo di pruning rende monotona la sola funzione obiettivo J. Questo è dovuto perché la funzione costo massimizza la separabilità tra le due classi in funzione del vettore dei pesi, ma non considera i valori assunti di sensibilità e specificità. D’altra parte, tali valori vengono calcolati a posteriori rispetto al processo di classificazione e non durante l’addestramento. Per introdurre le due nuove variabili al problema di semplificazione delle caratteristiche, pertanto è necessario definire un innovativo algoritmo di training. Tale sistema agisce durante il processo di apprendimento, imponendo al classificatore, degli opportuni valori del vettore dei pesi, in modo tale che sia la sensibilità che la specificità assumano il massimo valore possibile, oltre ad imporre la separabilità tra le classi. L’algoritmo ottenuto definisce anche un nuovo criterio di scelta per l’algoritmo di pruning, dal quale si potrà ottenere curve monotone decrescenti sia per la sensibilità che per la specificità. Tale affermazione verrà dimostrata con l’ausilio dei risultati nel capitolo preposto.

5.2 Algoritmo di addestramento Gli algoritmi di selezione in generale, necessitano di due elementi per funzionare correttamente, il primo è il criterio di selezione, il secondo è il metodo di ricerca.

38


La descrizione completa di tale algoritmo viene rimandata al paragrafo 6.2, per il momento verrà illustrato l’algoritmo di addestramento che è la base del criterio di selezione. L’algoritmo di addestramento, per adempiere allo scopo previsto, dovrà essere in grado di considerare simultaneamente i valori di sensibilità e specificità. Inoltre dovrà permettere il bilanciamento dei due valori, cioè la possibilità di aumentare il valore della sensibilità rispetto la specificità, oppure viceversa. Con maggiore dettaglio, il problema dell’addestramento può essere scomposto in tre elementi. Il primo è una funzione che esprime la sensibilità e la specificità in relazione della matrice delle caratteristiche (x), del vettore dei pesi (w) e dalla soglia (w0). Tale espressione viene definita come: ( sens, spec) = Γ ( x, w, w0 )

5.1

La (5.1) può essere vista suddivisa: dal classificatore che restituisce la classe (c) del vettore in ingresso, e da un elemento per il calcolo dell’errore di classificazione. Quest’ultimo necessita del vettore della classificazione manuale (t), e delle due funzioni che permettono la determinazione del valore della sensibilità e della specificità. Il tutto viene riassunto nel seguente schema a blocchi:

x

sens CLASSIFICATORE

w

LINEARE

w0

c

CALCOLO DELL’ERRORE DI CLASSIFICAZIONE

spec

t

figura 5.1 - Schema a blocchi della funzione per il calcolo di sensibità e specificità

In particolare: w ∈ R D , mentre w0 è lo scalare che identifica la soglia, x ∈ R DxN dove N è il numero degli elementi da classificare, c, t ∈ R N mentre sens e spec sono due valori scalari.

39


La funzione così descritta è non lineare, perché oltre alle formule per il calcolo di sensibilità e specificità, a non essere lineare è anche la funzione che permette la soglia, che assume la forma di uno scalino. Il secondo elemento è un’altra funzione che associa, ai valori assunti dalla sensibilità e dalla specificità, un valore scalare, ed è del tipo: ω = Ω(sens, spec ) : R 2 → R

5.2

tale funzione ha una duplice utilizzo, serve a definire il criterio di selezione delle caratteristiche per l’algoritmo di pruning, ed è anche una funzione obiettivo. In particolare, la definizione dell’espressione della (5.2), verrà discussa nel successivo capitolo. L’ultimo elemento è un algoritmo di massimizzazione, il quale basandosi sulla funzione obiettivo così definita, determina la configurazione del vettore dei pesi in modo da massimizzare congiuntamente sia la sensibilità che la specificità. Il problema di massimizzazione così definito viene risolto attraverso le metodologie di ottimizzazione non lineare. Poiché i parametri non sono espressi attraverso una relazione lineare, non è possibile determinare la soluzione del problema di ricerca del massimo attraverso una forma chiusa. Pertanto è necessario una procedura iterativa che a partire da un punto iniziale sviluppa la ricerca. Tale punto viene definito dal vettore dei pesi determinato attraverso il discriminante lineare di Fisher. La procedura così ottenuta viene schematizzata attraverso il seguente schema a blocchi:

x w w0

sens FUNZIONE Γ

spec

FUNZIONE OBIETTIVO Ω

ω

ALGORITMO DI MASSIMIZZAZIONE CONGIUNTA

w*

figura 5.2 - Schema a blocchi dell'algoritmo di addestramento

40


6 Massimizzazione congiunta L’impostazione dell’algoritmo di addestramento prevede di selezionare il corretto valore dei pesi, in modo da massimizzare congiuntamente la sensibilità e la specificità. In questo modo si inserisce nel contesto generale dei classificatori lineari due nuove variabili. Il problema risiede nel fatto che le quantità da massimizzare in modo simultaneo sono due, mentre la definizione generale di un qualsiasi algoritmo di massimizzazione prevede una funzione obiettivo con un solo valore scalare. Tuttavia, nello sviluppo delle teoria matematica riguardante tali algoritmi, sono stati definiti anche metodi per la “ottimizzazione multi obiettivo” [7]. Ovvero metodi che sono in grado di cercare dei punti di massimo, attraverso l’uso di funzioni che hanno come codominio l’insieme R H , dove H>1. Un esempio di algoritmi che permettono l’analisi multi obiettivo sono gli algoritmi genetici. Poiché l’utilizzo di uno strumento che permette l’analisi multi obiettivo, è eccessivo rispetto al problema preso in considerazione, si cerca una soluzione alternativa. Per utilizzare un algoritmo “classico” di l’ottimizzazione, occorre legare la massimizzazione della sensibilità alla effettiva massimizzazione della specificità e viceversa. Questo viene fatto mediante un’opportuna funzione, che genericamente viene definita nella (5.2). In questo modo si determina un’unica variabile da massimizzare. La funzione obiettivo deve essere costruita in modo da “imitare” le proprietà di sensibilità e specificità al variare del training, e anche permettere il bilanciamento delle suddette. Pertanto il ragionamento seguito per definire l’espressione matematica della (5.2), verte nell’osservazione diretta dei dati e del comportamento reciproco delle curve di sensibilità e specificità. Un esempio sono le curve ROC, che permettono di evidenziare in un’unica soluzione, il comportamento dell’errore di classificazione al variare del valore della soglia. Le curve ROC rappresentano il primo passo, successivamente altri concetti sono stati introdotti per formulare al meglio l’espressione delle funzione costo. In particolare è necessario aggiungere altre specifiche nella progettazione, in modo da ottenere le migliori performance dall’algoritmo di massimizzazione. Tali specifiche verranno illustrate nei paragrafi successivi. 41


6.1 Contro-varianza L’osservazione sperimentale delle curve ROC, mostrano come le due funzioni di errore sensibilità e specificità siano contro-varianti al variare del parametro soglia. Ad un aumento di sensibilità corrisponde necessariamente una diminuzione della specificità. Intuitivamente, ciò si spiega ricordando che il discriminante di Fisher garantisce la direzione di massima separabilità (secondo J). Quindi qualsiasi variazione dal valore ottimale di soglia non fa che distribuire in maniera diversa l’errore tra le classi. Un modo semplice per modellare questo comportamento e’ una relazione di inversa proporzionalità. Tale relazione può essere, ad esempio, la formula che definisce una iperbole equilatera, che applicata al caso specifico diventa:

ω = sens ⋅ spec

6.1

Se si impone ω come costante, allora, ad un aumento di sens corrisponde una diminuzione di spec, ma tuttavia è anche possibile il caso contrario. Mentre al variare di ω, si ottiene una famiglia di iperboli che occupano il piano limitato nell’intervallo [0,1]x[0,1], poiché sensibilità e specificità sono necessariamente limitate in [0,1]. La funzione definita dalla (6.1), corrisponde alla definizione data della relazione Ω, ma non è ancora utilizzabile come funzione obiettivo per la massimizzazione congiunta. Infatti, la massimizzazione di una variabile, ad esempio la specificità, porta alla minimizzazione dell’altra, la sensibilità, e viceversa. Pertanto, in queste condizioni, la massimizzazione è un problema mal posto. Occorrono ulteriori elementi matematici, per adattare la (6.1), in modo tale da permettere il corretto funzionamento dell’algoritmo di training.

6.1.1 Confinamento gaussiano L’espressione (6.1), da sola rende il problema di massimizzazione mal posto. Poiché al massimo di una variabile, non corrisponde necessariamente il massimo dell’altra.

42


Per ovviare al problema, occorre un vincolo, o una condizione, in modo tale da massimizzare entrambe le variabili in modo contemporaneo. Ciò si traduce nell’insieme: max sens ⎧⎪ w ⎨ ⎪⎩ α ⋅ sens − (1 − α ) spec < ε

6.2

dove α ∈ [0,1] è un parametro che permette il bilanciamento della sensibilità e della specificità, mentre ε è una costante che assume valori piccoli. La disuguaglianza nella (6.2), rappresenta la condizione che permette la massimizzazione congiunta. Infatti ad un aumento della sens, il vincolo posto impone un corrispondente aumento della spec, in modo che la differenza pesata tra i due elementi sia inferiore ad ε. Il problema di massimizzazione così definito, non esprime in maniera esplicita una funzione costo, e l’impostazione di un algoritmo di ottimizzazione con tale vincolo risulta complesso. Inoltre risulta difficile la valutazione del criterio di selezione. Un modo più semplice, consiste nel generare una funzione obiettivo costruita ad hoc per il problema, in modo da invitare i passi della ricerca del punto di massimo. Tale espressione dovrà condurre l’algoritmo di massimizzazione verso il massimo possibile, che si trova nell’intorno (1,1) del piano cartesiano definito dalla sensibilità e della specificità. Nell’equazione (6.1) ω viene considerata una costante, ma per lo sviluppo del ragionamento è necessario prenderla in considerazione come una variabile determinata dal prodotto di sensibilità per specificità. In questo modo il piano cartesiano dove vivono le famiglie di iperboli, diventa uno spazio a tre dimensioni. Tutti i valori assunti da ω sono definiti nell’intervallo [0,1], pertanto lo spazio è limitato nell’intervallo [0,1]x[0,1]x[0,1]. Per raggiungere lo scopo prefisso, è possibile modulare i valori ω assunti dal prodotto sens ⋅ spec , in modo da formare un “innalzamento” a ridosso dei valori massimi assumibili. D’altra parte il prodotto sensibilità e specificità, come è stato detto, aumenta all’aumentare di una delle due variabili e al diminuire dell’altra. Per ovviare al

43


problema solo i valori nell’intorno di (1,1) del piano sens-spec, attraverso la funzione obiettivo, devono assumere il valore massimo. Una possibile forma, che andrà a modulare il prodotto e soddisfa tutte le specifiche, è la campana gaussiana. Tale elemento verrà posizionato in modo che il massimo della campana sia nel punto (1,1,1), mentre un’ala si posiziona nei punti della retta che soddisfano la condizione della (6.2). Poiché il piano di sens-spec, ha un dominio [0,1]x[0,1], si vedrà solo mezza campana gaussiana. L’espressione finale della funzione obiettivo, pertanto è:

ω = Ω( sens, spec) = sens ⋅ spec ⋅ e − k [α ⋅sens −(1−α ) spec]

2

6.3

dove k è un valore che specifica la larghezza della campana. Il valore del coefficiente α agisce per spostare la forma della gaussiana, mantenendo fisso il punto (1,1,1), in modo tale da permettere il bilanciamento di sensibilità e specificità. Di seguito viene proposta la rappresentazione grafica della funzione:

figura 6.1 - Rappresentazione grafica della funzione obiettivo, ottenuta con α pari a 0.5 e k uguale a 100.

Un possibile percorso compiuto dall’algoritmo di massimizzazione, è rappresentato dalla curva bianca. Il punto iniziale è il pallino.

44


Si nota che la forma è rovescia. Ciò è dovuto da una semplice proprietà di simmetria, per cui la ricerca di un massimo, può essere fatta attraverso un algoritmo di minimizzazione purché alla funzione costo venga aggiunto un segno meno davanti.

6.1.2 Training non lineare L’obiettivo di questo paragrafo è quello di dare una sufficiente descrizione matematica al problema di minimizzazione, illustrando anche alcune regole basilari della teoria matematica, riguardante lo studio delle funzioni. La ricerca di un minimo di una funzione viene espresso in questi termini min f (w ) w

6.4

dove w ∈ R n , f (w ) viene definita funzione obiettivo e il suo codominio è l’insieme dei numeri reali. Parallelamente al problema di minimo viene definito anche il problema di massimizzazione

max f (w ) = min − f (w ) w

w

6.5

Si nota che attraverso una semplice trasformazione, è possibile ridurre il problema di ricerca del massimo di una funzione a un problema di minimizzazione. Pertanto, senza mancare di generalità, la trattazione proposta si riferirà alla sola minimizzazione. Tipicamente, nella ricerca di un minimo o massimo in una funzione obiettivo, si presuppone che tale punto esista, sia unico e determinabile dal metodo scelto, e verrà indicato con w * [3]. La teoria matematica dello studio di funzioni definisce i punti di minimo e massimo o come assoluti oppure come locali. Specifica inoltre che tali punti possono non esistere, se per esempio in essi la funzione presenta discontinuità oppure tende all’infinito.

45


f f(d)

f(a)

a

b

c

d

e

w

figura 6.2 - Esempio di estremi relativi

Un esempio dei diversi tipi di punti estremi viene raffigurato in figura 6.2, in particolare “a” è il punto di minimo assoluto e “d” è il massimo assoluto. I punti “b”, “c” e “e” sono rispettivamente un massimo locale e due minimi locali. Un punto di minimo assoluto (o globale), di una funzione in un intervallo A e w * ∈ A punto di minimo assoluto, viene definito come f (w* ) ≤ f (w ) , ∀w ∈ A

6.6

e in modo analogo si definisce anche il massimo assoluto. Si definisce minimo locale (o relativo), di una funzione in un intervallo A e w * ∈ A punto di minimo locale, se esiste un intervallo U di w * nel quale f (w* ) ≤ f (w ) , ∀w ∈ A

6.7

Analogamente per un il massimo locale. In particolare si nota che i punti di massimo e minimo globali, se esistono, sono unici, mentre i punti di massimo e minimo locali possono essere più di uno. Un possibile punto di estremo viene chiamato punto stazionario, quando, per il teorema di Fermat, tale punto soddisfa la condizione ∇f ( w * ) = 0

6.8

46


dove per ∇f si intende il gradiente della funzione. Vi sono però dei punti stazionari che non sono di estremo, e vengono chiamati punti di flesso. L’esempio classico è la funzione cubica, essa possiede un punto stazionario nell’origine, ma tale punto non è ne di minimo ne di massimo. Infatti nell’intorno della derivata prima della funzione, valutata nell’origine, l’andamento è solo positivo [1]. L’espressione (6.8) può essere usata per individuare w* , ma solo se si dispone di una descrizione analitica o numerica della funzione. Un metodo alternativo, che non esige ne una descrizione analitica ne numerica della funzione da massimizzare, è il simplesso. Tale algoritmo non viene descritto in questo capitolo, ma verrà trattato compiutamente nell’appendice A. Nell’algoritmo di apprendimento sviluppato, il simplesso è uno tra gli algoritmi più adatti allo scopo. Questo è motivato dal fatto, che è difficile determinare una relazione che lega il vettore delle caratteristiche e dei pesi, con la funzione obiettivo. Non disponendo di tale funzione, non è possibile calcolare ne il gradiente ne ulteriori derivate, quindi complessi algoritmi di minimizzazione, come il line search, il gradiente coniugato e i metodi quasi-Newton, non si possono utilizzare.

6.2 Nuovo algoritmo di pruning L’algoritmo di massimizzazione proposto, determina la migliore configurazione del vettore dei pesi, in modo da massimizzare congiuntamente la sensibilità e la specificità. Per fare questo è stata definita una funzione obiettivo (6.3) ad hoc, che permette di risolvere il problema. Tale funzione serve, come è stato detto, anche a definire il nuovo criterio di selezione, per il nuovo algoritmo di pruning. L’algoritmo di selezione necessita di un ulteriore elemento per funzionare, ed è la procedura di ricerca. Tale componente nel nuovo algoritmo continua ad essere la sequential backward elimination. In questo modo risulta più agevole il confronto con il precedente lavoro, perché ad essere stato modificato è il solo criterio di selezione. L’algoritmo così definito necessita della configurazione di alcuni parametri, il primo è α, il quale esprime il bilanciamento della sensibilità rispetto alla specificità. Poiché in questa fase del lavoro, non esiste il motivo di privilegiare una variabile rispetta all’altra, α viene posto pari a 0.5. Parallelamente al parametro α, il parametro β, manipola il valore della soglia in modo da mantenere la proporzione desiderata tra la 47


sensibilità e la specificità. Pertanto tale parametro assume lo stesso significato di α, solo che viene usato in un contesto diverso. Nell’algoritmo i due parametri sono considerati uguali, e ad essi viene assegnato lo stesso valore. In questo modo la sensibilità e la specificità assumono lo stesso valore. L’altro parametro da considerare è k, il quale esprime la larghezza della campana gaussiana. Poiché la curva è stata disegnata in modo da invitare l’algoritmo di massimizzazione a raggiungere il punto di massimo, il valore da assegnare a tale parametro, non deve essere ne troppo elevato, per non definire una campana ampia e nemmeno troppo piccolo per non generare una campana stretta. Nei casi estremi l’algoritmo di massimizzazione non funziona correttamente, perché non è in grado di raggiungere il punto di massimo. Pertanto si è scelto un valore di k pari a 100, che soppesa in modo opportuno le considerazioni appena fatte.

48


7 Risultati 7.1 Definizione del training set del validation set L’analisi dell’algoritmo di addestramento e dell’algoritmo di pruning, è stata eseguita attraverso l’uso di due diversi insiemi sia per l’addestramento che per la validazione. Il primo insieme è uguale all’insieme usato per il metodo che si basa sul discriminante lineare di Fisher, che è stato descritto nel paragrafo 4.1. In questo modo è possibile confrontare i dati generati dal nuovo approccio con il precedente. Il secondo insieme di dati, è in realtà suddiviso in tre diversi training set e validation set. La procedura usata per la definizione di questi insiemi, prevede di suddividere in tre sottoinsiemi le 27 immagini a disposizione, utilizzando un criterio di ripartizione di natura casuale. Dai tre differenti elementi così ottenuti, sono stati definiti i tre diversi training set e validation set, attraverso le possibili combinazioni dei sottoinsiemi, mantenendo un rapporto di un elemento per il validation e due per il training. Tale metodo riflette la procedura leave-one-out. Gli insiemi così ottenuti, servono per un possibile confronto con altri metodi disponibili in letteratura.

7.2 Risultati dell’algoritmo di massimizzazione In questo paragrafo, vengono mostrati i grafici che illustrano il lavoro dell’algoritmo di massimizzazione impiegato nella procedura di apprendimento. Si ricorda che tale algoritmo necessita di un punto di partenza, che viene definito dal discriminante lineare di Fisher. Tali grafici mostrano mediante barre raggruppate per modello, il valore assunto dalla sensibilità e dalla specificità, con i due metodi. Con la barra di colore bianco, il valore con il vettore dei pesi determinati dal metodo di Fisher, mentre con la barra di colore nero il valore ottenuto dall’algoritmo di addestramento proposto. I risultati presentati di seguito sono stati ottenuti, dall’insieme per il confronto con il metodo precedentemente sviluppato.

49


0.93 0.925 0.92

Sensibilità

0.915 0.91 0.905 0.9 0.895 0.89 0.885 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.1 – Valori di sensibilità ottenuti con il training set

0.93 0.925 0.92

Specificità

0.915 0.91 0.905 0.9 0.895 0.89 0.885 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.2 – Valori di specificità ottenuti con il validation set

0.925 0.92 0.915 0.91

Sensibilità

0.905 0.9 0.895 0.89 0.885 0.88 0.875 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.3 – Valori di sensibilità ottenuti con il validation set

50


0.925 0.92 0.915

Specificità

0.91 0.905 0.9 0.895 0.89 0.885 0.88 0.875 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.4 – Valori di specificità ottenuti con il validation set

L’algoritmo di addestramento risulta efficiente nella selezione del vettore dei pesi, per la massimizzazione dei valori di sensibilità e specificità, in quanto i valori iniziali, barre di colore bianco, sono inferiori ai valori finali, barre di colore nero. Questo si verifica sia nel training set che nel validation set. Attraverso il confronto con i relativi valori, dalla tabella 4.1 e dalla tabella 4.2, ricavati con il metodo precedente, si nota un leggero incremento in entrambi gli insiemi. In sequito vengono illustrati i risultati ottenuti dagli insiemi di addestramento e validazione, definiti per il confronto con i metodi presenti in letteratura. In particolare viene proposto solo il primo insieme, mentre i risultati ottenuti con i rimanenti insiemi sono raccolti nell’appendice B.

51


0.93 0.925 0.92

Sensibilità

0.915 0.91 0.905 0.9 0.895 0.89 0.885 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.5 – Valori di sensibilità ottenuti con il training set

0.93 0.925 0.92

Specificità

0.915 0.91 0.905 0.9 0.895 0.89 0.885 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.6 – Valori di specificità ottenuti con il training set

0.93 0.925 0.92

Sensibilità

0.915 0.91 0.905 0.9 0.895 0.89 0.885 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.7 – Valori di sensibilità ottenuti con il validation set

52


0.93 0.925 0.92

Specificità

0.915 0.91 0.905 0.9 0.895 0.89 0.885 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7.8 – Valori di specificità ottenuti con il validation set

I risultati ottenuti con il nuovo insieme dei dati, confermano le precedenti considerazioni.

7.3 Risultati dell’algoritmo di pruning In questo paragrafo vengono presi in considerazione le curve generate dall’algoritmo di selezione delle caratteristiche. Di seguito vengono proposti i risultati per il confronto con il lavoro precedente.

1

0.9

Sensibilità

0.8

0.7

0.6

Symm 2

0.5

Asymm 2 Symm 3 Asymm 3

0.4

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 7.9 – Curve di selezione, training set

53


1 0.95 0.9

Specificità

0.85 0.8 0.75 Symm 2

0.7

Asymm 2 Symm 3 Asymm 3

0.65

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 7.10 – Curve di selezione, training set

Si noti che le curve di sensibilità e specificità sono monotone decrescenti, nel training set, pertanto l’algoritmo di pruning mostra il funzionamento voluto. Attraverso queste curve è possibile selezionare il modello ottimale, in modo semplice. Il criterio di selezione rimane lo stesso usato in precedenza, cioè il modello che permette le prestazioni più elevate, con il minimo costo computazionale, e ha la minore discrepanza tra il training e il validation set. Il modello che assume il minore errore possibile è il simmetrico a due zone. Mentre il numero di caratteristiche massime è pari a sei, in quanto oltre si nota che le curve di tutti i modelli rimangono pressoché costanti. Tale osservazione implica, che l’aggiunta di una caratteristica porta solo ridondanza di informazione. 1 0.9 0.8

Sensibilità

0.7 0.6 0.5 Symm 2

0.4

Asymm 2 Symm 3 Asymm 3

0.3

Symm 4 Asymm 4

0.2

0

5

10

15

20

25

Numero caratteristiche

figura 7.11 – Curve di selezione, validation set

54


1 0.95 0.9

Specificità

0.85 0.8 0.75 Symm 2

0.7

Asymm 2 Symm 3 Asymm 3

0.65

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 7.12 – Curve di selezione, validation set

Le curve del validation set non sono più monotone, come le curve del training set, perché non viene applicato l’algoritmo di spruning basato sul criterio di selezione. Questo procedimento viene eseguito solo nel training set, mentre nel validation set viene usato il solo programma di classificazione. Dal confronto delle curve ottenute con il training set, e quelle ottenute con il validation set, il modello che soddisfa il criterio adottato è il simmetrico a due zone, con un numero di caratteristiche pari a sei. Di seguito vengono riportati i grafici ottenuti attraverso gli insiemi per il confronto con la letteratura. In particolare si è scelto il primo insieme precedentemente, e quindi vengono riproposti i risultati dello stesso.

55


0.95 0.9 0.85

Sensibilità

0.8 0.75 0.7 0.65 Symm 2 Asymm 2

0.6

Symm 3 Asymm 3

0.55

Symm 4 Asymm 4

0.5

0

5

10

15

20

25

Numero caratteristiche

figura 7.13 – Curve di selezione, training set

1 0.95 0.9

Specificità

0.85 0.8 0.75 Symm 2

0.7

Asymm 2 Symm 3 Asymm 3

0.65

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 7.14 – Curve di selezione, training set

56


0.95 0.9 0.85 0.8

Sensibilità

0.75 0.7 0.65 0.6

Symm 2 Asymm 2

0.55

Symm 3 Asymm 3

0.5

Symm 4 Asymm 4

0.45

0

5

10

15

20

25

Numero caratteristiche

figura 7.15 – Curve di selezione, validation set

1 0.95 0.9

Specificità

0.85 0.8 0.75 Symm 2

0.7

Asymm 2 Symm 3 Asymm 3

0.65

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 7.16 – Curve di selezione, validation set

Tali risultati confermano la selezione del modello ottimo, cioè il modello simmetrico a due zone con sei caratteristiche. Di seguito viene presentata una tabella con le caratteristiche selezionate dall’algoritmo di pruning: Modello Symm 2

Caratteristiche ΣΔ

LINT

CINT

LEXT

CEXT

λ

57


7.4 Confronto con il lavoro precedente L’utilizzo dello stesso insieme di addestramento e validazione, permette il confronto tra i risultati ottenuti con gli algoritmi sviluppati in questa sede, e il lavoro fatto in precedenza. Nel precedente lavoro, si è concluso che il modello migliore è l’asimmetrico a 3 zone, mentre con i nuovi risultati prende peso il modello simmetrico a 2 zone. Le scelte effettuate per la selezione del modello, sono basate sullo stesso principio più volte espresso, ma tuttavia, non ha portato al medesimo risultato. Risultati differenti possono essere dovuti all’uso di algoritmi di addestramento diversi, in quanto su di essi si basano entrambi i lavori. Pertanto l’analisi dei dati e i conseguenti risultati sono discordanti, come è stato dimostrato precedentemente. Il precedente lavoro si basava sul discriminante lineare di Fisher, e la funzione costo da esso definita, veniva utilizzata come criterio di selezione. Tuttavia ciò generava i punti delle curve di sensibilità e specificità non monotoni decrescenti, pertanto l’analisi risultava più difficile. Mentre l’uso del nuovo programma di addestramento porta a delle curve monotone, con il risultato di una più chiara leggibilità dei dati. In ultima analisi, si vuole capire quale dei due modelli selezionati è il migliore. Per fare questo si propone la tabella 7.1, che raccoglie i valori di sensibilità e specificità per ogni modello. tabella 7.1 - Comparazione delle performance dei modelli selezionati

Asimmetrico a tre zone

Simmetrico a due zone

Training set

Validation set

Training set

Validation set

Sensibilità

0,9042

0,9049

0,9233

0,9188

Specificità

0,9027

0,9048

0,9231

0,9187

Si nota che il modello simmetrico a due zone con il nuovo metodo di addestramento, ha valori superiori sia di sensibilità che di specificità.

58


8 Conclusioni Scopo di questo lavoro è di incrementare le prestazioni di un algoritmo di estrazione automatica dell’albero vascolare da immagini retinografiche, attraverso la definizione di un algoritmo ad-hoc per la rimozione dei falsi positivi (falsi tracciati). Al fine di tracciare il maggior numero di vasi possibili, inclusi quelli scarsamente contrastati e di calibro molto ridotto, l’algoritmo di tracciamento produce un numero di falsi positivi, ovverossia di percorsi nell’immagine rilevati come vasi ma che all’analisi visiva si rivelano falsi. Nel precedente lavoro di tesi, era stato sviluppato un algoritmo di classificazione che permetteva una prima analisi del problema. Tale lavoro si fondava su un solo modello di vaso, ma andava a esaminare diversi algoritmi di classificazione. Successivamente si è ritenuto opportuno, data la varietà dei vasi, di definire nuovi modelli, in modo tale da adattare l’analisi del classificatore ai casi più diversi. Pertanto sono nati sei nuovi modelli, di complessità crescente, che hanno definito nuovi insiemi di caratteristiche. Tuttavia, il modello più complesso, non sempre offre il risultato migliore, poiché non si conosce a priori il contributo delle caratteristiche. L’aggiunta di uno o più elementi al vettore delle caratteristiche, può portare sia a una diminuzione dell’errore di classificazione, che a una ridondanza di informazione e il conseguente over-fitting dei dati del training set. Per studiare con maggiore dettaglio il problema, inizialmente è stato proposto un classificatore lineare addestrato con il discriminante di Fisher, mentre come misura dell’errore di classificazione, il valore assunto dalla sensibilità e dalla specificità. Utilizzando tale sistema si è potuto progettare un algoritmo di selezione, in modo da analizzare sia il contributo delle singole caratteristiche che raggruppate in sottoinsiemi. Tale algoritmo necessita di due elementi: il criterio di selezione, e il metodo di ricerca. Il criterio di selezione adottato, in questa prima fase del lavoro, è la funzione obiettivo di Fisher, mentre il metodo di ricerca consiste in una tecnica di selezione sub-ottima. L’algoritmo di selezione così definito ha il limite di non permettere curve monotone decrescenti di sensibilità e specificità, al variare del numero delle caratteristiche, e non permettere il bilanciamento tra i due valori. 59


L’obiettivo della seconda fase del lavoro è migliorare questi aspetti, andando a definire un nuovo algoritmo di selezione. Per fare ciò, è necessario imporre all’algoritmo di addestramento un nuovo criterio, cioè la massimizzazione congiunta della sensibilità e della specificità. Il metodo innovativo di addestramento, appena descritto, ha portato alla definizione di una nuova funzione obiettivo che è stata usata come criterio di selezione. Pertanto è stato possibile ottenere curve di sensibilità e specificità monotone decrescenti e il bilanciamento delle suddette. Attraverso entrambi i metodi è stato comunque possibile selezionare il modello ottimo, cioè quel modello che permette il minore errore di classificazione al minore costo computazionale. I risultati si sono rivelati diversi, ovvero sono stati selezionati due modelli differenti, per ogni metodo usato. Il confronto dei valori di sensibilità e specificità generati dai due modelli, ha dimostrato la maggiore efficienza del nuovo metodo proposto.

8.1 Sviluppi futuri I risultati esposti mostrano che il nuovo algoritmo di selezione basato sull’innovativo algoritmo di addestramento, risulta efficiente. D’altra parte non è ancora stato completamente analizzato in ogni suo elemento. Infatti è stato preso in minore considerazione il metodo di ricerca dei sottoinsiemi. Tale elemento, per risultare veloce e non appesantire l’algoritmo in se, definisce solo soluzioni di tipo subottime. Pertanto si può investigare in tale direzione, con altri metodi più efficienti e consolidati a disposizione in letteratura. Per quanto riguarda l’algoritmo di addestramento, risulta nuovo il criterio usato per la massimizzazione congiunta, e sebbene dia sommariamente buoni risultati, è necessario fare ulteriori test. Ad esempio provare nuovi algoritmi di ottimizzazione. Oppure agire nel tentativo di dare una plausibile forma analitica, alla funzione che lega la sensibilità e le specificità al vettore delle caratteristiche e dei pesi, in modo da permettere il calcolo del gradiente della funzione. Pertanto risulterà possibile applicare algoritmi di massimizzazione più complessi.

60


Appendici e bibliografia Appendice A: algoritmo del simplesso Il problema della ricerca di un minimo di una funzione può essere sviluppato anche a partire da una scarsa o nulla conoscenza analitica della funzione da minimizzare. Un esempio di metodologie “cieche” è il “cammino casuale”, il quale consiste nel generare casualmente un certo numero di punti, e per ognuno di essi calcolare il corrispondente valore attraverso la funzione obiettivo. Il passo successivo, consiste nello scegliere il punto attraverso il quale si è ottenuto il valore più piccolo, pertanto questo sarà un punto vicino al punto di minimo. Per confermare il punto trovato è possibile ripetere l’esperimento più volte. Lo svantaggio degli algoritmi che si basano su questo tipo di idea, è che il costo computazionale cresce tipicamente con andamento esponenziale [2]. Tra i diversi metodi sviluppati, che si basano su questo tipo di concetto, il metodo del simplesso è tra quelli che hanno ottenuto i migliori risultati. Il metodo del simplesso, da non confondere con l’analogo metodo del simplesso della programmazione lineare, permette il confronto dei valori della funzione obiettivo per la ricerca del minimo. Tale metodo si basa sul concetto geometrico di simplesso, o politolo. Il poligono è un insieme di n+1 punti, eventualmente equidistanti; dove “n” è la n dimensione nello spazio R in cui risiede il dominio della funzione obiettivo. Se per

esempio il numero di punti è pari a due (n=2), il simplesso è un triangolo, se n=3 diventa un tetraedro. Ovviamente maggiore è il numero di vertici più complessa diventa la figura geometrica, formando ad esempio anche icosaedri (n=6), ( figura 1).

figura 1 - Esempi di politopi regolari

61


L’algoritmo del metodo del simplesso si basa su due regole. La prima, permette lo spostamento della forma geometrica modificando la posizione di un particolare vertice. Il criterio di scelta di tale vertice, preliminarmente valuta il valore assunto dalla funzione obiettivo in tutti i vertici del simplesso, e infine determina il punto che assume il valore maggiore rispetto agli altri. La nuova posizione di questo particolare punto, viene determinata riflettendolo attraverso il centroide formato dai rimanenti n vertici. La seconda regola, contrae il simplesso dimezzando la lunghezza dei lati della figura geometrica. Il significato di tale regola verrà spiegato nella descrizione dei passi dell’algoritmo. L’applicazione della prima regola, permette l’avvicinamento del simplesso al valore minimo della funzione obiettivo, ma dopo un certo numero di passi, l’algoritmo entra in una condizione di oscillazione. Questo accade, perché la posizione del nuovo vertice è uguale alla posizione occupata, dal medesimo vertice, alla precedente iterazione. Ciò suggerisce che la dimensione della forma geometrica non è più tale da permettere un’accurata ricerca, e pertanto l’uso della sola prima regola non porta, dopo alcune iterazioni, ad ulteriori progressi. Il criterio prevede che quando un vertice appartiene alla simplesso corrente per più di M iterazioni, viene applicata la seconda regola sulla forma geometrica. In particolare il valore scelto per M viene 2 definito dalla formula M = 1.65n + 0.05n , ottenuta sperimentalmente.

Un esempio di come il metodo del simplesso lavora, lo si può vedere in figura 2, la quale rappresenta attraverso linee isolivello lo spazio a due dimensioni occupato dalla funzione obiettivo.

figura 2 - Principio di funzionamento del simplesso

I vertici 1, 2 e 3 appartengono al triangolo iniziale da cui viene applicato l’algoritmo. 62


Il punto 4 si ottiene applicando la prima regola, poiché il punto 1 assume il valore più alto dato dalla funzione obiettivo, successivamente, dal triangolo formato dai punti 2, 3 e 4, si genera il punto 5, e così di seguito. Sempre attraverso l’uso della prima regola, si ottengono i triangoli definiti dai punti, 3, 4 e 5, 3 ,5 e 6, e infine, 3,6 e 7. In questa fase, se si prosegue con lo stesso metodo, il punto 7 verrà proiettato nel 5, e l’algoritmo entrerà in oscillazione. La situazione permane per un numero pari a M=3,5 iterazioni, successivamente interviene una procedura che applica la seconda regola, dimezzando il triangolo 3, 6 e 7, e formando il nuovo triangolo 3, 8 e 9. A questo punto si può procedere utilizzando nuovamente la prima regola, e pertanto si ottiene il triangolo 3, 9 e 10. Il metodo del simplesso sembra essere robusto alla presenza di rumore e ad eventuali discontinuità nella funzione obiettivo [3]. Lo svantaggio è la scarso fondamento teorico matematico, e la possibilità di ottenere solo soluzioni di minimo locale [3].

63


Appendice B: risultati In questa sezione vengono presentati i rimanenti risultati non inclusi nel settimo capitolo. Risultati riguardanti l’algoritmo di addestramento:

0.925 0.92 0.915

Sensibilità

0.91

0.905 0.9 0.895 0.89 0.885

symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 3 - Valori di sensibilità ottenuti con il training set n°2

0.925 0.92 0.915

Specificità

0.91 0.905 0.9

0.895 0.89 0.885

symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 4 - Valori di specificità ottenuti con il training set n°2

64


0.92

0.91

Sensibilità

0.9

0.89

0.88

0.87

0.86

symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 5 - Valori di sensibilità ottenuti con il validation set n°2

0.92

0.91

Specificità

0.9

0.89

0.88

0.87

0.86

symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 6 - Valori di specificità ottenuti con il validation set n°2

0.93

0.925

0.92

Sensibilità

0.915

0.91

0.905

0.9

0.895

0.89 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 7 - Valori di sensibilità ottenuti con il training set n°3

65


0.925

0.92

Specificità

0.915

0.91

0.905

0.9

0.895

0.89 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 8 - Valori di specificità ottenuti con il training set n°3

0.93

0.925

0.92

Sensibilità

0.915

0.91

0.905

0.9

0.895

0.89 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 9 - Valori di sensibilità ottenuti con il validation set n°3

0.925

0.92

Specificità

0.915

0.91

0.905

0.9

0.895

0.89 symm 2

asymm 2

symm 3

asymm 3

symm 4

asymm 4

figura 10 - Valori di specificità ottenuti con il validation set n°3

66


Risultati riguardati l’algoritmo di pruning: 0.95 0.9 0.85

Sensibilità

0.8 0.75 0.7 0.65 Symm 2 Asymm 2

0.6

Symm 3 Asymm 3

0.55

Symm 4 Asymm 4

0.5

0

5

10

15

20

25

Numero caratteristiche

figura 11 – Curve di selezione, training set n°2 0.95 0.9 0.85

Specificità

0.8 0.75 0.7 Symm 2

0.65

Asymm 2 Symm 3 Asymm 3

0.6

Symm 4 Asymm 4

0.55

0

5

10

15

20

25

Numero caratteristiche

figura 12 – Curve di selezione, training set n°2

0.95 0.9 0.85

Sensibilità

0.8 0.75 0.7 0.65 Symm 2 Asymm 2

0.6

Symm 3 Asymm 3

0.55

Symm 4 Asymm 4

0.5

0

5

10

15

20

25

Numero caratteristiche

figura 13 – Curve di selezione, validation set n°2

67


0.95 0.9 0.85

Specificità

0.8 0.75 0.7 0.65 Symm 2 Asymm 2

0.6

Symm 3 Asymm 3

0.55

Symm 4 Asymm 4

0.5

0

5

10

15

20

25

Numero caratteristiche

figura 14 – Curve di selezione, validation set n°2

1

0.9

Sensibilità

0.8

0.7

0.6

Symm 2

0.5

Asymm 2 Symm 3 Asymm 3

0.4

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 15 – Curve di selezione, training set n°3 1 0.95 0.9

Specificità

0.85 0.8 0.75 Symm 2

0.7

Asymm 2 Symm 3 Asymm 3

0.65

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 16 – Curve di selezione, training set n°3

68


1 0.9 0.8

Sensibilità

0.7 0.6 0.5 Symm 2

0.4

Asymm 2 Symm 3 Asymm 3

0.3

Symm 4 Asymm 4

0.2

0

5

10

15

20

25

Numero caratteristiche

figura 17 – Curve di selezione, validation set n°3 1 0.95 0.9

Specificità

0.85 0.8 0.75 Symm 2

0.7

Asymm 2 Symm 3 Asymm 3

0.65

Symm 4 Asymm 4

0

5

10

15

20

25

Numero caratteristiche

figura 18 – Curve di selezione, validation set n°3

69


Bibliografia [1] M. Bramanti C. D. Pagani S. Salsa, Matematica calcolo infinitesimale e algebra lineare. Zanichelli. [2] C. M. Bishop, Neural networks for pattern recognition. Oxford university press, 1998. [3] R. Fletcher, Practical methods of optimization. Wiley. [4] A. Giani, E. Grisan, A. Frigo, M. De Luca, A. Ruggeri, Detecting false vessel recognitions in retinal fundus analysis. [5] G. Valli, G. Coppini, Bioimmagini. Patron editore, 2002. [6] E. Grisan, A. Pesce, A. Giani, M. Foracchia, A. Ruggeri: â&#x20AC;&#x153;A new tracking system for the robust extraction of retinal vessel structureâ&#x20AC;?. The 26th International Conference of the IEEE Engineering in Medicine and Biology Society, San Francisco (CA, USA), 1-6 September 2004. [7] F. Levi, M. Gobbi, G. Mastinu, Progetto di sistemi complessi con applicazioni nel campo della costruzione di autoveicoli. XXXIV convegno nazionale, politecnico di Milano.

70


Padova, 3 luglio 2007

Prima di ogni cosa devo ringraziare i miei genitori, mamma Carmen e papà Tarcisio, e mia sorella Tatiana che mi hanno permesso di portare a termine il mio ciclo di studi nella maniera più completa possibile. Li ringrazio anche perché se avessi dovuto fare tutto da solo, la cosa sarebbe stata molto più difficile, e me ne rendo conto. Un doveroso ringraziamento va al professore Alfredo Ruggeri per avermi permesso di lavorare nel suo gruppo di ricerca, e per avermi fatto apprezzare il vasto settore delle strutture mediche per imaging. Un particolare ringraziamento va al dott. Alfredo Giani, perché mi ha guidato per la seconda volta nell’elaborazione dei dati attraverso tecniche, che altrimenti non avrei mai visto. Vorrei anche ringraziare tutta la mia famiglia, scrivendo tutti i loro nomi, ma siete veramente tanti!! Comunque un pensiero va a tutti voi, nessuno escluso. Infine voglio ringraziare tutti i miei amici di Mejaniga e dintorni, gli amici della palestra, e tutti gli amici che ho conosciuto all’università. Un abbraccio forte va alla mia amica Anna.

71


Tesi Specialistica - Bioingegneria