1 / 38

LIMBO

LIMBO. L. scaLable InforMation BOttleneck. I. M. B. O. Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici. Introduzione.

matsu
Download Presentation

LIMBO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LIMBO L scaLable InforMation BOttleneck I M B O Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici

  2. Introduzione • Algoritmo di clustering categorico gerarchico e scalabile che costruisce un framework per quantificare le informazioni rilevanti conservate quando si effettua clustering • Usiamo la struttura di IB per definire una misura di distanza per le tuple categoriche • LIMBO può essere usato per clusterizzare sia le tuple sia i valori di attributi categorici

  3. Contenuto informativo dei cluster C1 C2 Vs. D1 D2

  4. Notazioni Dalla teoria dell’informazione: Siano T e A due variabile discrete random che possono variare rispettivamente all’interno dell’insieme T e A • È l’entropia di una varabile privata della conoscenza che l’altra variabile fornisce sulla prima. • Misura la quantità di informazione che le due variabili forniscono l’una per l’altra

  5. Limbo - Rappresentazioni • Sia A = A1 … Am il set di tutti i possibili valori degli attributi • Siad = k1+…+km la dimensione di A. A3 = {g.Cr, g.T, g.C} A2 = {a.S, a.DN, a.S, a.G} A1 = {d.S, d.C, d.H, d.K} A = {d.S, d.C, d.H, d.K, a.S, a.DN, a.S, a.G, g.Cr, g.T, g.C} d = 11

  6. Limbo - Rappresentazioni • La rappresentazione di T sarà una matrice M n×d, e l’elemento M[i][j] sarà 1 se la tupla i contiene il valore j, 0 altrimenti. Per quanto detto prima, ogni vettore che rappresenta una tupla avrà esattamente m valori 1. 3

  7. Limbo - Rappresentazioni • Si procede alla normalizzazione della matrice M p(A|t) distribuzione di probabilità condizionata dei valori dell’attributo data la tupla t p(a|t) = 1/m probabilità condizionata degli attributi nota la tupla p(t) = 1/n probabilità della tupla t

  8. Limbo - Obiettivo • Il criterio utilizzato da LIMBO per definire la bontà della fusione tra due cluster c1 e c2 è quello della information loss  I(ci , cj) = I(A ; C) – I(A ; C’) dove C e C’ indica il clustering prima e dopo la fusione di c1 e c2 • Information loss è indipendente dal clustering: dipende solo da ci e cj • Si dimostra che la distanza d(ci , cj) è data dalla seguente formula: Divergenza di Jensen-Shannon. Indica il degrado che si ottiene assumendo come distribuzione valida la seconda quando invece la prima è giusta e viceversa

  9. Limbo - DCF • LIMBO non utilizza l’intero dataset per calcolare i clusters ma alcune statistiche rilevanti sulle tuple • Per fare questo summary del dataset si usa una struttura particolare, Distributional Cluster Features (DCF) DCF relativo alla tupla t DCF(t) = ( p(t), p(A|t) ) DCF relativo al cluster c DCF(c) = ( p(c), p(A|c) ) • Per cluster più grandi, il DCF è calcolato ricorsivamente utilizzando il meccanismo della fusione: • sia c* il cluster che otteniamo fondendo due cluster ci e cj

  10. Limbo - L'algoritmo L’algoritmo LIMBO consta di tre fasi: • Costruzione DCF tree • Clusterizzazione • Assegnazione tuple ai cluster

  11. Limbo - L'albero DCF • Ogni nodo foglia mantiene un clustering delle tuple • Ogni nodo intermedio mantiene un DCF che è dato dalla fuzione di DCFs dei suoi figli • Il LIMBO costruisce alberi space bounded dove l’upper bound è definito dal parametro S • Il parametro B descrive il branching factor Root Node Non leaf node Leaf node Leaf node

  12. FASE 1 - inserimento nel DCF tree -

  13. Limbo - Fase 1 • Le tuple del dataset vengono processate una per volta. • La tupla t viene convertita in DCF(t ). • Si parte dalla radice fino ad un nodo foglia: • Quando ci si trova in un nodo intermedio si trova il DCF(c) più vicino a DCF(t) e si segue il cammino verso il suo figlio. • Quando ci si trova in un nodo foglia, si trova il DCF(c) più vicino a DCF(t). A questo punto si decide se fondere t nel cluster c in base alla distanza d(c,t), che misura l’information loss dovuta alla fusione. • Se è minore del valore di soglia  allora si procede alla fusione. • Altrimenti, t formerà un cluster a parte. In questo caso ci si trova davanti a due possibilità: • Se c’è ancora spazio nel nodo, allora viene inserito DCF(t ). • Altrimenti, si “splitta” il nodo scegliendo come semi per i due nodi i due DCF che hanno distanza massima nel nodo. In questo caso vengono aggiornati i DCF del nodo padre inserendo un nuovo DCF per descrivere il nuovo nodo inserito; anche per i nodi intermedi può avvenire lo split se la nuova informazione non può essere contenuta dal nodo.

  14. Limbo - Complessità fase 1 La complessità della fase 1 è: fase split O ( n h d B + d U B2 ) fase inserimento n = n° totale tuple h = altezza dell’albero B = branching factor U = n° nodi non-foglia d = n° totale di valori di attributo

  15. FASE 2 - clustering -

  16. DCFc1 DCFc10 DCFt2 DCFc2 DCFc3 DCFc4 DCFc7 DCFc8 DCFc11 DCFc5 DCFc6 DCFc9 DCFc12 Limbo - Fase 2 DCFc1 DCFc2 DCFc3 DCFc4 DCFc5 DCFc6 DCFc1 DCFc2 DCFc3 • Applica un algoritmo di clustering qualsiasi per produrre k cluster • Calcola i k DCF(c) c3 c4 c1 c2

  17. Limbo - Complessità fase 2 La complessità della fase 2 è (in caso si utilizzi l’algoritmo AIB): O ( L2 d2 logL ) L = numero totale delle entrate DCF delle foglie dell’albero

  18. FASE 3 associazione delle tuple con i cluster

  19. Limbo - Fase 3 c1 D(t1, c1) TUPLA t1 D(t1, c2) c2 . . . D(t1, ck) . . TUPLA tn ck

  20. Limbo - Fase 3 c1 TUPLA t1 D(t1, c2) c2 . . TUPLA tn ck

  21. Limbo - Complessità fase 3 La complessità della fase 3 è: O ( k d n ) k = numero totale dei cluster d = numero totale dei valori dell’attributo n = numero totale tuple

  22. LimboΦ • Versione accuracy-limited non spazio limitata • controlla la perdita di informazione • si usa una soglia sulla distanza d(c,t) per decidere se fondere o meno la tupla t con il cluster c

  23. Limbo - Distanza Intra-attributo A A’ A’’ d.S d.C d.H g.Cr a.S a.G g.C d.K g.T a.DN p(a|v) con aЄA’’ e vЄA’

  24. Misure di qualità per il clustering • INFORMATION LOSS (IL): è la % delle informazioni mutuali iniziali perse dopo aver prodotto un numero desiderato di cluster • CATEGORY UTILITY (CU): è la differenza fra un numero previsto di valori di attributo che possono essere correttamente indovinati dati un cluster ed il numero di corrette previsioni senza tale conoscenza

  25. Misure di qualità per il clustering • MIN CLASSIFICATION ERROR (Emin): Date T tuple classificate in k classi G={g1,…,gk} e sia C una possibile classificazione delle tuple T in k cluster {c1,..,ck}: misura il numero di tuple appartenenti alla classe g_i che ricevono un’etichetta sbagliata, per i={1,…,k}.

  26. Misure di qualità per il clustering • PRECISION (P) e RECALL (R): Pi misura l’ACCURATEZZA con la quale ogni cluster ci riproduce la classe gi Ri misura la COMPLETEZZA con la quale ogni cluster ci riproduce la classe gi

  27. Trade off tra Qualità ed Efficienza LIMBOS LIMBOØ Fase 2: O ( L2 d2 logL )

  28. Trade off tra Qualità ed Efficienza LIMBOS LIMBOØ Fase 1: O ( nhdB + dUB2 )

  29. Trade off tra Qualità ed Efficienza LIMBOS LIMBOØ Fase 3: O ( kdn )

  30. Misure qualitative LIMBOØ LIMBOS

  31. Valutazioni comparative RISULTATI DEL CLUSTERING SU TUPLE:

  32. Valutazioni comparative RISULTATI DEL CLUSTERING SU ATTRIBUTI:

  33. Valutazione della scalabilità a causa del # ridotto di split e della ridotta dimensione dell’albero

  34. N° di attributi Valutazione della scalabilità N° valori di attributo

  35. Conclusioni • LIMBO applica il concetto di Mutua Informazione al clustering • Rispetto agli altri algoritmi di “Information Theoretic Clustering” ha vantaggi in termini di: • Scalabilità • Qualità di clustering • Stabilità dei parametri • E’ l’unico algoritmo scalabile categorico che è gerarchico

  36. DCFc1 DCFc2 DCFc3 DCFc4 DCFc5 DCFc6 DCFc1 DCFc2 DCFc3 L’algoritmo di clustering utilizzato nella Fase 2 deve scoprire i K rappresentanti ben separati DCFc1 DCFc10 DCFt2 DCFc2 DCFc3 DCFc4 DCFc7 DCFc8 DCFc11 DCFc5 DCFc6 DCFc9 DCFc12 c3 c4 c1 c2 Considerazioni • La qualità della clusterizzazione realizzata da LIMBO dipende fortemente da: • Fase 3: assegnazione le tuple ai cluster rappresentativi nasconde molta della perdita di informazione incorsa nelle fasi precedenti.

  37. Considerazioni • Il paper indica i valori di Φ compresi tra 1.0 e 1.5 come valori per cui si ha: • un albero DCF con una dimensione accettabile • un tempo di esecuzione basso nelle fasi 1 e 2 La qualità del Custering degrada notevolmente

  38. Considerazioni • Problema intuitivo: sensibilità di LIMBO all’ordinamento dei dati in ingresso nella costruzione del DCF Tree Non particolarmente sensibile all’ordinamento delle tuple 100 ESECUZIONI ALGORITMO

More Related