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 cura di Silvia Canale contatto

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

3 3 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.

4 4 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

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

6 6 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

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

8 8 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

9 9 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 }

10 10 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 }

11 11 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 }

12 12 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 }

13 13 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

14 14 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

15 15 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

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

17 17 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

18 18 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 }

19 19 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

20 20 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

21 21 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

22 22 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 }

23 23 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

24 24 esiste una disequazione a 2 partizioni (S,T) violata da x 2 ? NO x 2 P x 2 {0,1} m ? APPLICAZIONE ALGORITMO NO x 2 S : applica il metodo del branch and bound per risolvere il problema di PL01 STOP

25 25 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

26 26 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

27 27 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

28 28 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.

29 29 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

30 30 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

31 31 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à?

32 32 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

33 33 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

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

35 35 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

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

37 37 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 =

38 38 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 =

39 39 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

40 40 K-MEANS critero SOMMA DEI QUADRATI: problema k-means Teorema di Huyhen La somma delle distanze al quadrato tra i punti di un cluster ed il centro è pari al rapporto tra la somma delle distanze al quadrato tra i punti del cluster ed il numero di punti Formulazione del problema del K-means

41 41 K-MEANS – ALGORITMO EURISTICO INPUT il numero k di cluster 1.seleziona in maniera del tutto casuale k punti 2.assegna ogni punto al cluster il cui centro sia più vicino 3.calcola nuovamente i centri dei cluster 4.Se non è verificato il criterio di convergenza, torna al passo 2 Criterio di convergenza non ci sia alcun assegnamento nuovo possibile di alcun punto da un cluster ad un altro (passo 2 non cambia nulla) la funzione di errore quadratico cessi di ridursi significativamente dopo un certo numero di iterazioni (passo 3 non cambia nulla)

42 42 Passo I seleziona in maniera del tutto casuale k punti allinterno dellinsieme di dati K=3 Passo II assegna ogni punto al cluster il cui centro sia più vicino al punto in esame K-MEANS – ALGORITMO EURISTICO

43 43 Passo III calcola nuovamente i centri dei cluster secondo la configurazione attuale K=3 Passo IV assegna ogni punto al cluster il cui centro sia più vicino al punto in esame K-MEANS – ALGORITMO EURISTICO

44 44 Passo V calcola nuovamente i centri dei cluster secondo la configurazione attuale K=3 Passo VI assegna ogni punto al cluster il cui centro sia più vicino al punto in esame K-MEANS – ALGORITMO EURISTICO

45 45 Passo VII calcola nuovamente i centri dei cluster secondo la configurazione attuale K=3 Passo VIII assegna ogni punto al cluster il cui centro sia più vicino al punto in esame K-MEANS – ALGORITMO EURISTICO

46 46 Passo IX calcola nuovamente i centri dei cluster secondo la configurazione attuale K=3 Passo X assegna ogni punto al cluster il cui centro sia più vicino al punto in esame K-MEANS – ALGORITMO EURISTICO

47 47 Passo XI calcola nuovamente i centri dei cluster secondo la configurazione attuale K=3 Passo XII assegna ogni punto al cluster il cui centro sia più vicino al punto in esame Nessuna nuova assegnazione possibile STOP K-MEANS – ALGORITMO EURISTICO

48 48 MATERIALE DEL SEMINARIO Le slide di questo seminario sono reperibili nella pagina del corso di Algoritmi di Classificazione e Reti Neurali nella pagina del corso di Ottimizzazione Combinatoria, nella sezione clustering dei dati (prime 4 lezioni)


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