Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Comprendere
Gruppi di documenti
2
3
4
Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN,
Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN,
DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN,
Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down,
Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN,
Sun-DOWN
Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN,
ADV-Micro-Device-DOWN,Andrew-Corp-DOWN,
Computer-Assoc-DOWN,Circuit-City-DOWN,
Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN,
Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN
Fannie-Mae-DOWN,Fed-Home-Loan-DOWN,
MBNA-Corp-DOWN,Morgan-Stanley-DOWN
Industry Group
Technology1-DOWN
Technology2-DOWN
Financial-DOWN
Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP,
Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP,
Schlumberger-UP
Riassumere
Ridurre la dimensione di
Classificazione supervisionata
Parte dalla conoscenza delle etichette di classe
Segmentazione
Suddividere gli studenti alfabeticamente in base al cognome
Oil-UP
La nozione di cluster pu
essere ambigua
Quanti cluster?
6 Cluster
2 Cluster
4 Cluster
Tipi di clustering
un albero gerarchico
p1
p3
p4
p2
p1 p2
Clustering gerarchico tradizionale
p3 p4
Dendrogramma
Well-Separated Cluster:
Un cluster un insieme di punti tali che qualsiasi punto nel
3 well-separated cluster
Center-based
Un cluster un insieme di punti tali che un punto nel cluster
4 center-based cluster
8 contiguous cluster
Density-based
Un cluster una regione densa di punti, che separata da
6 density-based cluster
concetto sotteso
.
2 cerchi sovrapposti
K-means Clustering
Si tratta di una tecnica di clustering partizionante
Ogni cluster associato a un centroide
Ogni punto assegnato al cluster con il cui centroide
pi vicino
Il numero di cluster, K, deve essere specificato
La complessit dellalgoritmo O( n * K * I * d )
n = numero di punti, K = numero di cluster,
I = numero di iterazioni, d = numero di attributi
esso assegnato.
K
SSE = dist 2 ( mi , x )
i =1 xCi
cluster Ci
possibile dimostrare che il centroide che minimizza SSE quando si
utilizza come misura di prossimit la distanza euclidea la media dei
punti del cluster.
mi =
xC i
cluster K
Un buon clustering con K ridotto pu avere un valore di SSE pi basso di
un cattivo clustering con K pi elevato
Convergenza e ottimalit
C' soltanto un numero finito di modi di partizionare n record in k
gruppi. Quindi c' soltanto un numero finito di possibili
configurazioni in cui tutti i centri sono centroidi dei punti che
possiedono.
Se la configurazione cambia in una iterazione, deve avere
migliorato la distorsione. Quindi ogni volta che la configurazione
cambia, deve portare in uno stato mai visitato prima
distanze minori
Il calcolo dei nuovi centroidi minimizza il valore di SSE per il cluster
Convergenza e ottimalit
3
2.5
1.5
0.5
0
-2
-1.5
-1
-0.5
0.5
1.5
2.5
2.5
1.5
1.5
0.5
0.5
-2
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
-1
-0.5
0.5
1.5
Clustering ottimale
Clustering sub-ottimale
2.5
1.5
0.5
0
-2
-1.5
-1
-0.5
0.5
1.5
Iteration 2
Iteration 3
2.5
2.5
2.5
1.5
1.5
1.5
0.5
0.5
0.5
-2
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
-1
-0.5
0.5
1.5
-2
Iteration 4
Iteration 5
3
2.5
2.5
0.5
0.5
0.5
-0.5
0.5
1.5
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
1
2
3
4
Iteration 5
3
2.5
2
1.5
1
0.5
0
-1
-0.5
-1
-0.5
-1.5
0.5
1.5
1.5
-2
-2
1.5
1.5
1.5
-1
-0.5
Iteration 6
-1.5
-1
2.5
-2
-1.5
0.5
1.5
0.5
Iteration 2
2.5
2.5
1.5
1.5
0.5
0.5
-2
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
-1
-0.5
0.5
Iteration 3
2.5
1.5
1.5
1.5
0.5
0.5
0.5
-1
-0.5
0.5
Iteration 5
2.5
-1.5
1.5
Iteration 4
2.5
-2
1.5
-2
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
-1
-0.5
0.5
1.5
P=
2
0
-2
-4
-6
0
10
15
20
Iteration 1
8
-2
-2
-4
-4
-6
-6
0
10
15
20
15
20
15
20
Iteration 4
10
Iteration 3
-2
-2
-4
-4
-6
-6
0
10
15
20
10
2
0
-2
-4
-6
0
10
15
20
Iteration 1
8
-2
-2
-4
-4
-6
-6
0
10
15
20
10
15
20
15
20
x
Iteration
4
8
x
Iteration
3
8
-2
-2
-4
-4
-6
-6
0
10
15
20
10
separati
Bisecting K-means
Meno suscettibile al problema
SSE
Scegliere un elemento del cluster con il maggior SSE.
K-means: Limitazioni
Lalgoritmo
Punti orignali
K-means (3 Cluster)
Limitazioni di k-means:
differenti densit
Punti originali
K-means (3 Cluster)
SSE si basa su una distanza euclidea che non tiene conto della
forma degli oggetti
Punti originali
K-means (2 Cluster)
Punti originali
K-means Clusters
Punti originali
K-means Cluster
Punti originali
K-means Cluster
Esercizio
K=2
K=3
K=3
K=2
K=3
Clustering gerarchico
Produce un insieme di cluster organizzati come un albero
gerarchico
Pu essere visualizzato come un dendrogramma
cluster
6
0.2
4
3
0.15
5
2
0.1
0.05
3
0
Clustering gerarchico
Approcci agglomerativi
Situazione iniziale
p2
p3
p4 p5
p1
p2
p3
p4
p5
.
.
.
Proximity Matrix
...
Situazione intermedia
C2
C3
C4
C5
C1
C2
C3
C3
C4
C4
C5
Proximity Matrix
C1
C2
C5
Situazione intermedia
C2
C3
C4
C1
C2
C3
C4
C3
C4
C5
C1
Proximity Matrix
C2
C5
C5
MIN o Single link: la minima distanza tra due elementi dei cluster
MAX o Complete link
Group Average
Distanza tra i centroidi
Altri metodi guidati da una funzione obiettivo
Il Ward Method utilizza lo scarto quadratico medio
3
5
0.2
0.15
0.1
0.05
4
4
p1
Dist({3,6}, {2,5})=min(dist({2,3}),
dist({2,6}), dist({5,3}), dist({5,6})) =
min(0.15,0.25,0.28,0.39)=0.15
p2
p3
p4
p5
p6
E soggetto
outlier e rumori
Puntiaoriginali
Due Cluster
2
5
0.4
0.35
0.3
0.25
3
3
6
1
0.2
0.15
0.1
0.05
0
Dopo il passo 2
Dist({3,6}, {4})=max(dist({3,4}), dist({6,4}))
= max(0.15,0.22)=0.22
Dist({3,6}, {2,5})=max(dist({3,2}),
dist({3,5}), dist({6,2}) dist({6,5})) =
max(0.15,0.25,0.28,0.39)=0.39
Dist({3,6}, {1})=max(dist({3,1}), dist({6,1}))
= max(0.22,0.23)=0.23
p1
p2
p3
p4
p5
p6
proximity(p , p )
i
proximity(Clusteri , Clusterj ) =
piClusteri
p jClusterj
|Clusteri ||Clusterj |
0.25
0.2
0.15
3
3
6
1
4
4
0.1
0.05
0
p1
p2
p3
p4
p5
p6
Si ricorda che non potendo annullare le scelte fatte le soluzioni trovate dai metodi
gerarchici sono spesso sub-ottime.
3
5
2
MIN
5
2
MAX
3
3
2
5
6
1
2
Wards Method
2
3
3
Group Average
4
4
6
1
Tempo: O(N3)
Sono necessari N passi per costruire il dendrogramma. Ad ogni
Esercizio
simil
p1
p2
p3
p4
p5
p1
1.00
0.10
0.41
0.55
0.35
p2
0.10
1.00
0.64
0.47
0.98
p3
0.41
0.64
1.0
0.44
0.85
p4
0.55
0.47
0.44
1.00
0.76
p5
0.35
0.98
0.85
0.76
1.00
DBSCAN
Noise point tutti i punti che non sono Core point e Border
point
Algoritmo DBSCAN
1.
2.
3.
4.
5.
6.
Original Points
Pro
Resistente al rumore
Pu generare cluster con forme e dimensioni differenti
Contro
Dati con elevata dimensionalit
MinPts = 4
Eps=9.92
MinPts = 4
Eps = 9.75
Cluster naturali
Misure di validit
I quantificatori numerici utilizzati per valutare i diversi aspetti
legati alla validit deicluster sono classificati in:
cluster
Possono basarsi sia su misure interne, sia su misure esterne.
distinti
La coesione la somma dei pesi degli archi tra i nodi appartenenti a un cluster e il
relativo centroide
La separazione la somma dei pesi degli archi tra i centroidi
cohession(Ci ) =
proximity (x, y )
xCi yCi
separation(Ci , C j ) =
proximity (x, y)
xCi yC j
La coesione la somma dei pesi degli archi tra i nodi appartenenti a un cluster e il relativo
centroide
La separazione la somma dei pesi degli archi tra i centroidi
cohession(Ci ) =
proximity(x, ci )
xCi
separation(Ci , C j ) = proximity (c i , c j )
separation(Ci ) = proximity (c i , c)
La separazione tra due protipi e tra un prototipo e il centroide dellintero dataset sono correlati
SSE = cohession(Ci ) = (x c i ) 2
i xCi
SSB = separation(Ci ) = Ci (c i , c) 2
i
c1
c2
SSE= (1 3) 2 + (2 3) 2 + (4 3) 2 + (5 3) 2 = 10
K=1 cluster:
SSB= 4 (3 3) 2 = 0
Totale = 10 + 0 = 10
K=2 clusters:
ai = avg(dist(i , j ))
jC
bi = min(avg( dist( i , j ))
C C
jC '
b
a
si = (bi ai ) / max(ai , bi )
Varia tra -1 and 1.
E auspicabile che il coefficiente sia quanto pi possibile vicino a 1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0
0.1
0
0.2
0.4
0.6
Corr = -0.9235
0.8
0.2
0.4
0.6
Corr = -0.5810
0.8
1
0.9
0.8
0.7
Points
0.6
0.5
0.4
0.3
0.2
0.9
20
0.8
30
0.7
40
0.6
50
0.5
60
0.4
70
0.3
80
0.2
90
0.1
0
10
100
0
0.2
0.4
0.6
0.8
0.1
20
40
60
80
0
100 Similarity
Points
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
0.6
50
0.5
60
0.4
0.4
70
0.3
0.3
80
0.2
0.2
0.1
0.1
90
100
20
40
60
80
Points
1
10
0.5
0
100 Similarity
DBSCAN
0
0. 2
0.4
Points
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
0.6
50
0.5
0.5
60
0.4
0.4
70
0.3
0.3
0.2
0.2
0.1
0.1
80
90
20
40
60
80
Points
10
100
0
100 Similarity
0.2
0.4
0.9
0.9
20
0.8
0.8
30
0.7
0.7
40
0.6
0.6
50
0.5
60
0.4
0.4
70
0.3
0.3
80
0.2
0.2
90
0.1
0.1
60
Points
80
0
100Similarity
Points
0.6
0.8
10
40
x
1
20
0.8
K-means
Points
100
0.6
x
1
Complete link
0.5
0.2
0.4
0.6
0.8
Esercizo
Cophenetic distance
Le misure precedenti rappresentano degli indici di validit per algoritmi di
clustering partizionanti.
Nel caso di clustering gerarchico una misura spesso utilizzata la
cophenetic distance ossia, dati due elementi, la prossimit a cui sono
posti assieme da un algoritmo di clustering agglomerativo
Nel dendrogramma sottostante, le coppie di punti (3,4), (6,4) hanno distanza 0.15
Tecnica
CPCC
Single link
0.44
0.2
0.15
0.1
0.05
0
Complete link
0.63
Group average
0.66
Wards
0.64
Wards
8
4
7
6
SSE
2
0
5
4
-2
3
2
-4
1
-6
0
5
10
15
10
15
20
25
30
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0
DBSCAN
1
0.9
1
0.9
0.1
0
0.2
0.4
0.6
0.8
0.2
0.4
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0
0.6
0.8
0.6
0.8
0.1
0
0.2
0.4
0.6
K-means
0.8
0.2
0.4
Complete Link
Propensione al clustering
Statistica di Hopkins
H=
w
i =1
u + w
i =1
i =1
Siamo alla ricerca di pattern non casuali, quindi pi atipico sar il risultato
che otterremo, pi probabile sar che esso rappresenti una struttura non
casuale nei dati
Lidea quindi quella di comparare il valore della misura con quello ottenuto
a partire da dati random.
Se il valore della misura ottenuto sui dati improbabile sui dati random allora il
clustering valido
In ogni caso importante capire quanto la differenza dei valori implichi una
sostanziale differenza tra i clustering
Framework statistico: un
esempio
50
0.9
45
0.8
40
0.7
35
30
Count
0.6
0.5
0.4
20
0.3
15
0.2
10
0.1
0
25
5
0
0.2
0.4
0.6
0.8
0
0.016 0.018
0.02
SSE
0.03
0.032 0.034
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0
0.1
0
0.2
0.4
0.6
Corr = -0.9235
0.8
0.2
0.4
0.6
0.8
Corr = -0.5810
L=num classi
mi
ei
i =1 m
e =
K=num cluster
pi = max pij
j
mi
pi
i =1 m
purity =
Impostare il calcolo
dellentropia per il cluster 1