La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte II Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica.

Presentazioni simili


Presentazione sul tema: "Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte II Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica."— Transcript della presentazione:

1 Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte II Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica Corso di Laurea in Ingegneria Gestionale A.A a cura di Silvia Canale contatto

2 2 Problema della partizione in clique algoritmo dei piani di taglio esempio algoritmo dei piani di taglio algoritmo euristico Clustering partizionale – Criteri di ottimalità ARGOMENTI DEL SEMINARIO

3 3 FORMULAZIONE DI UN PROBLEMA DI PL01 Sia S linsieme delle soluzioni di un problema di Programmazione Lineare 0–1 Esempio CPP – Dato un grafo G(N,A) S è linsieme di tutte le possibili partizioni in clique di G(V,A)

4 4 FORMULAZIONE DI UN PROBLEMA DI PL01 Indichiamo con x* la soluzione ottima del problema di PL01 In un problema di PL01 S è un insieme finito La soluzione ottima x* esiste sempre e può essere individuato con una enumerazione completa di S Lenumerazione completa di tutte le soluzioni in S molto richiede tempi molto lunghi PROCEDURA DI ENUMERAZIONE COMPLETA (ESEMPIO CPP) 1.Genera tutte le partizioni in clique del grafo G(N,A) 2.Per ogni partizione in clique calcola il costo 3.Scegli la partizione in clique che produce la soluzione di costo minimo

5 5 SOLUZIONE DI UN PROBLEMA DI PL01 sofisticatiefficienti In generale, la soluzione di un problema di PL01 richiede algoritmi sofisticati e molto efficienti. buona Quanto è buona la soluzione ammissibile trovata? Gli algoritmi di soluzione si basano generalmente su: certificati di qualità della soluzione metodologie generali di soluzione, sia di tipo esatto che di tipo euristico Gli algoritmi di soluzione possono essere: di tipo esatto: determinano sempre la soluzione ottima approssimati: determinano sempre una soluzione ammissibile non implica Formulare non implica risolvere un problema di PL0.

6 6 SEMISPAZI E POLIEDRI P P = { x R m : Ax b } Siano A R p x m una matrice reale di p righe e m colonne b R p un vettore reale di p componenti Linsieme dei vettori x R m che soddisfano le p disequazioni x b q del sistema POLIEDROP è definito POLIEDRO e viene indicato con la lettera P Ax b P per q = 1, …, p x P x b q per q = 1, …, p

7 7 SEMISPAZI E FORMULAZIONI P P = { x R 2 : } Geometricamente, ogni disequazione del sistema Ax b individua un semispazio Esempio – m = 2 Consideriamo la retta P Quindi un poliedro P è intersezione di un numero finito q di semispazi.P P P = { x R p : Ax b } x1x1 x2x2

8 8 FORMULAZIONE DI UN PROBLEMA DI PL01 Sia S linsieme delle soluzioni di un problema di Programmazione Lineare 0–1. P {0,1} m = S formulazione Il poliedro P è una formulazione del problema di Programmazione Lineare 0–1 se e solo se contiene tutti i vettori di S : S P non contiene alcun vettore di S ={ 0,1} m \ S : P S = infinite Ci sono infinite formulazioni dello stesso problema di PL01. Per ognuna vale lovvia proprietà: min { c T x: x S } = min { c T x: x P {0,1} m } = c T x* x1x1 x2x2P

9 9 FORMULAZIONI E LOWER BOUND Per ogni formulazione P vale inoltre la disuguaglianza Il valore LB(P) = min { c T x: x P } viene definito lower bound del problema di PL01. min { c T x: x P {0,1} m } min { c T x: x P } Per ogni formulazione di un problema di PL01 con insieme delle soluzioni vale la proprietà LB(P) c T x* Il lower bound è il valore ottimo della soluzione di un problema di PL che viene definito rilassamento lineare min { c T x: x P }

10 10 FORMULAZIONE OTTIMA Esiste una formulazione P* migliore di tutte le altre? P* = conv ( S ) Per il problema della partizione in clique dei nodi di un grafo, non conosciamo tutte le disequazioni che definiscono il poliedro P* Argomento trattato nel corso di Ottimizzazione Combinatoria (III anno) x1x1 x2x2P* conosciamo alcune famiglie di disequazioni che definiscono P* SI Inoltre…. valida Una disequazione a T x b si definisce valida per un poliedro P se e solo se è soddisfatta da tutti i punti in P conosciamo famiglie di disequazioni valide per P* P P { x R p : a T x b }

