Documentos de Académico
Documentos de Profesional
Documentos de Cultura
D3 Clustering PDF
D3 Clustering PDF
Clustering
Introducción
Medidas de similitud
Para atributos continuos: Métricas de distancia.
Para atributos no continuos, p.ej. distancia de edición.
Métodos de agrupamiento
K-Means
DBSCAN
Clustering jerárquico
Evaluación de resultados
Validación de resultados
Apéndice: El problema de la dimensionalidad
1
Introducción
Clustering (IA)
Ordenación (Psicología)
Segmentación (Marketing)
Introducción
Objetivo
Encontrar agrupamientos de tal forma que los objetos
de un grupo sean similares entre sí y diferentes de los
objetos de otros grupos [clusters].
Maximizar
Minimizar distancia
distancia inter-cluster
intra-cluster
3
Introducción
Aprendizaje no supervisado:
No existen clases predefinidas.
Introducción
¿Cuántos ¿Dos?
agrupamientos?
¿Seis? ¿Cuatro?
5
Introducción
Aplicaciones
Reconocimiento de formas.
Mapas temáticos (GIS)
Marketing: Segmentación de clientes
Clasificación de documentos
Análisis de web logs (patrones de acceso similares)
…
Medidas de similitud
¿Cuál es la forma natural de agrupar los personajes?
Mujeres
vs.
Hombres
7
Medidas de similitud
¿Cuál es la forma natural de agrupar los personajes?
Simpsons
vs.
Empleados de
la escuela de
Springfield 8
Medidas de similitud
¿Cuál es la forma natural de agrupar los personajes?
9
Medidas de similitud
Peter Pedro
0.23 342.7
3 10
Medidas de similitud
NOTA: No será posible que todas las variables tengan valores similares en un
mismo grupo, por lo que habrá que usar una medida global de semejanza
11
entre los elementos de un mismo grupo.
Medidas de similitud
disponibles
131
132
Hombre
Hombre
en nuestro
8-feb-1962
17-may-1953
conjunto
15 Administrativo $31.500
12 Administrativo $27.300
de datos.
$15.750
$17.250
89
89
22
175
No
No
Medidas de similitud
Atributos continuos
d(i,j
d(i,j)) > d(i,k
d(i,k))
nos indica que el objeto i es más parecido a k que a j
14
Medidas de similitud
Se suelen usar medidas de distancia
porque verifican las siguientes propiedades:
Propiedad reflexiva d(
d(i,j
i,j)) = 0 si y sólo si i=j
Propiedad simétrica d(
d(i,j
i,j)) = d(j,i
d(j,i))
15
Medidas de similitud
Métricas de distancia:
Distancia de Minkowski
16
Medidas de similitud
Métricas de distancia:
Distancia de Minkowski
17
Medidas de similitud
Métricas de distancia:
Distancia de Chebyshev
También conocida
como distancia de
tablero de ajedrez
(chessboard distance
distance):
):
Número de movimientos
que el rey ha de hacer
para llegar de una
casilla a otra en un
tablero de ajedrez. 18
Medidas de similitud
Métricas de distancia:
Distancia de Mahalanobis
Considera las
correlaciones
entre variables.
No depende de la
escala de medida.
19
Medidas de similitud
Métricas de distancia para atributos no continuos:
Distancia de edición = Distancia de Levenshtein
d(“data mining”,
mining”, “data minino”) = 1
d(“efecto”, “defecto”) = 1
d(“poda”, “boda”) = 1
d(“
d(“night”,”natch
night”,”natch”)
”) = d(“natch”,”noche
d(“natch”,”noche”)
”) = 3
20
Para datos binarios: Distancia de Hamming
Medidas de similitud
Métricas de similitud para atributos no continuos:
Modelos basados en Teoría de Conjuntos
Modelo de Tversky
Modelo de Restle
Intersección
21
Medidas de similitud
Métricas de similitud para atributos no continuos:
Modelos basados en Teoría de Conjuntos
Modelo proporcional
Distancia de Tanimoto
22
Medidas de similitud
Otras medidas de similitud:
Vecinos compartidos
i j i j
4
donde NN(x
NN(xi,xj) es el número de vecino de xj con respecto a xi
23
Medidas de similitud
Otras medidas de similitud:
Medidas de correlación
Producto escalar
“Cosine similarity”
similarity”
Coeficiente de Tanimoto
24
Métodos de agrupamiento
Tipos de algoritmos de clustering:
clustering:
Clustering jerárquico
BIRCH, ROCK, CHAMELEON
25
…
Métodos de agrupamiento
Clustering por particiones (suele fijarse k)
k=2
...
k-Means
Algoritmo de agrupamiento por particiones.
Iteration 6
1
2
3
4
5
3
2.5
1.5
y
0.5
k-Means
2 2 2
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
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
29
k-Means
Inicialización
Escoger k centroides aleatoriamente
(hay métodos más sofisticados).
Formar k grupos,
asignando cada punto al centroide más cercano
Proceso iterativo
Mientras que los centroides cambien:
Calcular las distancias
de todos los puntos a los k centroides.
centroides.
Formar k grupos,
asignando cada punto al centroide más cercano.
Recalcular los nuevos centroides.
centroides. 30
k-Means
Complejidad
n = número de puntos,
k = número de clusters,
clusters,
I = número iteraciones,
d = número de atributos
Problema NP si k no se fija.
Ahora bien, si fijamos los parámetros n, k, d, I:
O( n * k * I * d ) 31
k-Means
¿Cómo se recalculan los centroides?
centroides?
k-Means
K
¿Cómo se recalculan los centroides?
centroides? SSE = ∑ ∑ d 2 (mi , x)
i =1 x∈Ci
Conjunto de
clusters obtenido
tras la iteración t La función objetivo
no se mejora FIN 34
k-Means
Ejercicio
Centroides iniciales:
A1, A7 y A8
Métricas de distancia:
Distancia euclídea.
euclídea.
Distancia de Manhattan.
Distancia de Chebyshev.
Chebyshev.
35
k-Means
Ejercicio resuelto
Distancia euclídea
36
k-Means
Ejercicio resuelto
Distancia euclídea
k-Means
DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html 39
Evaluación de resultados
Maximizar
Minimizar distancia
distancia inter-cluster
intra-cluster (separación)
(cohesión)
40
Evaluación de resultados
Formas de medir cohesión y separación:
Usando centroides:
centroides:
41
Evaluación de resultados
Cuando la distancia utilizada es la distancia euclídea:
euclídea:
1
∑ dist 2 (mi , x) =
x∈Ci
∑
2(# Ci ) x∈Ci
∑ dist
y∈Ci
2
( x, y )
K K
1
SSE = ∑ ∑ dist (mi , x) = ∑
2
∑ ∑ dist 2
( x, y )
i =1 x∈Ci i =1 2(# Ci ) x∈Ci y∈Ci
Evaluación de resultados
Así pues, cuando se usa la distancia euclídea,
euclídea,
SSE es una buena medida del grado de ajuste
(cohesión y separación) de los centroides hallados.
K
SSE = ∑ ∑ d 2 (mi , x)
i =1 x∈Ci
44
Evaluación de resultados
3 3
2.5 2.5
2 2
1.5 1.5
y
y
1 1
0.5
0.5
0
0
45
Evaluación de resultados
Iteration 5
1
2
3
4
3
2.5
1.5
y
0.5
46
Evaluación de resultados
Iteration 1 Iteration 2
3 3
2.5 2.5
2 2
1.5 1.5
y
1 1
0.5 0.5
0 0
2 2 2
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
47
Evaluación de resultados
Matriz de similitud
Ordenamos los datos en la matriz de similitud con
respecto a los clusters en los que quedan los datos e
inspeccionamos visualmente…
1
1
10 0.9
0.9 C1
0.8 C1 20 0.8
0.7 30 0.7
0.6 40 0.6
Points
0.5 50 0.5
y
C2
0.4 60 0.4
0.3 70 0.3
0.2 80
0.1
C2 C3 C3
0.2
90 0.1
0
0 0.2 0.4 0.6 0.8 1 100 0
20 40 60 80 100Similarity
x
Points
C1 C2 C3
48
Evaluación de resultados
Problema 1
10 0.9
30 0.7
encontramos clusters
clusters::
50 0.5
60 0.4
DBSCAN (arriba) y 70
80
0.3
0.2
k-Means (abajo) 90
100
0.1
0
20 40 60 80 100 Similarity
Points
1
0.9
1
0.8
10 0.9
0.7 20 0.8
0.6 30 0.7
40 0.6
0.5
y
Points
50 0.5
0.4
60 0.4
0.3
70 0.3
0.2
80 0.2
0.1 90 0.1
0
0 0.2 0.4 0.6 0.8 1
100
20 40 60 80
0
100 Similarity 49
x Points
Evaluación de resultados
Matriz de similitud 1
2 6
DBSCAN 3
4
1
7
0.9
500
0.8
0.7
1000
0.6
1500 0.5
0.4
2000
0.3
0.2
2500
0.1
3000 0
500 1000 1500 2000 2500 3000
50
k-Means
Problema
Sensible a la elección inicial de los centroides.
centroides.
Posibles soluciones
Posibles soluciones
k-Means
53
k-Means
1.00E+03
9.00E+02
8.00E+02
7.00E+02
6.00E+02
5.00E+02
4.00E+02
3.00E+02
2.00E+02
1.00E+02
0.00E+00
1 2 3 4 5 6
k-Means
Problema
Cuando se usan la media para calcular los centroides,
centroides,
el método es sensible a outliers (valores anómalos).
Posibles soluciones
Posibles soluciones
d(
d(a,b
a,b)) = 1 si a=b, 0 en otro caso
k-Means
Problema
K-Means no funciona bien cuando los clusters son:
de distinto tamaño
de diferente densidad
no convexos
57
k-Means
Clusters de distinto tamaño
58
k-Means
Clusters de distinta densidad
59
k-Means
Clusters no convexos
60
k-Means
Problema
K-Means no funciona bien cuando los clusters son:
de distinto tamaño
de diferente densidad
no convexos
Posibles soluciones
Métodos ad-
ad-hoc.
62
k-Means
Clusters de distinta densidad
63
k-Means
Clusters no convexos
64
k-Means
Pre--procesamiento
Pre
Normalizar los datos.
datos.
Detectar outliers (
(eliminarlos
eliminarlos,, en su caso).
caso).
Post--procesamiento
Post
Eliminar pequeños clusters que puedan representar
outliers.
Dividir clusters dispersos (‘loose’ clusters); esto es,
es,
clusters con unSSE relativamente alto.
Combinar clusters cercanos que tengan un SSE
relativamente bajo
bajo..
NOTA: Estos criterios se pueden incluir en el propio
65 algoritmo de clustering (p.ej
(p.ej.. algoritmo ISODATA). 65
k-Means
Variantes
DBSCAN
Métodos basados en densidad
Un cluster en una región densa de puntos, separada
por regiones poco densas de otras regiones densas.
Útiles cuando los clusters tienen formas irregulares,
están entrelazados o hay ruido/outliers
ruido/outliers en los datos.
67
DBSCAN
Métodos basados en densidad
Características
Identifican clusters de formas arbitrarias.
Robustos ante la presencia de ruido.
Escalables: Un único recorrido del conjunto de datos 68
DBSCAN
Algoritmos basados en densidad
DBSCAN
Ejercicio
MinPts = 2
Epsilon
71
DBSCAN
Ejercicio resuelto
Distancia euclídea
72
DBSCAN
Ejercicio resuelto Epsilon =
73
DBSCAN
Ejercicio resuelto Epsilon =
74
DBSCAN
DEMO
http://webdocs.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html 75
DBSCAN
Clusters
76
DBSCAN… cuando funciona bien :-
:- )
DBSCAN
77
DBSCAN… cuando no funciona :-
:- (
DBSCAN++
i j i j
4
78
SNN density- clustering… O(n2)
density-based clustering…
Clustering jerárquico
p1
p3 p4
p2
p1 p2 p3 p4
Tradicional DENDOGRAMA
p1
p3 p4
p2
p1 p2 p3 p4
No tradicional 80
Clustering jerárquico
Aglomerativo
(AGNES: AGglomerative NESting
NESting))
0 1 2 3 4
a
ab
b abcde
c
cde
d
de
e
4 3 2 1 0
Divisivo 81
(DIANA: Divisive ANAlysis)
ANAlysis)
Clustering jerárquico
Dos tipos de técnicas de clustering jerárquico
Técnicas aglomerativas
Comenzar con cada caso como cluster individual.
En cada paso, combinar el par de clusters más
cercano hasta que sólo quede uno (o k).
Técnicas divisivas
Comenzar con un único cluster que englobe todos
los casos de nuestro conjunto de datos.
En cada paso, partir un cluster hasta que cada
cluster contenga un único caso (o queden k
clusters).
clusters).
82
Clustering jerárquico
83
Clustering jerárquico
Clustering jerárquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
¿Cuál es el número ideal de clusters?
clusters?
85
Clustering jerárquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
¿Cuál es el número ideal de clusters?
clusters?
86
Clustering jerárquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
¿Cuál es el número ideal de clusters?
clusters?
87
Clustering jerárquico
Ejemplo
Construir el correspondiente dendograma.
dendograma.
¿Cuál es el número ideal de clusters?
clusters?
88
Clustering jerárquico
Detección de la presencia de outliers:
outliers:
Outlier
89
Clustering jerárquico
Algoritmo básico (aglomerativo
(aglomerativo))
Clustering jerárquico
Inicialización:
p1 p2 p3 p4 p5
Clusters de casos individuales p1
y matriz de distancias p2
p3
p4
p5
91
Clustering jerárquico
Tras varias iteraciones:
C1 C2 C3 C4 C5
Varios clusters…
clusters…
C1
C2
C3
C4
C3 C5
C4
C1
C2 C5
92
Clustering jerárquico
Combinamos los clusters 2 y 5
C1 C2 C3 C4 C5
y actualizamos la matriz de distancias C1
¿cómo? C2
C3
C4
C3 C5
C4
C1
C2 C5
93
Clustering jerárquico
¿Cómo se mide la distancia entre clusters?
clusters?
MIN
single--link
single
MAX
complete
linkage
(diameter)
diameter)
94
Clustering jerárquico
¿Cómo se mide la distancia entre clusters?
clusters?
Promedio
Centroides
p.ej. BIRCH ×
×
95
Clustering jerárquico
Datos sintéticos (4 clusters
clusters):
): Single
Single--link
96
Clustering jerárquico
Datos sintéticos (aleatorios): Single-
Single-link
97
Clustering jerárquico
Datos sintéticos (4 clusters
clusters):
): Complete
Complete--link
98
Clustering jerárquico
Datos sintéticos (aleatorios): Complete-
Complete-link
99
Clustering jerárquico
Ejercicio
Variantes:
Single
Single--link (mínima distancia entre agrupamientos).
Complete
Complete--link (máxima distancia entre agrupamientos).
100
Clustering jerárquico
Ejercicio resuelto
Single--link
Single
Complete--link
Complete
101
Clustering jerárquico
DEMO
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html 102
Clustering jerárquico
Principal inconveniente del clustering jerárquico
103
Clustering jerárquico
Algoritmos de clustering jerárquico
104
SPSS
SPSS:: Two-
Two-Step Clustering (variante de BIRCH)
Clustering jerárquico
CURE
105
Clustering jerárquico
Agrupamientos con
varias densidades
CURE
106
Clustering jerárquico
Partición
del grafo
Combinar
particiones
CHAMELEON Clusters
finales
107
Clustering jerárquico
CHAMELEON
108
Validación de resultados
Criterios internos
(a partir de los propios datos),
p.ej. SSE (“Sum
(“Sum of Squared Error”)
para comparar clusters
para estimar el número de clusters
Otras medidas:
cohesión, separación, coeficientes de silueta…
110
Validación de resultados
SSE (“Sum
(“Sum of Squared Error”)
10
6 9
8
4
7
2 6
SSE
5
0
4
-2 3
2
-4
1
-6 0
2 5 10 15 20 25 30
5 10 15
K
111
Validación de resultados
SSE (“Sum
(“Sum of Squared Error”)
1
2 6
3
4
112
Algoritmos de clustering
Requisitos del algoritmo “perfecto”
Escalabilidad.
Manejo de distintos tipos de datos.
Identificación de clusters con formas arbitrarias.
Número mínimo de parámetros.
Tolerancia frente a ruido y outliers.
outliers.
Independencia con respecto al orden de presentación
de los patrones de entrenamiento.
Posibilidad de trabajar en espacios con muchas
dimensiones diferentes.
Capacidad de incorporar restricciones especificadas
por el usuario (“domain
(“domain knowledge”).
knowledge”). 113
Interpretabilidad / Usabilidad.
Bibliografía
Pang-Ning Tan,
Pang-
Michael Steinbach
& Vipin Kumar:
Kumar:
Introduction to Data Mining
Addison--Wesley
Addison Wesley,, 2006.
ISBN 0321321367 [capítulos 8&9]
Jiawei Han
& Micheline Kamber:
Kamber:
Data Mining:
Mining:
Concepts and Techniques
Morgan Kaufmann,
Kaufmann, 2006.
ISBN 1558609016 [capítulo 7] 114
Bibliografía
R. Agrawal,
Agrawal, J. Gehrke,
Gehrke, D. Gunopulos,
Gunopulos, and P. Raghavan.
Raghavan. Automatic subspace clustering of
high dimensional data for data mining applications.
applications. SIGMOD'98
M. Ankerst,
Ankerst, M. Breunig,
Breunig, H.-
H.-P. Kriegel,
Kriegel, and J. Sander. Optics: Ordering points to identify
the clustering structure,
structure, SIGMOD’99.
L. Ertöz,
Ertöz, M. Steinbach, and V. Kumar. Finding clusters of different sizes, shapes, and
densities in noisy, high-
high-dimensional data,
data, SDM’2003
M. Ester, H.-
H.-P. Kriegel
Kriegel,, J. Sander, and X. Xu
Xu.. A density-
density-based algorithm for discovering
clusters in large spatial databases.
databases. KDD'96.
D. Fisher. Knowledge acquisition via incremental conceptual clustering.
clustering. Machine
Learning, 2:139-
2:139-172, 1987.
D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data: An approach
based on dynamic systems.
systems. VLDB’98
S. Guha,
Guha, R. Rastogi,
Rastogi, and K. Shim. Cure: An efficient clustering algorithm for large
databases.. SIGMOD'98.
databases
S. Guha,
Guha, R. Rastogi,
Rastogi, and K. Shim. ROCK: A robust clustering algorithm for categorical
attributes. In ICDE'99, Sydney, Australia, March 1999.
attributes.
115
Bibliografía
A. Hinneburg,
Hinneburg, D.A
D.A.. Keim:
Keim: An Efficient Approach to Clustering in Large Multimedia
Databases with Noise.
Noise. KDD’98.
G. Karypis,
Karypis, E.-
E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical Clustering Algorithm
Using Dynamic Modeling. COMPUTER, 32(8): 68-
68-75, 1999.
L. Parsons, E. Haque and H. Liu, Subspace Clustering for High Dimensional Data: A
Review , SIGKDD Explorations, 6(1), June 2004
G. Sheikholeslami
Sheikholeslami,, S. Chatterjee
Chatterjee,, and A. Zhang. WaveCluster
WaveCluster:: A multi-
multi-resolution
clustering approach for very large spatial databases.
databases. VLDB’98.
Hou, and J. Han. Spatial Clustering in the Presence of Obstacles ,
A. K. H. Tung, J. Hou,
ICDE'01
H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern similarity in large data
sets,, SIGMOD’ 02.
sets
W. Wang, Yang, R. Muntz,
Muntz, STING: A Statistical Information grid Approach to Spatial
Data Mining,
Mining, VLDB’97.
T. Zhang, R. Ramakrishnan,
Ramakrishnan, and M. Livny.
Livny. BIRCH : an efficient data clustering method
for very large databases.
databases. SIGMOD'96.
SIGMOD'96.
116
Apéndice: Notación O
El impacto de la eficiencia de un algoritmo…
118
Apéndice
La dimensionalidad de los datos
Posibles soluciones
“Subspace clustering
clustering””
Buscar clusters usando distintas combinaciones de
atributos, vg
vg.. CLIQUE o PROCLUS.
119
Apéndice
La dimensionalidad de los datos
Subspace clustering
120
Apéndice
La dimensionalidad de los datos
Subspace clustering
121
Apéndice
La dimensionalidad de los datos
DEMO
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html 122
Apéndice
Otros métodos de clustering
Grids multiresolución
123
Apéndice
Otros métodos de clustering
Clustering basado en modelos
Estadística:
Estadística:
EM [Expectation Maximization], AutoClass
Clustering conceptual (Machine Learning):
COBWEB,, CLASSIT
COBWEB
Redes neuronales
neuronales:: 124
SOM [Self
[Self--Organizing Maps
Maps]]
Apéndice
Otros métodos de clustering
Clustering con restricciones
p.ej. Clustering con obstáculos
Posibles aplicaciones:
125
Distribución de cajeros automáticos/supermercados…
automáticos/supermercados…