Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci,...

38
Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici

Transcript of Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci,...

Page 1: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella

Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici

Page 2: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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

Algoritmo di clustering categorico gerarchico e scalabile che costruisce un framework per quantificare le informazioni rilevanti conservate quando si effettua clustering

Page 3: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

Director Actor Genret1 (Godfather II) M. Scorsese R. De Niro Crime

t2 (Good Fellas) F. F. Coppola R. De Niro Crime

t3 (Vertigo) A. Hitchcock J. Stewart Thriller

t4 (N by NW) A. Hitchcock C. Grant Thriller

t5 (The Bishop’s Wife) K. Koster C. Grant Comedy

t6 (Harvey) K. Koster J. Stewart Comedy

Director Actor Genret1 (Godfather II) M. Scorsese R. De Niro Crime

t2 (Good Fellas) F. F. Coppola R. De Niro Crime

t3 (Vertigo) A. Hitchcock J. Stewart Thriller

t4 (N by NW) A. Hitchcock C. Grant Thriller

t5 (The Bishop’s Wife) K. Koster C. Grant Comedy

t6 (Harvey) K. Koster J. Stewart Comedy

C1

C2

D1

D2

Page 4: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

Siano T e A due variabile discrete random che possono variare rispettivamente all’interno dell’insieme T e A

( ; ) ( ) ( | ) ( ) ( | )I T A H T H T A H A H A T

È 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

Dalla teoria dell’informazione:

Page 5: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

Sia Sia AA = = A1 A1 …… AmAm il set di tutti i possibili valori degli attributi il set di tutti i possibili valori degli attributi SiaSia d = k1+…+km la dimensione di d = k1+…+km la dimensione di AA..

Director Actor Genre

t1 (Godfather II) M. Scorsese R. De Niro Crime

t2 (Good Fellas) F. F. Coppola R. De Niro Crime

t3 (Vertigo) A. Hitchcock J. Stewart Thriller

t4 (N by NW) A. Hitchcock C. Grant Thriller

t5 (The Bishop’s Wife) K. Koster C. Grant Comedy

t6 (Harvey) K. Koster J. Stewart Comedy

A1 = {d.S, d.C, d.H, d.K}

A2 = {a.S, a.DN, a.S, a.G}

A3 = {g.Cr, g.T, g.C}

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

Page 6: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

La rappresentazione di La rappresentazione di TT sarà una matrice M n sarà una matrice M n×d, e ×d, e

l’elemento M[i][j] sarà 1 se la tupla i contiene il valore j, 0 l’elemento M[i][j] sarà 1 se la tupla i contiene il valore j, 0

altrimenti. Per quanto detto prima, ogni vettore che altrimenti. Per quanto detto prima, ogni vettore che

rappresenta una tupla avrà esattamente m valori 1.rappresenta una tupla avrà esattamente m valori 1.

d.S d.C d.H d.K a.DN a.S a.G g.Cr g.T g.C

t1 1 0 0 0 1 0 0 1 0 0

t2 0 1 0 0 1 0 0 1 0 0

t3 0 0 1 0 0 1 0 0 1 0

t4 0 0 1 0 0 0 1 0 1 0

t5 0 0 0 1 0 0 1 0 0 1

t6 0 0 0 1 0 1 0 0 0 1

3

Page 7: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

Si procede alla normalizzazione della matrice MSi procede alla normalizzazione della matrice M

d.S d.C d.H d.K a.DN a.S a.G g.Cr g.T g.C p(t)

t1 1/3 0 0 0 1/3 0 0 1/3 0 0 1/6

t2 0 1/3 0 0 1/3 0 0 1/3 0 0 1/6

t3 0 0 1/3 0 0 1/3 0 0 1/3 0 1/6

t4 0 0 1/3 0 0 0 1/3 0 1/3 0 1/6

t5 0 0 0 1/3 0 0 1/3 0 0 1/3 1/6

t6 0 0 0 1/3 0 1/3 0 0 0 1/3 1/6

p(a|t) = 1/m

probabilità condizionata degli attributi nota la

tupla

p(A|t)

distribuzione di probabilità condizionata dei valori

dell’attributo data la tupla t

p(t) = 1/n

probabilità della tupla t

| |( ) ( )

t c

cp c p t

n

1

( | ) ( ) ( | )( ) t c

p a c p t p a tp c

Page 8: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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

( , ) [ ( ) ( )]* [ ( | ), ( | )]i j i j JS i jI c c p c p c D p A c p A c

Page 9: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

DCF relativo al cluster c DCF(c) = ( p(c), p(A|c) )

DCF relativo alla tupla t DCF(t) = ( p(t), p(A|t) )

Per cluster più grandi, il DCF è calcolato ricorsivamente utilizzando il meccanismo della fusione:

• sia c* il cluster che otteniamo fondendo due cluster c i e cj

( *) ( ) ( )

( )( )( | *) * ( | ) * ( | )

( *) ( *)

i j

jii j

p c p c p c

p cp cp A c p A c p A c

p c p c

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)

Page 10: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

L’algoritmo LIMBO consta di tre fasi:

Costruzione DCF tree

Clusterizzazione

Assegnazione tuple ai cluster

Page 11: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

DCF1 DCF2 DCF3 --- DCF6

child1 child2 child3 --- child6

prev DCF1 DCF2 --- DCF6 next

DCF1 DCF2 --- DCF5