11 11 DISEQUAZIONI TRIANGOLO Consideriamo tre nodi i, j, k N di G(N,A) disequazione triangolo Si definisce disequazione triangolo relativa ai nodi i, j, k Una disequazione triangolo rappresenta il vincolo logico:

12 12 (a) NO (b) (c)(e)(d)(f)(h)(g)

13 13 FORMULAZIONE DEL PROBLEMA CPP Consideriamo il poliedro definito dalle disequazioni triangolo relative a tutte le terne di nodi G(N,A) È facile verificare che P è una formulazione del problema CPP P {0,1} m = S

14 14 (a) (b) (c)(e)(d)(f)(h)(g) NO

15 15 FORMULAZIONE DEL PROBLEMA CPP Le disequazioni triangolo sono tante. 3 disequazioni per ogni terna ordinata di nodi Consideriamo il rilassamento lineare del problema x {0,1} m non intere Ora sono ammissibili soluzioni non intere S P ?

16 16 DISEQUAZIONI A 2 PARTIZIONI Possiamo trovare disequazioni migliori delle disequazioni triangolo? Siano S,T N due sottoinsiemi disgiunti e non vuoti di N. 2 partizioni La disequazione a 2 partizioni (S,T) associata ai sottoinsiemi S e T è S T partizioni valida Una disequazione a 2 partizioni (S,T) associata ai sottoinsiemi S e T definisce è valida per il poliedro P*. Definisce una faccia di P* se e solo se

17 17 DISEQUAZIONI A 2 PARTIZIONI tutte2 partizioni Sia P il poliedro costituito da tutte le disequazioni a 2 partizioni (S,T) con |S| |T| S T Osservazione2 partizioni Osservazione Le disequazioni triangolo sono disequazione a 2 partizioni (S,T) con |S|= 1 e |T| = 2 P Esempio Esempio Consideriamo il grafo G(N,A ) e la soluzione soddisfa tutte le 12 disequazioni triangolo non soddisfa la disequazione a 2 part. S = { 1 } e T = { 2, 3, 4 } P

18 18 DISEQUAZIONI A 2 PARTIZIONI Quindi… 2 partizioni Data una soluzione x appartenente a P è possibile determinare S e T tali che la disequazione a 2 partizioni (S,T) sia violata da x ? P* P P P* P P PROBLEMA DI SEPARAZIONE delle disequazioni a 2 partizioni (S,T) x S T come individuare S e T tale che

19 19 EURISTICA DI SEPARAZIONE Sia x una soluzione appartenente a P. Vogliamo determinare, se esiste, una disequazione a 2 partizioni (S,T) con |S|=1 Per ogni i N poni S = { i } e determina linsieme W = { j N \{i} : 0 < x ij < 1 } scegli un ordinamento nellinsieme W: W = { j 1, …, j l } poni T = { j 1 } per ogni k = 2, …, l poni T = T { j k } se x j k j k = 0 per ogni j k T se |T|>1 e x( (S,T))>1, la disequazione a 2 partizioni (S,T) è violata ALGORITMO EURISTICO complessità O(n 3 ) La soluzione dipende dallordinamento!

20 20 EURISTICA DI SEPARAZIONE ESEMPIO Consideriamo la soluzione x in figura e applichiamo lalgoritmo euristico di separazione S T Sia i = 1 e poniamo S = { 1 } Definiamo W = { 2, 3, 4 } e scegliamo come ordinamento dato dalla permutazione naturale Poniamo T = { 2 } e verifichiamo: T = T { 3 } se x 32 = 0 Iterazione 1 T = { 2, 3 } T = T { 4 } se x 43 = 0 e x 42 = 0 T = { 2, 3, 4 } x(S,T)= 3 / 2 >1

21 21 EURISTICA DI SEPARAZIONE S T Sia i = 2 e poniamo S = { 2 } Definiamo W = { 1 } Poniamo T = { 1 } Iterazione 2 |T| = 1 non è possibile determinare una disequazione violata Per simmetria, è facile verificare che le iterazione 3 e 4 danno lo stesso risultato delliterazione 2. Lunica disequazione violata da x trovata dallalgoritmo è

