no slide titledipbsf.uninsubria.it/qsar/education/mat didattico/materialecorsi... · cluster...
TRANSCRIPT
Cluster AnalysisCluster Analysis
La Cluster Analysis èLa Cluster Analysis è il processo attraverso il quale vengono il processo attraverso il quale vengono individuati raggruppamenti dei datiindividuati raggruppamenti dei dati. .
Le tecniche diLe tecniche di cluster analysiscluster analysis vengono usatevengono usate perper esplorareesplorare ii datidati e non e non perper modellaremodellare!!
La cluster analysis èLa cluster analysis è applicataapplicata aa matrici di datimatrici di dati nonnon strutturatestrutturate,, cioè le cioè le relazioni interne tra gli oggettirelazioni interne tra gli oggetti nonnon sonosono note a priori.note a priori.
Se iSe i gruppi di oggetti trovati dallagruppi di oggetti trovati dalla cluster analysiscluster analysis presentano delle presentano delle differenze statisticamente significativedifferenze statisticamente significative,, alloraallora ii gruppi trovati possono gruppi trovati possono essere considerati classi di oggettiessere considerati classi di oggetti..
Cluster AnalysisCluster Analysis
NOTA BENENOTA BENEII metodi dimetodi di cluster noncluster non devono essere confusidevono essere confusi con con
ii metodi di classificazionemetodi di classificazione!!
Metodi diMetodi di clustercluster:: datidati nonnon strutturatistrutturatiMetodi di classificazioneMetodi di classificazione:: dati strutturatidati strutturati,, gli oggetti sono stati gli oggetti sono stati campionati da popolazionicampionati da popolazioni diverse ediverse e quindi appartengonoquindi appartengono aa classi classi distintedistinte definite a priori.definite a priori.
Metodi diMetodi di clustercluster:: scoposcopo èè trovare raggruppamenti significativi degli trovare raggruppamenti significativi degli oggettioggetti..Metodi di classificazioneMetodi di classificazione:: scoposcopo èè trovare modelli capaci di assegnare trovare modelli capaci di assegnare correttamente ciascun oggetto alla classe di appartenenzacorrettamente ciascun oggetto alla classe di appartenenza..
Cluster AnalysisCluster Analysis
II metodi dimetodi di cluster analysiscluster analysis utilizzano le misure di utilizzano le misure di dissimilaritàdissimilarità oo similarità tra gli oggettisimilarità tra gli oggetti..
Punto di partenzaPunto di partenza :: matrice di dissimilaritàmatrice di dissimilarità ((similaritàsimilarità))
NotaNota::tuttitutti ii metodi che usano le misure di distanzametodi che usano le misure di distanza perper valutarevalutare laladissimilaritàdissimilarità nonnon sono invariantisono invarianti alle trasformazioni delle alle trasformazioni delle variabilivariabili,, quali le scalaturequali le scalature..
Cluster AnalysisCluster Analysis
datadata
(n, p)(n, p)
clustering algorithmclustering algorithm
interpretationinterpretation
distancedistancematrix matrix (n, n)(n, n)
distancedistance similaritysimilarity similaritysimilaritymatrix matrix (n, n)(n, n)
data +data +clustering clustering variablevariable
data +data +class class
variablevariable
Cluster AnalysisCluster Analysis
I clustersI clusters vengono definitivengono definiti in terminiin termini didi::-- separazioneseparazione-- compattezzacompattezza-- formaforma
singletonsingleton
Cluster AnalysisCluster Analysis
centroidecentroide centrotipocentrotipo
X2
Metodi diMetodi di clusteringclustering
-- hierarchical methodshierarchical methods-- agglomerativeagglomerative methodsmethods -- divisive methodsdivisive methods
-- weighted average linkageweighted average linkage -- McNaughtonMcNaughton methodmethod-- unweightedunweighted average linkageaverage linkage -- CavalliCavalli--SforzaSforza methodmethod-- complete linkagecomplete linkage ........................-- single linkagesingle linkage-- centroidcentroid linkagelinkage-- median linkagemedian linkage-- Ward methodWard method
-- nonnon--hierarchical methodshierarchical methods-- KK--means methodmeans method-- JarvisJarvis--Patrick methodPatrick method-- fuzzy methodsfuzzy methods-- graphgraph--theoretical methodstheoretical methods..............................
Cluster AnalysisCluster Analysis
ProcedureProcedure preliminaripreliminari
1.1. selezione del metodo diselezione del metodo di clusteringclustering
2.2. selezione del tipo di scalatura delle variabiliselezione del tipo di scalatura delle variabili
3.3. selezione della misura di dissimilaritàselezione della misura di dissimilarità
4.4. calcolo della dissimilarità tra tutte le coppie di oggetticalcolo della dissimilarità tra tutte le coppie di oggetti
5.5. calcolo della corrispondente similaritàcalcolo della corrispondente similarità
Cluster AnalysisCluster Analysis
Metodi gerarchici agglomerativiMetodi gerarchici agglomerativi
AlAl passo inizialepasso iniziale,, si hannosi hanno nn clustersclusters ciascuno contenente un singolo ciascuno contenente un singolo oggettooggetto..
Algoritmo iterativoAlgoritmo iterativo::
1.1. si cercanosi cercano i due clustersi due clusters più similipiù simili;;
2.2. i due clustersi due clusters più simili vengono uniti generando un nuovopiù simili vengono uniti generando un nuovo cluster;cluster;
3.3. si calcolasi calcola lala similaritàsimilarità (o(o dissimilaritàdissimilarità)) del nuovodel nuovo cluster concluster con ciascuno ciascuno
deidei clustersclusters esistentiesistenti.. Questo comportaQuesto comporta lala cancellazione dellecancellazione delle 22 righerighe
e 2e 2 colonne della matrice di similaritàcolonne della matrice di similarità ((dissimilaritàdissimilarità)) corrispondenti aicorrispondenti ai
due clustersdue clusters unitiuniti ee l’aggiunta dil’aggiunta di 11 rigariga e 1e 1 colonna corrispondenticolonna corrispondenti alal
nuovonuovo cluster.cluster.
Cluster AnalysisCluster Analysis
L’intero processo diL’intero processo di clusteringclustering può essere riassunto può essere riassunto mediante un graficomediante un grafico a formaa forma di alberodi albero ::
DENDROGRAMMADENDROGRAMMA
AA BB CC DD EE
coef
ficie
nte
dico
effic
ient
e di
clus
terin
gcl
uste
ring
0.50.5
11
0.80.80.70.7
00
0.10.1
23
6
10
Cluster AnalysisCluster Analysis
RegoleRegole perper calcolarecalcolare lala dissimilarità tradissimilarità tra due clusterdue cluster
nnkk == numero di oggetti delnumero di oggetti del cluster cluster kk
nnff == numero di oggetti delnumero di oggetti del cluster cluster ff
DDkfkf == dissimilarità tradissimilarità tra i clusters i clusters kk e e ff
SingleSingle--linkagelinkage :: DDkfkf è laè la più piccola tra le npiù piccola tra le nkknnff dissimilarità tra ogni dissimilarità tra ogni oggetto dioggetto di kk ee ogni oggetto diogni oggetto di ff
DDkfkf
Cluster AnalysisCluster Analysis
RegoleRegole perper calcolarecalcolare lala dissimilarità tradissimilarità tra due clusterdue cluster
CompleteComplete--linkagelinkage :: DDkfkf è laè la più grande tra le npiù grande tra le nkknnff dissimilarità tra ogni dissimilarità tra ogni oggetto dioggetto di kk ee ogni oggetto diogni oggetto di ff
DDkfkf
Cluster AnalysisCluster Analysis
RegoleRegole perper calcolarecalcolare lala dissimilarità tradissimilarità tra due clusterdue cluster
AverageAverage--linkagelinkage :: DDkfkf è la mediaè la media delle ndelle nkknnff dissimilarità tra ogni oggetto dissimilarità tra ogni oggetto didi kk ee ogni oggetto diogni oggetto di ff
CentroidCentroid--linkagelinkage :: DDkfkf è laè la distanza Euclideadistanza Euclidea alal quadrato traquadrato tra ii centroidi centroidi deidei clusters clusters kk e e ff
DDkfkf
Cluster AnalysisCluster Analysis
RegoleRegole perper calcolarecalcolare lala dissimilarità tradissimilarità tra due clusterdue cluster
Nota beneNota bene :: ogni metodoogni metodo produceproduce una diversa ripartizione degli una diversa ripartizione degli oggettioggetti. E’. E’ importante scegliere il metodo diimportante scegliere il metodo di clustering clustering primaprima di effettuare l’analisidi effettuare l’analisi..
Cluster AnalysisCluster Analysis
RegoleRegole perper calcolarecalcolare lala dissimilarità tradissimilarità tra due clusterdue cluster
Caratteristiche dei metodi agglomerativiCaratteristiche dei metodi agglomerativi : :
-- complete, average ecomplete, average e centroidcentroid--linkagelinkageproduconoproducono clustersclusters sferici costituiti da sferici costituiti da oggetti molto similioggetti molto simili..
-- singlesingle--linkage produce clusterslinkage produce clustersallungatiallungati inin cui si possono avere anche cui si possono avere anche coppie di oggetti diversicoppie di oggetti diversi((concatenamentoconcatenamento).).
Cluster AnalysisCluster Analysis
RegoleRegole perper calcolarecalcolare lala dissimilarità tradissimilarità tra due clusterdue cluster
Caratteristiche dei metodi agglomerativiCaratteristiche dei metodi agglomerativi : :
-- concon ilil singlesingle--linkagelinkage un oggetto si un oggetto si unisceunisce adad un gruppoun gruppo se è similese è simile ancheancheadad unun solosolo oggetto del gruppooggetto del gruppo. .
-- concon ilil completecomplete--linkagelinkage un oggetto si un oggetto si unisceunisce adad un gruppoun gruppo solo sesolo se presenta presenta una certa similaritàuna certa similarità concon tutti gli oggetti tutti gli oggetti del gruppodel gruppo. .
IlIl singlesingle--linkage èlinkage è il metodo più appropriatoil metodo più appropriato perper individuare outliersindividuare outliers
Cluster AnalysisCluster Analysis
EsempioEsempio
Matrice delle dissimilaritàMatrice delle dissimilarità
oggettioggetti 11 22 33 44 55
11
22
33
44
55
00
44
11
44
55
00
44
22
55
00
44
33
00
44 00
Cluster AnalysisCluster Analysis
STEP 1 :STEP 1 :
Gli oggettiGli oggetti 1 e 31 e 3 sonosono ii più similipiù simili ee quindi vengono uniti formando quindi vengono uniti formando così il primocosì il primo cluster alcluster al livello di dissimilarità ugualelivello di dissimilarità uguale a 1.a 1.
Utilizzando ilUtilizzando il singlesingle--linkage:linkage:
D d d
D d d
D d d
2 13 21 23
4 13 41 43
513 51 53
4 4 4
4 4 4
5 3 3
,
,
,
min , min ,
min , min ,
min , min ,
= = =
= = =
= = =
b g b gb g b gb g b g
Cluster AnalysisCluster Analysis
STEP 1 :STEP 1 :
Matrice delle dissimilarità aggiornataMatrice delle dissimilarità aggiornata concon ilil singlesingle--linkage:linkage:
oggettioggetti (1+3)(1+3) 22 44 55
(1+3)(1+3) 00
22
44
55
44 00
44
33
22 00
55 44 00
Cluster AnalysisCluster Analysis
STEP 2 :STEP 2 :
Gli oggettiGli oggetti 2 e 42 e 4 sonosono ii più similipiù simili ee quindi vengono uniti formando quindi vengono uniti formando così il secondocosì il secondo cluster alcluster al livello di dissimilarità ugualelivello di dissimilarità uguale a 2.a 2.
Utilizzando ilUtilizzando il singlesingle--linkage:linkage:
D d d
D d d( , ), ( , ) ( , )
,
min , min ,
min , min ,1 3 24 1 3 2 1 3 4
5 24 52 54
4 4 4
5 4 4
= = =
= = =
d h b gb g b g
Cluster AnalysisCluster Analysis
STEP 2 :STEP 2 :
Matrice delle dissimilarità aggiornataMatrice delle dissimilarità aggiornata concon ilil singlesingle--linkage:linkage:
oggettioggetti (1+3)(1+3) (2+4)(2+4) 55
(1+3)(1+3) 00
55
44
33 00
(2+4)(2+4) 00
44
Cluster AnalysisCluster Analysis
STEP 3 :
L’oggettoL’oggetto 5 e5 e ilil cluster (1+3)cluster (1+3) sonosono ii più similipiù simili ee quindi vengono uniti quindi vengono uniti formando così il terzoformando così il terzo cluster alcluster al livello di dissimilarità ugualelivello di dissimilarità uguale a 3.a 3.
Utilizzando ilUtilizzando il singlesingle--linkage:linkage:
D d d( , ),( , ) ( , )( , ) ( , )min , min ,2 4 1 3 5 2 4 1 3 2 4 5 4 4 4= = =d h b g
STEP 3 :
oggettioggetti (1+3+5)(1+3+5) (2+4)(2+4)
(1+3+5)(1+3+5) 00
44(2+4)(2+4) 00
Cluster AnalysisCluster Analysis
STEP 4 :STEP 4 :
L’unica possibilità rimastaL’unica possibilità rimasta èè l’unionel’unione finalefinale deidei due clusters (1+3+5) due clusters (1+3+5) e (2+4) ade (2+4) ad un livello di dissimilarità ugualeun livello di dissimilarità uguale a 4.a 4.
11 33 55 22 44
coef
ficie
nte
dico
effic
ient
e di
clus
terin
gcl
uste
ring
00
11
22
44
33
Cluster AnalysisCluster Analysis
EsempioEsempio: Wines: Wines
Cluster AnalysisCluster Analysis
EsempioEsempio: Wines: Wines
Cluster AnalysisCluster Analysis
EsempioEsempio: Wines: Wines
Cluster AnalysisCluster Analysis
MetodiMetodi nonnon--gerarchicigerarchici
II metodi dimetodi di cluster noncluster non--gerarchico si differenziano molto tra gerarchico si differenziano molto tra loroloro,, essendo basati su approcci matematici differentiessendo basati su approcci matematici differenti..
Alcuni di loro si chiamano Alcuni di loro si chiamano tecniche di ricollocamentotecniche di ricollocamento,,poichè dopo una partizione iniziale degli oggettipoichè dopo una partizione iniziale degli oggetti,, questi questi vengono spostati da unvengono spostati da un clustercluster all’altro finchè un criterio diall’altro finchè un criterio distop èstop è stato soddisfattostato soddisfatto..
Il metodoIl metodo KK--means èmeans è il più notoil più noto..
Cluster AnalysisCluster Analysis
MetodoMetodo KK--meansmeans
Proposto da MacQueen nelProposto da MacQueen nel 1967, è1967, è un algoritmo di un algoritmo di ricollocamento basato sul confronto delle distanze di ogni ricollocamento basato sul confronto delle distanze di ogni oggetto dai centroidi deioggetto dai centroidi dei clusters.clusters.
Occorre definireOccorre definire a prioria priori il numeroil numero GG didi clusters.clusters.
c x x xg g g gp= 1 2, , ,Kn scentroide delcentroide del gg--esimoesimo cluster :cluster :
Cluster AnalysisCluster Analysis
A0.A0. selezione della misura di dissimilaritàselezione della misura di dissimilarità
A1.A1. selezione del numeroselezione del numero GG didi clustersclusters
B1.B1. partizione inizialepartizione iniziale randomrandom degli oggettidegli oggetti in in GG clustersclusters
C1.C1. calcolo dei centroidi deicalcolo dei centroidi dei GG clustersclusters
C2.C2. calcolo delle distanze tra ciascun oggettocalcolo delle distanze tra ciascun oggetto ee ciascun centroideciascun centroide
C3.C3. collocamento di ogni oggetto nelcollocamento di ogni oggetto nel clustercluster del centroide più vicinodel centroide più vicino
C4. seC4. se almeno un oggettoalmeno un oggetto èè stato ricollocatostato ricollocato,, ritornaritorna a C1a C1
D1. stopD1. stop
Algoritmo del metodoAlgoritmo del metodo KK--meansmeans
Cluster AnalysisCluster Analysis
metodometodo KK--meansmeans
Cluster AnalysisCluster Analysis
metodometodo KK--meansmeans
NormalmenteNormalmente, i, i centroidi deicentroidi dei clustersclusters vengono ricalcolati vengono ricalcolati dopo il ricollocamento di tutti gli oggettidopo il ricollocamento di tutti gli oggetti..
Una variante di questo metodo si basa sul calcolo dei Una variante di questo metodo si basa sul calcolo dei centroidi deicentroidi dei clustersclusters dopo il ricollocamento di ogni singolo dopo il ricollocamento di ogni singolo oggettooggetto..
LaLa partizionepartizione finalefinale degli oggettidegli oggetti èè influenzata da molti influenzata da molti fattorifattori,, tra cui il numero scelto ditra cui il numero scelto di clusters.clusters.
Cluster AnalysisCluster Analysis
Metodo di JarvisMetodo di Jarvis--PatrickPatrick
E’E’ un metodo diun metodo di clusteringclustering efficiente basato sulla efficiente basato sulla matrice dei matrice dei vicinivicini derivata dalla matrice delle dissimilaritàderivata dalla matrice delle dissimilarità..
StepsSteps preliminaripreliminari
1.1. selezione della misura di dissimilaritàselezione della misura di dissimilarità
2.2. definizione della dimensionedefinizione della dimensione LL della matrice dei vicinidella matrice dei vicini
3.3. definizione del numerodefinizione del numero kk di vicini comunidi vicini comuni
4.4. calcolo della matrice delle dissimilaritàcalcolo della matrice delle dissimilarità
5.5. calcolo della matrice dei vicini calcolo della matrice dei vicini
Cluster AnalysisCluster Analysis
Metodo JarvisMetodo Jarvis--PatrickPatrick
Matrice dei viciniMatrice dei vicini (n, L)(n, L)
oggetti 1°v 2°v 3°v L°v
1 4 6 2 ... ... 32 3 8 1 ... ... 43 7 2 5 ... ... 6.... ............................................................... ...........................................................n 11 5 7 ... ... 1
Cluster AnalysisCluster Analysis
AlgoritmoAlgoritmo ::
DueDue oggettioggetti ss e e tt vengono collocati nel medesimovengono collocati nel medesimo cluster se:cluster se:
1.1. l’oggettol’oggetto ss èè nella lista dei vicini dell’oggettonella lista dei vicini dell’oggetto tt
2.2. l’oggettol’oggetto tt èè nella lista dei vicini dell’oggettonella lista dei vicini dell’oggetto ss
3.3. i duei due oggetti hannooggetti hanno kk vicini comunivicini comuni..
Metodo JarvisMetodo Jarvis--PatrickPatrick
Cluster AnalysisCluster Analysis
Valori ottimali dei parametriValori ottimali dei parametri LL e e kk::
LL = = nn / 3 / 3 kk = = nn / 4/ 4
AumentandoAumentando ii valori divalori di LL e e kk,, il numero diil numero di clustersclusters ottenuti ottenuti aumentaaumenta,, poichè diventa più severapoichè diventa più severa lala condizione richiestacondizione richiestaperper l’unione degli oggettil’unione degli oggetti..
Nota beneNota bene:: il numero deiil numero dei clusters èclusters è un risultato del metodoun risultato del metodo e e nonnon deve essere definitodeve essere definito a prioria priori dall’utentedall’utente..
Metodo JarvisMetodo Jarvis--PatrickPatrick
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: Cheese
134134 campioni di formaggiocampioni di formaggio ((Parmigiano ReggianoParmigiano Reggiano)) descritti descritti dalle concentrazioni analitiche deidalle concentrazioni analitiche dei 2121 amminoacidiamminoacidi..
Le variabili sonoLe variabili sono statestate autoscalateautoscalate primaprima dell’analisidell’analisi..
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: CheeseMetodo gerarchicoMetodo gerarchico complete linkage (complete linkage (distanza Euclideadistanza Euclidea))
Link
age
Dis
tanc
eLi
nkag
e D
ista
nce
00
22
44
66
88
1010
1212
1414
1616
1818
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: CheeseMetodo gerarchicoMetodo gerarchico complete linkage (complete linkage (distanza Euclideadistanza Euclidea))
PC1 (E.V.% 68.3)PC1 (E.V.% 68.3)
PC2
(E.V
.% 1
0.1)
PC2
(E.V
.% 1
0.1)
--3.53.5
--2.52.5
--1.51.5
--0.50.5
0.50.5
1.51.5
2.52.5
--33 --22 --11 00 11
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: CheeseMetodo gerarchicoMetodo gerarchico single linkage (single linkage (distanza Euclideadistanza Euclidea))
Linkage Distance
Linkage Distance
00
11
22
33
44
55
66
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: CheeseMetodo gerarchicoMetodo gerarchico single linkage (single linkage (distanza Euclideadistanza Euclidea))
PC1 (E.V.% 68.3)PC1 (E.V.% 68.3)
PC2
(E.V
.% 1
0.1)
PC2
(E.V
.% 1
0.1)
-3.5
-2.5
-1.5
-0.5
0.5
1.5
2.5
--33 --22 --11 00 11
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: CheeseMetodoMetodo KK--means (means (distanza Euclideadistanza Euclidea))
PC1 (E.V.% 68.3)PC1 (E.V.% 68.3)
PC2
(E.V
.% 1
0.1)
PC2
(E.V
.% 1
0.1)
--3.53.5
--2.52.5
--1.51.5
--0.50.5
0.50.5
1.51.5
2.52.5
--33 --22 --11 00 11
Cluster AnalysisCluster Analysis
EsempioEsempio : Cheese: CheeseMetodo di JarvisMetodo di Jarvis--Patrick (Patrick (distanza Euclideadistanza Euclidea, L=50, k=40), L=50, k=40)
PC1 (E.V.% 68.3)PC1 (E.V.% 68.3)
PC2
(E.V
.% 1
0.1)
PC2
(E.V
.% 1
0.1)
--3.53.5
--2.52.5
--1.51.5
--0.50.5
0.50.5
1.51.5
2.52.5
--33 --22 --11 00 11