Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• Il processo di apprendimento
• Apprendimento Supervisionato vs Non Supervisionato
• Clustering in a nutshell
• Algoritmi di Clustering
• K-means
• Hierarchical clustering
Prediction Credit
Market
Default PATTERN
SUPERVISED UNSUPERVISED Basket
DISCOVERY Analysis
LEARNING LEARNING
Churn Analysis
CLASSIFICATION DB-Scan
Decision Trees
PATTERN
SUPERVISED UNSUPERVISED
DISCOVERY
Ensemble Methods LEARNING LEARNING
Neural Networks
Association
REGRESSION PCA Rules Mining
DIMENSIONAL
REDUCTION
Linear Nonlinear
Regression Regression
Autoencoders
Supervised Learning
7
all'arrivo di un nuovo dato il sistema sarà in grado di dirci cosa è il nuovo elemento. viene data un'etichetta
Supervised learning
LABELS INPUT DATA TRAINING TESTING
Candy Candy!
Candy!
Cupcake?
Cupcake
Nuovi Dati
Unsupervised Learning
15
non viene definita un'etichetta. non c'è un giusto e uno sbagliato. posso usare il criterio candy e cupcake oppure dividere gli oggetti per il livello di glucosio
Unsupervised learning
DATA
Unsupervised learning
• Nella matrice dei dati non è presente una variabile risposta (variabile target) 𝑌𝑌
• Obiettivo primario: esplorazione del dataset ed estrazione di informazioni
Classi di metodi:
• Riduzione dimensionale
• Clustering
What is clustering
sono più simili tra di loro di quanto lo siano con gli
elementi degli altri gruppi
In generale ci si riferisce
con il termine clustering
ad un raggruppamento
di oggetti tale per cui gli
oggetti in uno stesso
gruppo (cluster) siano
tra loro simili e al tempo
steso diversi dagli
oggetti appartenenti ad
altri gruppi
Apprendimento non supervisionato
identificare gruppi di utenti che consumano similmente nelle stesse fasce orarie.
Esempio.
• Analisi dei consumi energetici nella città di Milano
n = num. utenti della rete
Per ogni utente: consumo di energia in diverse fasce orarie
p = numero di fasce orarie
• Obiettivo: identificare gruppi di utenti (righe del dataset) caratterizzati da consumi energetici
«simili» (e.g., casalinga/lavoratore, residenza/ufficio)
• Problema non supervisionato perché cerchiamo di «scoprire» caratteristiche del fenomeno a
partire dai dati
Basics idea of clustering
variabilità tra i diversi cluster sia massima. ottimo sarebbe se avessimo gruppi identici all'interno dei cluster
Inter-cluster
Intra-cluster distances are
distances are maximized
minimized
La nozione di Cluster può essere ambigua
Simpson Girls
School
family Boys
employees
Le “vere” etichette non sono note
Il risultato del Clustering dipende dal conceto di similarità che si adotta.
Tipicamente essa viene espressa attraverso una distanza.
Tipi di Clustering
Partitional Clustering algoritmi che servono per assegnare le osservazioni ad uno e unico gruppo
• A division data objects into subsets (clusters) such that each data
object is in exactly one subset
Hierarchical clustering
• A set of nested clusters organized as a hierarchical tree
• hierarchical clustering may be:
- AGGLOMERATIVE partiamo da un cluster per ogni osservazione e poi agglomeriamo nello stesso gruppo quelle più simili.
- DIVISIVE finchè le osservazioni non apparterranno ad un unico gruppo contenente tutte le osservazioni. mi
interessano i passaggi intermedi in questo caso. quelli divisivi fanno il procedimento opposto; partono da un
unico gruppo e si dividono poi fino a singole osservazioni per gruppo.
Partitional (flat) Clustering
Given two p-dimensional vectors x=(x1, x2,…,xp) and y=(y1, y2,…,yp), the
distance between x and y may be computed in several ways:
o Euclidean distance
• squared
• standardized
o Manhattan distance p
o Chebychev distance
p
o Cosine similarity (Angle)
o Correlation distance
o Mahalanobis distance
o Minkowski distance
Distanze
Distanze
Manhattan Distance 𝑑𝑑𝑀𝑀 𝑥𝑥, 𝑦𝑦 = 𝑥𝑥1 − 𝑦𝑦1 + 𝑥𝑥2 − 𝑦𝑦2 + ⋯ + 𝑥𝑥𝑛𝑛 − 𝑦𝑦𝑛𝑛 = ∑𝑛𝑛𝑖𝑖=1 𝑥𝑥𝑖𝑖 − 𝑦𝑦𝑖𝑖
non distanza in linea d'aria ma il percorso minimo (google maps)
Correlation based distance 𝑑𝑑𝑅𝑅 (𝑥𝑥, 𝑦𝑦) = 1 − 𝑟𝑟𝑥𝑥𝑥𝑥 where quando rxy=1 la distanza è 0 (minima)
quando rxy=0 la distanza è 1 (massima)
K-MEANS
K-medie
Esempio
n=150 osservazioni (simulate)
p=2
K-medie
Esempio
K-medie
Criterio di ottimo
Identificare 𝐶𝐶1 , … , 𝐶𝐶𝑘𝑘 che realizzano il minimo della variabilità totale nei cluster
𝐾𝐾
min � 𝑊𝑊(𝐶𝐶𝑘𝑘 )
𝐶𝐶1 ,…,𝐶𝐶𝑘𝑘
𝑘𝑘=1
K-medie: ALGORITMO
1. Inizializzazione.
calcolo centroide. calcolo distanza dei punti dai centroidi e riassegno i punti ai gruppi la cui
2. Iterazione. distanza è minima. ricalcolo i centroidi e ripeto il procedimento finchè non avrò più spostamenti
1 if 𝑥𝑥𝑗𝑗̄ ∈ 𝐶𝐶𝑖𝑖
𝛾𝛾𝑖𝑖𝑖𝑖 = �
0 otherwise Step 0.
Define the number of cluster k
K-medie: ALGORITMO
1 if 𝑥𝑥𝑗𝑗̄ ∈ 𝐶𝐶𝑖𝑖
𝛾𝛾𝑖𝑖𝑖𝑖 = �
0 otherwise Step 1
Random assignment of each observation
to one of the K cluster and computation of
centroid (mean point) of each cluster.
K-medie: ALGORITMO
1 if 𝑥𝑥𝑗𝑗̄ ∈ 𝐶𝐶𝑖𝑖
𝛾𝛾𝑖𝑖𝑖𝑖 = �
0 otherwise Step 2
Assign each observation to the cluster
whose centroid is closer and update the
partition matrix
K-medie: ALGORITMO
1 if 𝑥𝑥𝑗𝑗̄ ∈ 𝐶𝐶𝑖𝑖
𝛾𝛾𝑖𝑖𝑖𝑖 = �
0 otherwise Step 3
Compute centroids again. Then repeat
Step 2 until no point changes the cluster
of belonging or until other stopping criteria
are satisfied.
K-medie: ALGORITMO
assegnando inizialmente in modo
random le osservazioni ai gruppi
posso ottenere diversi risultati.
PROBLEMA DI INIZIALIZZAZIONE
Nota:
label switching!
questi quattro casi sono diversi ma
solo perchè ho chiamato i gruppi
in modo diverso (in questo caso con
colori diversi)
2 2 2
y
1 1 1
0 0 0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x
2 2 2
y
1 1 1
0 0 0
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x x x
Limiti del metodo K-medie
CLUSTERING
GERARCHICO
Clustering Gerarchico
• Divisive:
Start with one, all-inclusive cluster
At each step, split a cluster until each cluster contains a point (or there are k
clusters)
Il Clustering Gerarchico fa uso di una Matrice Distanza (Distance Matrix) per implementare i
raggruppamenti.
La Distance Matrix contiene la distanza tra ogni coppia di oservazioni.
Il Clustering Gerarchico non richiede la definizione a priori di un numero di gruppi, ma necessita
di un criterio di stop.
Step 0 Step 1 Step 2 Step 3 Step 4
Agglomerative
a ab
b abcde
c cde
d de
e
Divisive
Step 4 Step 3 Step 2 Step 1 Step 0
Clustering Gerarchico Agglomerativo
ALGORITHM
ALGORITHM
Single Link: distanza tra i due elementi più vicini dei due cluster. se distanza min è grande i due cluster
sono lontani
Average Link:
The distance between two clusters is given by the distance of their
centroids. (mean points, not belonging to the original dataset)
Complete Link: distanza tra i due punti più lontani dei due cluster. se distanza max è piccola allora i due cluster
sono vicini
The distance between two clusters is given by the distance of their
points most far away.
Clustering Gerarchico: metodi di linkage
Single link
• Can handle non-elliptical shapes
• Sensitive to noise and outliers
Complete link
• Less susceptible to noise and outliers
• Tends to break large clusters
• Biased towards globular clusters
Clustering Gerarchico: Problems and Limitations
nel k-medie scegliamo k e quello rimane. in questo caso proviamo tantissimi k
A seconda della scelta del linkage, il risultato che si ottiene può essere
radicalmente diverso
Esempio: marketing segmentation
Come scegliere K?
taglio dove i rami sono più lunghi
• 𝑛𝑛 = number of points
• 𝑚𝑚𝑖𝑖 = points in cluster i
• 𝑐𝑐𝑗𝑗 = points in class j
• 𝑚𝑚𝑖𝑖𝑗𝑗 = points in cluster i coming from class j
• 𝑝𝑝𝑖𝑖𝑖𝑖 = 𝑚𝑚𝑖𝑖𝑖𝑖 /𝑚𝑚𝑖𝑖 = prob of element from class j in cluster i
• Precision:
– Of cluster i with respect to class j: 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑖𝑖, 𝑗𝑗 = 𝑝𝑝𝑖𝑖𝑖𝑖
• For the precision of a clustering you can take the maximum
• Recall:
𝑚𝑚𝑖𝑖𝑖𝑖
– Of cluster i with respect to class j: 𝑅𝑅𝑅𝑅𝑅𝑅 𝑖𝑖, 𝑗𝑗 =
𝑐𝑐𝑗𝑗
• For the recall of a clustering you can take the maximum
• F-measure:
– Harmonic Mean of Precision and Recall:
2 ∗ 𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑖𝑖, 𝑗𝑗 ∗ 𝑅𝑅𝑅𝑅𝑅𝑅(𝑖𝑖, 𝑗𝑗)
𝐹𝐹 𝑖𝑖, 𝑗𝑗 =
𝑃𝑃𝑃𝑃𝑃𝑃𝑃𝑃 𝑖𝑖, 𝑗𝑗 + 𝑅𝑅𝑅𝑅𝑅𝑅(𝑖𝑖, 𝑗𝑗)
Metriche interne
SSE – Sum of Squared Errors & WCSS – Within Clusters Sum of Squares
SSE = Somma dei quadrati delle distanze tra tutte le osservazioni di un cluster e il
corrispondente medoide.
un cluster sarà buono se questo valore sarà basso.
Metriche interne
9
che rappresenta la metrica interna 8
SSE
5
0
2 5 10 15 20 25 30
K
in questo caso sceglierò k=10 perchè oltre 10 il SSE non diminuisce più tanto
Metriche interne
Indice di SILHOUETTE
Single Cluster
Silhouette
Clustering
Silhouette
Metriche interne
Metriche interne
• Cluster Cohesion: Misura quanto “simili” tra loro siano gli elementi di un cluster.
• Cluster Separation: Misura quanto distinti o ben separati siano gli elementi di un
cluster da quelli degli altri.
• Esempio:
– Coesione misurata dal within cluster sum of squares
WSS = ∑ ∑ (x − c )
i x∈Ci
i
2
BSS = ∑ mi (c − ci ) 2
i
dove mi è la dimensione del cluster i-esimo.
Metriche interne - caveat
Nota: volendo si può costruire un algoritmo di clustering che usa una metrica
interna come funzione da ottimizzare.
Final Comments on Cluster Validity