22 22 FORMULAZIONE OTTIMA Per il problema della partizione in clique dei nodi di un grafo, non conosciamo tutte le disequazioni che definiscono il poliedro P* conosciamo alcune famiglie di disequazioni che definiscono P* conosciamo famiglie di disequazioni valide per P* In particolare, disequazioni triangolo le disequazioni triangolo relative ai nodi i, j, k 2 partizioni le disequazioni a 2 partizioni (S,T) associate ai sottoinsiemi S e T P P

23 23 ALGORITMO DEI PIANI DI TAGLIO Definisci il poliedro P 0 P definito da un sottoinsieme di disequazioni triangolo Poni h = 0 risolvi il problema di PL sia x h la soluzione ottima del problema di PL esiste una disequazione triangolo violata da x h ? P* P ALGORITMO DI SOLUZIONE P x0x0 P0P0 P0P0 P1P1 SI x h P : aggiungi la disequazione a P h e definisci il nuovo poliedro P h+1 P*

24 24 esiste una disequazione triangolo violata da x h ? ALGORITMO DI SOLUZIONE NO x h P ALGORITMO DEI PIANI DI TAGLIO x h {0,1} m ? P P P* P P0P0 x0x0 2 partizioni NO x h S : esistono due insiemi S e T tali che la disequazione a 2 partizioni (S,T) sia violata da x h ? STOP SI x h P : aggiungi la disequazione a P h e definisci il nuovo poliedro P h+1 SI x h S : x h è la soluzione ottima x0x0 P0P0

25 25 2 partizioni esistono due insiemi S e T tali che la disequazione a 2 partizioni (S,T) sia violata da x h ? ALGORITMO DI SOLUZIONE NO x h P ALGORITMO DEI PIANI DI TAGLIO x h {0,1} m ? P P0P0 P* P P0P0 x0x0 NO x h S : applica il metodo del branch and bound per risolvere il problema di PL01 P x0x0 STOP SI x h S : x h è la soluzione ottima P STOP VERO se lalgoritmo di separazione è esatto

26 26 ESEMPIO ESEMPIO Sia X = { v 1, v 2, v 3, v 4, v 5, v 6, v 7, v 8 }. Definiamo il grafo G(N,A) associato allinsieme X, dove N = { 1, 2, 3, 4, 5, 6 } e A = { ij | 1 i j 6 } D = Sia D la matrice delle distanze Risolviamo il problema di partizione in clique con vincolo di dimensione con s = 2.

27 27 APPLICAZIONE ALGORITMO Definiamo il poliedro P 0 P definito da un sottoinsieme di disequazioni triangolo e h = 0 x12 + x13 - x23 <= 1 x12 - x13 + x23 <= 1 - x12 + x13 + x23 <= 1 x12 + x14 - x24 <= 1 x12 - x14 + x24 <= 1 - x12 + x14 + x24 <= 1 x12 + x15 - x25 <= 1 x12 - x15 + x25 <= 1 - x12 + x15 + x25 <= 1 x12 + x16 - x26 <= 1 x12 - x16 + x26 <= 1 - x12 + x16 + x26 <= 1 x13 + x14 - x34 <= 1 x13 - x14 + x34 <= 1 - x13 + x14 + x34 <= 1 x13 + x15 - x35 <= 1 x13 - x15 + x35 <= 1 - x13 + x15 + x35 <= 1 x13 + x16 - x36 <= 1 x13 - x16 + x36 <= 1 - x13 + x16 + x36 <= 1 P 0 = { x [0,1] 15 : } { x [0,1] 15 : } x12 + x13 + x14 + x15 + x16 >= 1 x12 + x23 + x24 + x25 + x26 >= 1 x13 + x23 + x34 + x35 + x36 >= 1 x14 + x24 + x34 + x45 + x46 >= 1 x15 + x25 + x35 + x45 + x56 >= 1 x16 + x26 + x36 + x46 + x56 >= 1

28 28 risolviamo il problema di PL sia x 0 la soluzione ottima del problema di PL di costo APPLICAZIONE ALGORITMO

