Fundamentos de Minera de Datos
Clustering
Fernando Berzal
[email protected]
http://elvex.ugr.es/idbis/dm/
Intelligent Databases and Information Systems research group
Department of Computer Science and Artificial Intelligence
E.T.S Ingeniera Informtica Universidad de Granada (Spain)
Clustering
Introduccin
Similitud
Mtodos
K-Means
Jerrquicos
Densidad
Otros
Subspace
clustering
Validacin
Bibliografa
Sinnimos segn el contexto
Clustering (IA)
Aprendizaje no supervisado (IA)
Clasificacin (Estadstica)
Ordenacin (Psicologa)
Segmentacin (Marketing)
Clustering
Introduccin
Similitud
Mtodos
K-Means
Jerrquicos
Densidad
Otros
Subspace
clustering
Validacin
Bibliografa
Objetivo
Agrupar objetos similares entre s que sean
distintos a los objetos de otros agrupamientos
[clusters].
Aprendizaje no supervisado
No existen clases predefinidas
Los resultados obtenidos dependern de:
El algoritmo de agrupamiento seleccionado.
El conjunto de datos disponible
La medida de similitud utilizada para
3
comparar objetos.
Clustering
Encontrar agrupamientos de tal forma que los
objetos de un grupo sean similares entre s y
diferentes de los objetos de otros grupos:
Minimizar
distancia
intra-cluster
Maximizar
distancia
intercluster
Clustering
Aplicaciones
Reconocimiento de formas.
Mapas temticos (GIS)
Marketing: Segmentacin de clientes
Clasificacin de documentos
Anlisis de web logs (patrones de acceso
similares)
Aplicaciones tpicas en Data Mining:
Exploracin de datos (segmentacin & outliers)
Preprocesamiento (p.ej. reduccin de datos)
Clustering
Cul es la forma natural de agrupar los
personajes?
Hombres
vs.
Mujeres
Clustering
Cul es la forma natural de agrupar los
personajes?
Simpsons
vs.
Empleados
de la escuela
de Springfield
Clustering
Cul es la forma natural de agrupar los
personajes?
El clustering es subjetivo !!!
8
Medidas de similitud
Peter Pedro
342.7
0.23
3
Medidas de similitud
Usualmente, se expresan en trminos de
distancias:
d(i,j) > d(i,k)
nos indica que el objeto i es ms parecido a k que
aj
La definicin de la mtrica de similitud/distancia
ser distinta en funcin del tipo de dato y
de la interpretacin semntica que nosotros
hagamos.
En otras palabras, la similitud entre objetos10
es
Medidas de similitud
Cuntos
agrupamiento
s?
Seis?
Dos?
Cuatro?
11
Medidas de similitud
Atributos continuos
Usualmente, se estandarizan a priori:
Desviacin absoluta media:
s f 1n (| x1 f m f | | x2 f m f | ... | xnf m f |)
m f 1n (x1 f x2 f
...
xnf )
z-score (medida estandarizada):
xif m f
zif
sf
12
Medidas de similitud
Mtricas de distancia
Distancia de Minkowski
Distancia de Manhattan (r=1) / city block /
taxicab
Distancia eucldea (r=2):
Distancia de Chebyshev (r) / dominio /
chessboard
13
Medidas de similitud
Mtricas de distancia
Distancia de Minkowski
Distancia de Manhattan = 12
Distancia Eucldea 8.5
Distancia de Chebyshev = 6
14
Medidas de similitud
Mtricas de distancia
Distancia de Minkowski d(i,j) 0
Propiedad reflexiva
Propiedad simtrica
Desigualdad triangular
d(i,i) = 0
d(i,j) = d(j,i)
d(i,j) d(i,k)+d(k,j)
15
Medidas de similitud
Mtricas de distancia
Distancia de Chebyshev
Tambin conocida
como distancia de
tablero de ajedrez
(chessboard distance):
Nmero de
movimientos
que el rey ha de hacer
para llegar de una
casilla a otra en un
tablero de ajedrez.
16
Medidas de similitud
Mtricas de distancia
Distancia de Mahalanobis
Considera las
correlaciones
entre variables.
No depende de la
escala de medida.
17
Medidas de similitud
Mtricas de distancia
Distancia de edicin = Distancia de
Levenshtein
Nmero de operaciones necesario
para transformar una cadena en otra.
d(data mining, data minino) = 1
d(efecto, defecto) = 1
d(poda, boda) = 1
d(night,natch) = d(natch,noche) =
3
Aplicaciones:
Aplicaciones Correctores ortogrficos,
19
reconocimiento de voz, deteccin de plagios,
Medidas de similitud
Mtricas de distancia
Vecinos compartidos
i
Mutual Neighbor Distance
donde NN(xi,xj) es el nmero de vecino
de xj con respecto a xi
20
Medidas de similitud
Medidas de correlacin
Producto escalar
Cosine similarity
Coeficiente de Tanimoto
21
Medidas de similitud
Modelos basados en Teora de
Conjuntos
Modelo de Tversky
Modelo de Restle
Interseccin
23
Medidas de similitud
Modelos basados en Teora de
Conjuntos
Modelo proporcional
Modelo de Gregson = Coeficiente de Jaccard
Distancia de Tanimoto
24
Mtodos de agrupamiento
Requisitos del algoritmo perfecto
Escalabilidad
Manejo de distintos tipos de datos
Identificacin de clusters con formas arbitrarias
Nmero mnimo de parmetros
Tolerancia frente a ruido y outliers
Independencia con respecto al orden de
presentacin de los patrones de entrenamiento
Posibilidad de trabajar en espacios con muchas
dimensiones diferentes
Capacidad de incorporar restricciones
especificadas por el usuario (domain
knowledge)
26
Interpretabilidad / Usabilidad
Mtodos de agrupamiento
Tipos de algoritmos de clustering
Agrupamiento por particiones
k-Means, CLARANS
Clustering jerrquico
BIRCH, ROCK, CHAMELEON
Mtodos basados en densidad
DBSCAN
27
Mtodos de agrupamiento
Clustering por particiones
Datos originales
Datos agrupados
28
Mtodos de agrupamiento
Clustering jerrquico
p1
p3 p4
p2
p1 p2
Tradicional
p3 p4
DENDOGRAMA
p1
p3
p4
p2
p1 p2
No tradicional
p3 p4
29
Mtodos de agrupamiento
Mtodos basados en densidad
Un cluster en una regin densa de puntos,
separada por regiones poco densas de otras
regiones densas.
tiles cuando los clusters tienen formas
irregulares, estn entrelazados o hay ruido/outliers
en los datos.
30
k-Means
Algoritmo de agrupamiento por particiones
(MacQueen, 1967)
Nmero de clusters conocido (k)
Cada cluster tiene asociado un centroide
(centro geomtrico del cluster).
Los puntos se asignan al cluster cuyo centroide
est ms cerca (utilizando cualquier mtrica de
distancia).
Iterativamente, se van actualizando los centroides
en funcin de las asignaciones de puntos a
clusters, hasta que los centroides dejen de
cambiar.
Complejidad O(n*k*I*d)
donde n es el nmero de datos, k el nmero de
31
k-Means
Iteration 6
1
2
3
4
5
3
2.5
2
1.5
1
0.5
0
-2
-1.5
-1
-0.5
0.5
1.5
32
k-Means
Iteration 1
Iteration 2
1.5
1.5
1.5
2.5
2.5
2.5
0.5
0.5
0.5
-2
-1.5
-1
-0.5
0.5
1.5
-2
Iteration 4
-1.5
-1
-0.5
0.5
1.5
-2
Iteration 5
1.5
1.5
1.5
0.5
0.5
0.5
-1
-0.5
0.5
1.5
-1
-0.5
0.5
1.5
1.5
Iteration 6
2.5
2.5
-1.5
-1.5
2.5
-2
Iteration 3
-2
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
-1
-0.5
0.5
33
k-Means
Iteration 5
1
2
3
4
3
2.5
2
1.5
1
0.5
0
-2
-1.5
-1
-0.5
0.5
1.5
34
k-Means
Iteration 1
1.5
1.5
2.5
2.5
0.5
0.5
-2
-1.5
-1
-0.5
0.5
Iteration 3
Iteration 2
1.5
-2
-1.5
-1
Iteration 4
-0.5
1.5
1.5
1.5
0.5
0.5
0.5
-1
-0.5
0.5
1.5
1.5
Iteration 5
2.5
2.5
-1.5
0.5
2.5
-2
-2
-1.5
-1
-0.5
0.5
1.5
-2
-1.5
-1
-0.5
0.5
1.5
35
k-Means
3
2.5
Puntos originales
1.5
1
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
Solucin ptima
1.5
-2
-1.5
-1
-0.5
ptimo local
0.5
1.5
36
k-Means
Ejercicio
Agrupar los 8 puntos de la
figura en 3 clusters usando
el algoritmo de las K medias.
Centroides iniciales:
A1, A7 y A8
Mtricas de distancia:
Distancia eucldea
Distancia de Manhattan
Distancia de Chebyshev
37
k-Means
Ejercicio resuelto
Distancia eucldea
38
k-Means
Ejercicio resuelto
Distancia eucldea
Primera iteracin
Segunda iteracin
39
k-Means
Ejercicio resuelto
Distancia eucldea
Tercera iteracin
Configuracin final
40
k-Means
DEMO: K-Means
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletKM.html
41
k-Means
Ventaja
Eficiencia O(nkId)
vs. PAM
O(Ik(n-k)2)
CLARA O(ks2+k(n-k))
Desventajas
Termina en un ptimo local:
El resultado depende de la seleccin inicial de
centroides.
Necesidad de conocer el nmero de
agrupamientos k
Incapacidad para detectar ruido / identificar
outliers.
No resulta adecuado para detectar clusters no
convexos
42
k-Means
Clusters de
distinto tamao
Clusters de
distinta densidad
Clusters
no convexos
43
k-Means
Variantes
GRASP [Greedy Randomized Adaptive Search
Procedure] para evitar ptimos locales.
k-Modes (Huang1998) utiliza modas en vez de
medias (para poder trabajar con atributos de tipo
categrico).
k-Medoids utiliza medianas en vez de medias
para limitar la influencia de los outliers
vg. PAM (Partitioning Around Medoids, 1987)
CLARA (Clustering LARge Applications, 1990)
44
CLARANS (CLARA + Randomized Search,
k-Means
DEMO: Fuzzy C-Means
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletFCM.html
45
Clustering jerrquico
DENDROGRAMA:
DENDROGRAMA La similitud entre dos objetos
viene dada por la altura del nodo comn ms
cercano.
46
Clustering jerrquico
El DENDROGRAMA nos puede ayudar a determinar
el nmero adecuado de agrupamientos (aunque
47
normalmente no ser tan fcil).
Clustering jerrquico
Outlier
El DENDROGRAMA
tambin nos puede servir para detectar outliers.48
Clustering jerrquico
0
a
b
aglomerativo
(AGNES)
AGglomerative NESting
ab
abcde
cde
de
e
4
divisivo
(DIANA)
Divisive ANAlysis
En lugar de establecer de antemano el nmero de
clusters, tenemos que definir un criterio de parada
49
Clustering jerrquico
Cmo medir la distancia entre clusters?
MIN
single-link
MAX
complete
linkage
(diameter)
50
Clustering jerrquico
Cmo medir la distancia entre clusters?
Promedio
Centroides
p.ej. BIRCH
51
Clustering jerrquico
Ejercicio
Utilizar un algoritmo aglomerativo de clustering jerrquico para
agrupar los datos descritos por la siguiente matriz de
distancias:
Variantes:
Single-link (mnima distancia entre agrupamientos)
Complete-link (mxima distancia entre agrupamientos)
52
Clustering jerrquico
Ejercicio resuelto
Single-link
Complete-link
53
Clustering jerrquico
DEMO: Algoritmo aglomerativo
http://www.elet.polimi.it/upload/matteucc/Clustering/tutorial_html/AppletH.html
54
Clustering jerrquico
Datos sintticos (4 clusters): Single-link
55
Clustering jerrquico
Datos sintticos (4 clusters): Complete-link
56
Clustering jerrquico
Datos sintticos (aleatorios): Single-link
57
Clustering jerrquico
Datos sintticos (aleatorios): Complete-link
58
Clustering jerrquico
Principal inconveniente del clustering
jerrquico:
Baja escalabilidad
O(n2)
Algoritmos escalables:
BIRCH: Balanced Iterative Reducing and
Clustering using Hierarchies (Zhang,
Ramakrishnan & Livny, SIGMOD1996)
ROCK: RObust Clustering using linKs
(Guha, Rastogi & Shim, ICDE1999)
CURE: Clustering Using REpresentatives
59
Clustering jerrquico
CURE
60
Clustering jerrquico
Agrupamientos
con distintas
densidades
CURE
61
Clustering jerrquico
Particin del grafo
Clusters finales
CHAMELEON
Combinar
particiones
62
Clustering jerrquico
CHAMELEON
63
Density-based Clustering
Criterio de agrupamiento local:
Densidad de puntos
Regin densas de puntos separadas
de otras regiones densas por regiones poco
densas
Caractersticas
Identifica clusters de formas arbitrarias.
Robusto ante la presencia de ruido
Escalable: Un nico recorrido del conjunto de
64
Density-based Clustering
Algoritmos
DBSCAN: Density Based Spatial Clustering of
Applications with Noise (Ester et al., KDD1996)
OPTICS: Ordering Points To Identify the Clustering
Structure (Ankerst et al. SIGMOD1999)
DENCLUE: DENsity-based CLUstEring
(Hinneburg & Keim, KDD1998)
CLIQUE: Clustering in QUEst
(Agrawal et al., SIGMOD1998)
SNN (Shared Nearest Neighbor) density-based
clustering
65
(Ertz, Steinbach & Kumar, SDM2003)
Density-based Clustering
Ejercicio
Agrupar los 8 puntos
de la figura utilizando
el algoritmo DBSCAN.
Nmero mnimo de puntos
en el vecindario:
MinPts = 2
Radio del vecindario:
Epsilon
66
Density-based Clustering
Ejercicio resuelto
Distancia eucldea
67
Density-based Clustering
Ejercicio resuelto
Epsilon =
A1, A2 y A7 no tienen vecinos en su vecindario,
por lo que se consideran outliers (no estn en zonas densas):
68
Density-based Clustering
Ejercicio resuelto
Epsilon =
Al aumentar el valor del parmetro Epsilon,
el vecindario de los puntos aumenta y todos quedan agrupados:
69
Density-based Clustering
DEMO: DBSCAN et al.
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
70
Density-based Clustering
Clusters
DBSCAN cuando funciona bien
71
Density-based Clustering
DBSCAN sensible al valor inicial de sus
parmetros
72
Density-based Clustering
SNN density-based clustering O(n2)
73
Otros mtodos
Grids multiresolucin
74
Otros mtodos
Grids multiresolucin
STING, a STatistical INformation Grid approach
(Wang, Yang & Muntz, VLDB1997)
WaveCluster, basado en wavelets
(Sheikholeslami, Chatterjee & Zhang,
VLDB1998)
CLIQUE: CLustering In QUEst
(Agrawal et al., SIGMOD1998)
75
Otros mtodos
Clustering basado en modelos
Ajustar los datos a un modelo matemtico
Se supone que los datos provienen de la
superposicin de varias distribuciones de
probabilidad.
Algoritmos
Estadstica:
EM [Expectation Maximization], AutoClass
Clustering conceptual (Machine Learning):
COBWEB, CLASSIT
Redes neuronales:
SOM [Self-Organizing Maps]
76
Otros mtodos
Clustering con restricciones
p.ej. Clustering con obstculos
Posibles aplicaciones:
Distribucin de cajeros
automticos/supermercados
77
Subspace clustering
La dimensionalidad de los datos
Por qu es un problema?
Los datos en una dimensin estn
relativamente cerca
Al aadir una nueva dimensin, los datos se
alejan.
Cuando tenemos muchas dimensiones, las
medidas de distancia no son tiles
(equidistancia).
78
Subspace clustering
La dimensionalidad de los datos
Soluciones
Transformacin de caractersticas (PCA,
SVD)
til slo si existe correlacin/redundancia
Seleccin de caractersticas (wrapper/filter)
til si se pueden encontrar clusters en
subespacios
Subspace clustering
Buscar clusters en todos los subespacios
posibles.
79
Subspace clustering
80
Subspace clustering
81
Subspace clustering
DEMO: CLIQUE et al.
http://www.cs.ualberta.ca/~yaling/Cluster/Applet/Code/Cluster.html
82
Validacin
Cmo se puede evaluar
la calidad de los clusters obtenidos?
Depende de lo que estemos buscando
Hay situaciones en las que nos interesa:
Evitar descubrir clusters donde slo hay ruido.
Comparar dos conjuntos de clusters
alternativos.
Comparar dos tcnicas de agrupamiento
83
Validacin
Criterios externos
(aportando informacin adicional)
p.ej. entropa/pureza (como en clasificacin)
Criterios internos
(a partir de los propios datos),
p.ej. SSE (Sum of Squared Error)
para comparar clusters
para estimar el nmero de clusters
Otras medidas:
84
cohesin, separacin, coeficientes de silueta
Validacin
Cul es el nmero adecuado de agrupamientos?
p.ej. SSE (Sum of Squared Error)
k=1
J = 873.0
k=2
J = 173.1
k=3
J = 133.6
85
Validacin
Cul es el nmero adecuado de agrupamientos?
p.ej. SSE (Sum of Squared Error)
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
El codo en k=2 sugiere que ste es el
valor
adecuado para el nmero de
k
86
Validacin
6
4
2
0
-2
-4
-6
5
10
15
10
9
8
7
SSE
6
5
4
3
2
1
0
10
15
20
25
30
87
Validacin
1
5
7
88
Validacin
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
10
0.9
20
0.8
0.7
30
0.7
0.6
40
0.6
50
0.5
60
0.4
0.3
70
0.3
0.2
80
0.2
90
0.1
0.9
Points
0.8
0.5
0.4
0.1
0
0.2
0.4
0.6
0.8
100
20
40
60
Points
80
0
100 Similarity
89
Validacin
Matriz de similitud
1
10
0.9
20
0.8
30
0.7
40
0.6
50
0.5
60
0.4
70
0.3
80
0.2
0.9
90
0.1
Points
Clusters en datos aleatorios
(DBSCAN y k-Means)
100
0.8
20
0.7
40
60
Points
80
0
100 Similarity
0.6
1
0.5
0.4
10
0.9
0.8
30
0.7
0.2
40
0.6
50
0.5
60
0.4
70
0.3
80
0.2
90
0.1
Points
20
0.3
0.1
0
0.2
0.4
0.6
0.8
100
20
40
60
Points
80
90
0
100 Similarity
Validacin
Matriz de similitud
DBSCAN
5
7
1
0.9
500
0.8
0.7
1000
0.6
1500
0.5
0.4
2000
0.3
0.2
2500
0.1
3000
500
1000
1500
2000
2500
3000
91
Bibliografa
R. Agrawal, J. Gehrke, D. Gunopulos, and P. Raghavan. Automatic
subspace clustering of high dimensional data for data mining
applications. SIGMOD'98
M. Ankerst, M. Breunig, H.-P. Kriegel, and J. Sander. Optics: Ordering
points to identify the clustering structure, SIGMOD99.
L. Ertz, M. Steinbach, and V. Kumar. Finding clusters of different
sizes, shapes, and densities in noisy, high-dimensional data,
SDM2003
M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm
for discovering clusters in large spatial databases. KDD'96.
D. Fisher. Knowledge acquisition via incremental conceptual
clustering. Machine Learning, 2:139-172, 1987.
D. Gibson, J. Kleinberg, and P. Raghavan. Clustering categorical data:
An approach based on dynamic systems. VLDB98
S. Guha, R. Rastogi, and K. Shim. Cure: An efficient clustering
algorithm for large databases. SIGMOD'98.
S. Guha, R. Rastogi, and K. Shim. ROCK: A robust clustering algorithm
for categorical attributes. In ICDE'99, Sydney, Australia, March 1999.
92
Bibliografa
A. Hinneburg, D.l A. Keim: An Efficient Approach to Clustering in
Large Multimedia Databases with Noise. KDD98.
G. Karypis, E.-H. Han, and V. Kumar. CHAMELEON: A Hierarchical
Clustering Algorithm Using Dynamic Modeling. COMPUTER,
32(8): 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, S. Chatterjee, and A. Zhang. WaveCluster: A
multi-resolution clustering approach for very large spatial
databases. VLDB98.
A. K. H. Tung, J. Hou, and J. Han. Spatial Clustering in the
Presence of Obstacles , ICDE'01
H. Wang, W. Wang, J. Yang, and P.S. Yu. Clustering by pattern
similarity in large data sets, SIGMOD 02.
W. Wang, Yang, R. Muntz, STING: A Statistical Information grid
Approach to Spatial Data Mining, VLDB97.
93
T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH : an efficient data
Crditos
Jiawei Han (University of Illinois at UrbanaChampaign): Data Mining: Concepts and
Techniques, captulo 7, 2006
Pang-Ning Tan (Michigan State University),
Michael Steinbach & Vipin Kumar (University of
Minnesota): Introduction to Data Mining,
captulos 8 y 9, 2006
94
Apndice: Notacin O
El impacto de la eficiencia de un algoritmo
n
10
100
1000
10000
100000
O(n)
10ms
0.1s
1s
10s
100s
O(nlog2 n)
33ms
0.7s
10s
2 min
28 min
O(n2)
100ms
10s
17 min
28 horas 115 das
O(n3)
1s
17min
12 das 31 aos 32
milenios
95