child1 child2 --- child5

Root Node

prev DCF1 DCF2 --- DCF4 next

Non leaf node

Leaf node Leaf node

Ogni nodo foglia mantiene un clustering delle tupleOgni nodo intermedio mantiene un DCF che è dato dalla fuzione di DCFs

dei suoi figliIl LIMBO costruisce alberi space bounded dove l’upper bound è definito

dal parametro SIl parametro B descrive il branching factor

Page 12: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.
Page 13: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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.

Page 14: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

O ( n h d B + d U B2 )

La complessità della fase 1 è:

fase inserimento

fase split

n = n° totale tuple

h = altezza dell’albero

B = branching factor

U = n° nodi non-foglia

d = n° totale di valori di attributo

Page 15: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.
Page 16: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

DCFc4DCFc1 DCFc3DCFc2

DCFc1 DCFc2

DCFc10 DCFc11 DCFc12DCFc7 DCFc8 DCFc9DCFc4 DCFc5 DCFc6

DCFc3

DCFc5 DCFc6

DCFt2 DCFc2 DCFc3DCFc1

c1 c2 c3 c4

• Applica un algoritmo di clustering qualsiasi per

produrre k cluster• Calcola i k DCF(c)

Page 17: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

O ( L2 d2 logL )

La complessità della fase 2 è

(in caso si utilizzi l’algoritmo AIB):

L = numero totale delle entrate DCF delle foglie dell’albero

Page 18: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.
Page 19: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

TUPLA t1

TUPLA tn

.

.

..

.

c1

c2

ck

D(t1, c1)

D(t1, c2)

D(t1, ck)

Page 20: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

TUPLA t1

TUPLA tn

.

.

c1

c2

ck

D(t1, c2)

Page 21: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

O ( k d n )

La complessità della fase 3 è:

k = numero totale dei cluster

d = numero totale dei valori dell’attributo

n = numero totale tuple

Page 22: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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

( ; )( ) *

I A T

n

Page 23: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

A

d.S

d.H

d.K

d.C

a.DN

a.Sa.Gg.Cr

g.C

g.T

A’A’’

director a.DN a.S a.G g.Cr g.T g.C p(d)

Scorsese 1/2 0 0 1/2 0 0 1/6

Coppola 1/2 0 0 1/2 0 0 1/6

Hitchcock 0 1/3 1/3 0 2/3 0 2/6

Koster 0 1/3 1/3 0 0 2/3 2/6

Director Actor Genre

t1 (Godfather II) M. Scorsese R. De Niro Crime

t2 (Good Fellas) F. F. Coppola R. De Niro Crime

t3 (Vertigo) A. Hitchcock J. Stewart Thriller

t4 (N by NW) A. Hitchcock C. Grant Thriller

t5 (The Bishop’s Wife) K. Koster C. Grant Comedy

t6 (Harvey) K. Koster J. Stewart Comedy

p(a|v)

con aЄA’’ e vЄA’

( 1) ( 2)( | 1 2) ( | 1) ( | 2)

( 1 2) ( 1 2)

p v p vp a v v p a v p a v

p v v p v v

Page 24: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

INFORMATION LOSS (IL):

è la % delle informazioni mutuali iniziali perse dopo aver prodotto un numero desiderato di cluster

CATEGORY UTILITY (CU):

( ; ) ( ; )IL I A T I A C

2 2| |[ ( | ) ( ) ]i ij i ij

c C i j

cCU P A v c P A v

n

è 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

Page 25: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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

1

| ( ) |k

i ii

E g f g

Page 26: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

PRECISION (P) e RECALL (R):

| |

| |i i

ii

c gP

c

| |

| |i i

ii

c gR

g

1

| |ki

ii

gP P

T

1

| |

| |

ki

ii

gR R

T

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

Page 27: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

LIMBOS LIMBOØ

Fase 2: O ( L2 d2 logL )

Page 28: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

LIMBOS LIMBOØ

Fase 1: O ( nhdB + dUB2 )

Page 29: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

LIMBOS LIMBOØ

Fase 3: O ( kdn )

Page 30: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

LIMBOØ LIMBOS

Page 31: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

RISULTATI DEL CLUSTERING SU TUPLE:

Page 32: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

RISULTATI DEL CLUSTERING SU ATTRIBUTI:

Page 33: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

a causa del # ridotto di split e della ridotta dimensione dell’albero

Page 34: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

N° valori di attributoN° di attributi

Page 35: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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

Page 36: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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.

DCFc4DCFc1DCFc3DCFc2

DCFc1 DCFc2

DCFc10 DCFc11 DCFc12DCFc7 DCFc8 DCFc9DCFc4 DCFc5 DCFc6

DCFc3

DCFc5 DCFc6

DCFt2DCFc2 DCFc3DCFc1

c1 c2 c3 c4

L’algoritmo di clustering utilizzato nella Fase 2 deve scoprire i K rappresentanti ben separati

Page 37: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

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

Page 38: Sistemi Informativi Per Le Decisioni LS, Prof. Marco Patella Presentazione di Alessandro Mariucci, Massimiliano Bertocchi, Michele Federici.

Problema intuitivo: sensibilità di LIMBO all’ordinamento dei dati in ingresso nella costruzione del DCF Tree

100 ESECUZIONI ALGORITMO Non particolarmente

sensibile all’ordinamento

delle tuple