29 29 esiste una disequazione triangolo violata da x 0 ? SI x 0 P : aggiungi la disequazione a P 0 e definisci il nuovo poliedro per enumerazione o ispezione visiva x23 + x25 + x35 <= 1 - x34 + x35 + x45 <= 1 P 1 = P 0 { x [0,1] 15 : } - x34 + x35 + x45 = 2 > 1 - x23 + x25 + x35 = 2 > 1 APPLICAZIONE ALGORITMO

30 30 risolviamo il problema di PL sia x 1 la soluzione ottima del problema di PL di costo 6.25 APPLICAZIONE ALGORITMO

31 31 esiste una disequazione triangolo violata da x 1 ? NO x 1 P x 1 {0,1} m ? 2 partizioni NO x 1 S : esistono due insiemi S e T tali che la disequazione a 2 partizioni (S,T) sia violata da x 1 ? applico leuristica APPLICAZIONE ALGORITMO

32 32 esiste una disequazione a 2 partizioni violata da x 1 ? APPLICAZIONE ALGORITMO Sia i = 1 e poniamo S = { 1 } Definiamo W = { 4, 6 } Poniamo T = { 4 } e verifichiamo: T = T { 6 } se x 46 = 0 Iterazione 1 T = { 4, 6 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 1 }

33 33 APPLICAZIONE ALGORITMO Sia i = 2 e poniamo S = { 2 } Definiamo W = { 5, 6 } Poniamo T = { 5 } e verifichiamo: T = T { 6 } se x 56 = 0 Iterazione 2 T = { 5, 6 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 2 }

34 34 APPLICAZIONE ALGORITMO Sia i = 3 e poniamo S = { 3 } Definiamo W = { 5, 6 } Poniamo T = { 5 } e verifichiamo: T = T { 6 } se x 56 = 0 Iterazione 3 T = { 5, 6 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 3 }

35 35 APPLICAZIONE ALGORITMO Sia i = 4 e poniamo S = { 4 } Definiamo W = { 1, 5 } Poniamo T = { 1 } e verifichiamo: T = T { 5 } se x 15 = 0 Iterazione 4 T = { 1, 5 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 4 }

36 36 APPLICAZIONE ALGORITMO Sia i = 5 e poniamo S = { 5 } Definiamo W = { 2, 3, 4 } Poniamo T = { 2 } e verifichiamo: T = T { 3 } se x 23 = 0 Iterazione 5 T = { 2, 3 } T = T { 4 } se x 43 = 0 e x 42 = 0 T = { 2, 3, 4 } x(S,T)= 3 / 2 >1 S T

37 37 APPLICAZIONE ALGORITMO Sia i = 6 e poniamo S = { 6 } Definiamo W = { 1, 2, 3 } Poniamo T = { 1 } e verifichiamo: T = T { 2 } se x 12 = 0 Iterazione 6 T = { 1, 2 } T = T { 3 } se x 13 = 0 e x 23 = 0 T = { 1, 2, 3 } x(S,T)= 3 / 2 >1 S T

38 38 esiste una disequazione a 2 partizioni violata da x 1 ? APPLICAZIONE ALGORITMO SI x 1 P : aggiungi le disequazioni a P 1 e definisci il nuovo poliedro P 2 x25 + x35 + x45 - x23 - x24 - x34 <= 1 x16 + x26 + x36 - x12 - x13 - x23 <= 1 P 2 = P 1 { x [0,1] 15 : } x25 + x35 + x45 - x23 - x24 - x34 <= 1 x16 + x26 + x36 - x12 - x13 - x23 <= 1

39 39 risolviamo il problema di PL sia x 2 la soluzione ottima del problema di PL di costo APPLICAZIONE ALGORITMO

40 40 esiste una disequazione triangolo violata da x 2 ? NO x 2 P x 2 {0,1} m ? 2 partizioni NO x 2 S : esistono due insiemi S e T tali che la disequazione a 2 partizioni (S,T) sia violata da x 1 ? applico leuristica APPLICAZIONE ALGORITMO

41 41 esiste una disequazione a 2 partizioni violata da x 2 ? APPLICAZIONE ALGORITMO Sia i = 1 e poniamo S = { 1 } Definiamo W = { 4, 6 } Poniamo T = { 4 } e verifichiamo: T = T { 6 } se x 46 = 0 Iterazione 1 T = { 4, 6 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 1 }

42 42 APPLICAZIONE ALGORITMO Sia i = 2 e poniamo S = { 2 } Definiamo W = { 3, 5, 6 } Poniamo T = { 3 } e verifichiamo: T = T { 5 } se x 35 = 0 Iterazione 2 NO |T|= 1 Nessuna disequazione a 2 partizioni trovata con S = { 2 } T = T { 6 } se x 36 = 0 NO

43 43 APPLICAZIONE ALGORITMO Sia i = 3 e poniamo S = { 3 } Definiamo W = { 2, 4, 5, 6 } Poniamo T = { 2 } e verifichiamo: T = T { 4 } se x 24 = 0 Iterazione 3 T = { 2, 4 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 3 } T = T { 5 } se x 25 = 0 e x 45 = 0 NO T = T { 6 } se x 26 = 0 e x 46 = 0 NO

44 44 APPLICAZIONE ALGORITMO Sia i = 4 e poniamo S = { 4 } Definiamo W = { 1, 3, 5 } Poniamo T = { 1 } e verifichiamo: T = T { 3 } se x 13 = 0 Iterazione 4 T = { 1, 3 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 4 } T = T { 5 } se x 15 = 0 e x 35 = 0 NO

45 45 APPLICAZIONE ALGORITMO Sia i = 5 e poniamo S = { 5 } Definiamo W = { 2, 3, 4 } Poniamo T = { 2 } e verifichiamo: T = T { 3 } se x 23 = 0 Iterazione 5 NO x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 5 } T = T { 4 } se x 24 = 0 T = { 2, 4 }

46 46 APPLICAZIONE ALGORITMO Sia i = 6 e poniamo S = { 6 } Definiamo W = { 1, 2, 3 } Poniamo T = { 1 } e verifichiamo: T = T { 2 } se x 12 = 0 Iterazione 6 T = { 1, 2 } x(S,T)= 1 1 Nessuna disequazione a 2 partizioni trovata con S = { 6 } T = T { 3 } se x 13 = 0 e x 23 = 0NO

47 47 esiste una disequazione a 2 partizioni (S,T) violata da x 2 ? NO non possiamo dire che x 2 P e andiamo avanti x 2 {0,1} m ? APPLICAZIONE ALGORITMO NO x 2 S : applica il metodo del branch and bound per risolvere il problema di PL01

48 48 applichiamo il metodo del branch and bound per risolvere il problema di PL01 e ricaviamo la soluzione x 3 di costo 10.7 APPLICAZIONE ALGORITMO STOP la soluzione x 3 è una soluzione 0-1 la soluzione x 3 rispetta le disequazioni triangolo x 3 P la soluzione x 3 è la soluzione ottima del problema

49 49 Il costo della soluzione ottima è d T x 3 =10.7 CONSIDERAZIONI LB(P h ) = min { d T x: x P h } Per ogni poliedro P h indichiamo Abbiamo visto che LB(P 0 ) < LB(P 1 ) < LB(P 2 ) < d T x < 6.25 < < 10.7 lower bound Più vincoli violati aggiungiamo e maggiore è il valore del lower bound E se P 2 {0,1} m avesse avuto dimensioni troppo grandi? upper bound Algoritmo euristico di soluzione per determinare un upper bound

50 50 1.Poni U := N, i := 1 2.Trova i nodi u e v più lontani in U 3.Ordina le distanze dei nodi in U\{u} da u Sia O u il vettore dei nodi ordinati 4.Forma un cluster C i con i primi s-1 elementi in O u 5.U = U \ C i 6.Ordina le distanze dei nodi in U \{v} da v Sia O v il vettore dei nodi ordinati 7.Forma un cluster C i+1 con i primi s-1 elementi in O v 8.U = U \ C i+1 9.i = i SE |U| 2s ALLORA torna al passo 2. ALTRIMENTI SE s |U| < 2s ALLORA C i = U ALTRIMENTI assegna ogni nodo in U al cluster cui appartiene il nodo più vicino ALGORITMO EURISTICO

51 51 ESEMPIO ALGORITMO EURISTICO ESEMPIO Consideriamo nuovamente il grafo G(N,A) associato allinsieme X = { v 1, v 2, v 3, v 4, v 5, v 6, v 7, v 8 }, dove N = { 1, 2, 3, 4, 5, 6 } e A = { ij | 1 i j 6 } D = Sia D la matrice delle distanze Applichiamo lalgoritmo euristico di soluzione del problema di partizione in clique con vincolo di dimensione con s = 2.

52 52 1.Poniamo U := { 1, 2, 3, 4, 5, 6 }, i := 1 2.Determiniamo i nodi più lontani in U e poniamo u := 1 e v := 2 3.Ordiniamo le distanze dei nodi in U\{1} da 1 e poniamo O 1 = { 6, 5, 4, 3, 2 } 4.Formiamo un cluster C 1 con i primi s-1 = 1 elementi in O 1 C 1 := { 1, 6 } D = ESEMPIO ALGORITMO EURISTICO

53 53 5.U = { 2, 3, 4, 5 } 6.Ordiniamo le distanze dei nodi in U\{2} da 2 e poniamo O 2 = { 5, 4, 3 } 7.Formiamo un cluster C 2 con il primo elemento in O 2 C 2 = { 2, 5 } 8.U = { 3, 4 } 9.i = |U| < 4 C 3 = { 3, 4 } C2C2 C1C1 C3C3 La soluzione euristica è P = { C 1, C 2, C 3 } Il valore della soluzione è c(P) = = 11 ESEMPIO ALGORITMO EURISTICO

54 54 PROBLEMA DI PARTIZIONE DI CLIQUE partizione in clique Risolvere il problema di partizione in clique dei nodi di un grafo significa determinare la soluzione del seguente problema dove linsieme delle soluzioni è somma delle distanze tra nodi appartenenti allo stesso cluster criterio di ottimalità È lunico criterio di ottimalità?

55 55 I criteri di ottimalità si dividono in due classi: criteri di separazione (da massimizzare) criteri di omogeneità (da minimizzare) CRITERI DI OTTIMALITÀ criteri di separazione I criteri di separazione si basano sullottimizzazione delle relazioni (similarità e dissimilarità) tra punti in cluster diversi critero SPLIT: minima distanza tra cluster criteri di ottimalità I criteri di ottimalità sono funzioni che associano un valore numerico ad un cluster

56 56 CRITERI DI SEPARAZIONE Assegniamo ad ogni cluster V N il minimo dei pesi degli archi in (V) Assegniamo ad ogni arco ij di A il peso Assegniamo ad ogni partizione P(G)= { V 1, V 2, …, V k } del grafo G(N,A) la somma dei costi degli elementi della partizione c(P(G)) = = 6

57 57 critero CUT: somma delle distanze tra cluster CRITERI DI SEPARAZIONE critero CUT normalizzato:

58 58 CRITERI DI OMOGENEITÀ criteri di omogeneità I criteri di omogeneità si basano sullottimizzazione delle relazioni (similarità e dissimilarità) tra punti nello stesso cluster critero DIAMETRO: massima distanza nel cluster critero RAGGIO: minima tra le distanze massime nel cluster

59 59 critero STELLA: minima somma delle distanze nel cluster critero CLIQUE: somma delle distanze nel cluster CRITERI DI OMOGENEITÀ D =

60 60 CENTRO DI UN CLUSTER criteri di omogeneitàcentri I criteri di omogeneità basati sui centri si riferiscono sullottimizzazione delle relazioni (similarità e dissimilarità) tra i punti di un cluster ed il centro del cluster Si definisce centro di un cluster la media aritmetica dei punti del cluster X =

61 61 CRITERI DI OMOGENEITÀ critero SOMMA DEI QUADRATI: somma delle distanze euclidee al quadrato tra i punti di cluster ed il centro critero VARIANZA: somma dei quadrati normalizzata X =

62 62 PROBLEMI DI CLUSTERING PARTIZIONALE In base al criterio di ottimalità, abbiamo diversi problemi di clustering partizionale critero CLIQUE: problema di partizione in clique CLIQUE PARTITIONING PROBLEM critero STELLA: problema p-median p-MEDIAN PROBLEM critero SOMMA DEI QUADRATI: problema k-means k-MEANS PROBLEM

63 63 MATERIALE DEL SEMINARIO Le slide di questo seminario sono reperibili al seguente link:


Scaricare ppt "Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte II Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica."

Presentazioni simili


Annunci Google