Clustering
Clustering
Clustering
Introducción
Medidas de
similaridad
Algoritmos Clustering
k-Means
COBWEB
Clustering
basado en
Eduardo Morales, Hugo Jair Escalante
probabili-
dades
INAOE
Algoritmo EM
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 1 / 70
Outline
1 Introducción
Outline
2 Medidas de similaridad
Introducción
Medidas de
similaridad
3 Algoritmos
Algoritmos
4 k-Means
k-Means
COBWEB
5 COBWEB
Clustering
basado en
probabili- 6 Clustering basado en probabilidades
dades
Algoritmo EM 7 Algoritmo EM
Extensiones
AutoClass 8 Extensiones
¿Cuántos
Clusters? 9 AutoClass
10 ¿Cuántos Clusters?
(INAOE) 2 / 70
Introducción
Clustering
Outline
Introducción
COBWEB
muy diferentes) con objetos de otros clusters.
Clustering • La medida de similaridad está basada en los atributos
basado en
probabili- que describen a los objetos.
dades
Algoritmo EM
• Los grupos pueden ser exclusivos, con traslapes,
Extensiones probabilı́sticos, jerárquicos.
AutoClass • Clustering puede ser aplicado, por ejemplo, para
¿Cuántos
Clusters?
caracterizar clientes, formar taxonomı́as, clasificar
documentos, etc.
(INAOE) 3 / 70
Introducción
Retos
Outline
• Escalabilidad: Normalmente corren con pocos datos.
Introducción • Capacidad de manejar diferentes tipos de atributos:
Medidas de Numéricos (lo más común), binarios, nominales,
similaridad
ordinales, etc.
Algoritmos
• Clusters de formas arbitrarias: Los basados en
k-Means
COBWEB
distancias numéricas tienden a encontrar cluster
Clustering
esféricos.
basado en
probabili-
• Requerimientos mı́nimos para especificar parámetros,
dades
como el número de clusters.
Algoritmo EM
• Manejo de ruido: Muchos son sensibles a datos
Extensiones
erróneos.
AutoClass
• Independientes del orden de los datos.
¿Cuántos
Clusters? • Poder funcionar eficientemente con alta
dimensionalidad.
• Capacidad de añadir restricciones.
• Que los clusters sean interpretables y utilizables.
(INAOE) 4 / 70
Introducción
Clustering
Outline
Introducción
Medidas de
similaridad
• La medida de similaridad se define normalmente por
Algoritmos
proximidad en un espacio multidimensional.
k-Means
Algoritmo EM
datos:
Extensiones
xif − µf
AutoClass Zif =
¿Cuántos
σf
Clusters?
(INAOE) 5 / 70
Introducción
Clustering
Outline
Introducción
Medidas de
similaridad
Clustering 1
basado en σf = (|x − µf | + |x2f − µf | + . . . + |xnf − µf |)
probabili-
dades
n 1f
Algoritmo EM
1
µf = (x + x2f + . . . + xnf )
n 1f
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 6 / 70
Medidas de similaridad
Medidas de similaridad
Outline
Introducción
Medidas de
similaridad
Existen medidas para:
Algoritmos
(INAOE) 7 / 70
Medidas de similaridad
Algoritmos • Manhattan:
k-Means
¿Cuántos
• Distancia Pesada (e.g., Euclideana):
Clusters? q
d(i, j) = w1 |xi1 − xj1 |2 + w2 |xi2 − xj2 |2 + . . . + wn |xin − xjn |2
Propiedades de distancias: (i) d(i, j) ≥ 0, (ii) d(i, i) = 0, (iii)
d(i, j) = d(j, i), y (iv) d(i, j) ≤ d(i, h) + d(h, j).
(INAOE) 8 / 70
Medidas de similaridad
COBWEB
donde:
Clustering • q = número de valores que son 1 en las dos
basado en •
probabili-
r = número de valores que son 1 en i y 0 en j
dades • s = número de valores que son 0 en i y 1 en j
Algoritmo EM • t = número de valores que son 0 en las dos.
Extensiones
• No-simétricas (el más importante y más raro vale 1),
AutoClass
conocido como el coeficiente Jaccard:
¿Cuántos
Clusters?
r +s
d(i, j) =
q+r +s
(INAOE) 9 / 70
Medidas de similaridad
Variables nominales
Outline
Introducción
Medidas de
similaridad
• Por ejemplo, “color”:
Algoritmos
p−m
k-Means d(i, j) =
COBWEB
p
Clustering donde: m = número de valores iguales, p = número
basado en
probabili- total de casos.
dades
Algoritmo EM
• Se pueden incluir pesos para darle más importancia a
Extensiones m.
AutoClass • Se pueden crear nuevas variables binarias asimétricas
¿Cuántos
Clusters?
a partir de las nominales (e.g., es amarillo o no).
(INAOE) 10 / 70
Medidas de similaridad
Variables ordinales
Outline
Introducción
Algoritmos
El orden es importante, pero no la magnitud.
k-Means • Pasos:
COBWEB 1 Cambia el valor de cada variable por un ranqueo
Clustering rif ∈ {1, . . . , Mf }, donde Mf es el ı́ndice del valor más
basado en
probabili- alto de la variable
dades 2 Mapea el ranqueo entre 0 y 1 para darle igual peso
Algoritmo EM
Extensiones rif − 1
zif =
AutoClass Mf − 1
¿Cuántos
Clusters? 3 Usa cualquiera de las medidas numéricas anteriores.
(INAOE) 11 / 70
Medidas de similaridad
Introducción
Medidas de
similaridad
Algoritmos
• Son variables que siguen una escala no lineal, por
k-Means
ejemplo, una escala exponencial
COBWEB
Clustering
• Posibilidades:
basado en 1 Tratalas como numérica normal.
probabili-
dades 2 Obten su logaritmo (o algúna otra transformación) antes
Algoritmo EM para convertirlas en lineales.
Extensiones 3 Consideralas como variables ordinales.
AutoClass
¿Cuántos
Clusters?
(INAOE) 12 / 70
Medidas de similaridad
Variables mixtas
Outline
Introducción
k-Means Pp (f ) (f )
COBWEB f =1 δij dij
d(i, j) = Pp (f )
f =1 δij
Clustering
basado en
probabili-
dades donde:
(f )
Algoritmo EM
δij = 0 si xif o xjf se desconocen o si los dos valores
Extensiones
son 0 y la variable es asimétrica binaria. En caso
AutoClass
contrario vale 1.
¿Cuántos (f )
Clusters? dij depende del tipo:
(INAOE) 13 / 70
Medidas de similaridad
Variables mixtas
Outline
Introducción
Medidas de
similaridad
Algoritmos (f )
• Si f es binaria o nominal: dij = 0 si xif = xjf , si no,
k-Means
(f )
COBWEB dij = 1.
Clustering (f ) |x −x |
basado en • Si f es numérica lineal: dij = max x if −min
jf
probabili- h hf h xhf
dades
• Si f es ordinal o numérica no lineal: calcula los ı́ndices
Algoritmo EM rif −1
rif y zif = Mf −1 y toma a zif como numérica lineal.
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 14 / 70
Medidas de similaridad
HVDM
Outline
Introducción
Algoritmos
(Heterogeneous Value Difference Metric) definida
k-Means
como: v
u m
COBWEB uX
Clustering
HVDM(~x , ~y ) = t da2 (xi , yi )
basado en
probabili-
i=1
dades
Algoritmo EM
donde m es el número de atributos y
Extensiones 1 si x o y son desconocidas
AutoClass da (x, y) = norm vdma (x, y) si a es nominal
¿Cuántos
norm diffa (x, y ) si a es numérico
Clusters?
(INAOE) 15 / 70
Medidas de similaridad
HVDM
Outline • Como el 95% de los valores de una distribución normal
Introducción
están dentro de dos desviaciones estándar de la media,
Medidas de
similaridad la distancia se divide entre 4 σa
Algoritmos
|x − y|
k-Means
norm diffa (x, y) =
COBWEB 4σa
Clustering
basado en • Originalmente se propusieron 3 medidas:
probabili-
dades
Algoritmo EM
X Na,x,c Na,x,c
N1 : norm vdm1a (x, y ) = C
−
Extensiones Na,x Na,x
c=1
AutoClass
¿Cuántos
Clusters?
Na,x = número de instancias con valor x en el atributo a
Na,x,c = número de instancias con valor x en el atributo
a y clase c
C = número de clases
(INAOE) 16 / 70
Medidas de similaridad
HVDM
Outline
Introducción
Algoritmos v
u 2
k-Means uX Na,x,c Na,x,c
N2 : norm vdm2a (x, y) = t C −
COBWEB Na,x Na,x
c=1
Clustering
basado en
probabili-
dades • N3: Original
Algoritmo EM v
Na,x,c 2
u
Extensiones u X Na,x,c
AutoClass N3 : norm vdm3a (x, y ) = C ∗
t C −
Na,x Na,x
¿Cuántos c=1
Clusters?
(INAOE) 17 / 70
Algoritmos
Algoritmos de Clustering
Outline
Existe una gran cantidad de algoritmos de clustering (sólo
Introducción vamos a ver algunos). En particular existen diferentes
Medidas de algoritmos basados en:
similaridad
• Paticiones
Algoritmos
k-Means
• Jerárquicos
COBWEB • Densidades
Clustering • Rejillas
basado en
probabili-
dades
• Modelos
Algoritmo EM • Teorı́a de grafos
Extensiones • Búsqueda combinatoria
AutoClass
• Técnicas Fuzzy
¿Cuántos
Clusters? • Redes neuronales
• Kernels
• Para datos secuenciales
• Para grandes conjuntos de datos
(INAOE) 18 / 70
Algoritmos
Introducción
Medidas de
similaridad
• Construyen k particiones de los datos, donde cada
Algoritmos
k-Means
partición representa un grupo o cluster
COBWEB • Cada grupo tiene al menos un elemento y cada
Clustering
basado en
elemento pertenece a un solo grupo.
probabili-
dades
• Estos métodos, crean una partición inicial e iteran hasta
Algoritmo EM un criterio de paro
Extensiones • Los más populares son k -medias y k -medianas (otros:
AutoClass
CLARA y CLARANS).
¿Cuántos
Clusters?
(INAOE) 19 / 70
Algoritmos
Métodos Jerárquicos
Outline
Introducción
Medidas de
similaridad
• Crean descomposiciones jerárquicas
Algoritmos
• Existen dos tipos:
k-Means
1 El método aglomerativo o bottom-up, empieza con un
COBWEB
Clustering
grupo por cada objeto y une los grupos más parecidos
basado en hasta llegar a un solo grupo u otro criterio de paro (e.g.,
probabili-
dades AGNES, BIRCH, CURE, ROCK).
Algoritmo EM 2 El método divisorio o top-down, empieza con un solo
Extensiones grupo y lo divide en grupos más pequeños hasta llegar
AutoClass a grupos de un solo elemento u otro criterio de paro
¿Cuántos
(e.g., DIANA, MONA).
Clusters?
(INAOE) 20 / 70
Algoritmos
Otros Métodos
Outline
Introducción
Medidas de
similaridad • Métodos basados en densidades: Se agrupan objetos
Algoritmos mientras su densidad (número de objetos) en la
k-Means
“vecindad” esté dentro de un cierto umbral (e.g.,
COBWEB
DBSCAN, DENCLUE).
Clustering
basado en • Métodos basados en rejillas: Se divide el espacio en
probabili-
dades rejillas a diferentes niveles (e.g, STING, CLIQUE).
Algoritmo EM
• Métodos basados en modelos: Se encuentra un
Extensiones
AutoClass
modelo para cada cluster que mejor ajuste los datos de
¿Cuántos
ese grupo (e.g., COBWEB, AutoClass).
Clusters?
(INAOE) 21 / 70
Algoritmos
Otros Métodos
Outline
Introducción
• Métodos basados en teorı́a de grafos: Utilizan
Medidas de
similaridad representaciones basadas en grafos (e.g., Chameleon,
Algoritmos Delaunay triangulation graph (DTG), highly connected
k-Means subgraphs (HCS), clustering identification via
COBWEB connectivity kernels (CLICK), cluster affinity search
Clustering
basado en
technique (CAST))
probabili-
dades • Técnicas basadas en Búsqueda Combinatoria (e.g.,
Algoritmo EM Genetically guided algorithm (GGA), TS clustering, SA
Extensiones clustering)
AutoClass
• Técnicas Fuzzy (e.g., Fuzzy c-means (FCM), mountain
¿Cuántos
Clusters? method (MM), possibilistic c-means clustering algorithm
(PCM), fuzzy c-shells (FCS))
(INAOE) 22 / 70
Algoritmos
Otros Métodos
Outline
k-Means
clustering network (HEC), self-splittting competitive
COBWEB
learning network (SPLL))
Clustering • Técnicas basadas en Kernels (e.g. Kernel K-means,
basado en
probabili- support vector clustering (SVC))
dades
Algoritmo EM
• Técnicas para Datos Secuenciales (e.g. Similaridad
Extensiones secuencial, clustering secuencial indirecto, clustering
AutoClass secuencial estadı́stico)
¿Cuántos
Clusters?
• Técnicas para grandes conjuntos de datos (e.g.,
CLARA, CURE, CLARANS, BIRCH, DBSCAN,
DENCLUE, WaveCluster, FC, ART)
(INAOE) 23 / 70
k-Means
k-Means
Outline
Introducción
Medidas de
similaridad
• Es de los más conocidos y usados
Algoritmos • Toma como parámetro k que es el número de clusters
k-Means que forma.
COBWEB
• Pasos:
Clustering
basado en 1 Selecciona k elementos aleatoriamente, los cuales
probabili-
dades
representan el centro o media de cada cluster.
2 A cada objeto restante se le asigna el cluster con el cual
Algoritmo EM
Extensiones
más se parece, basándose en una distancia entre el
AutoClass
objeto y la media del cluster
3 Despúes calcula la nueva media del cluster e itera hasta
¿Cuántos
Clusters? no cambiar de medias.
(INAOE) 24 / 70
k-Means
Algoritmo de k-means
Outline
Introducción
Medidas de
similaridad
Algoritmos
Extensiones
until no hay cambio
AutoClass
¿Cuántos
Clusters?
(INAOE) 25 / 70
k-Means
k-means
Outline
Introducción
• Normalmente se utiliza un medida de similaridad
Medidas de
similaridad basada en el error cuadrático:
Algoritmos
k X
X
k-Means
E= |p − mi |2
COBWEB
i=1 p∈Ci
Clustering
basado en
probabili-
dades
donde: p representa al objeto y mi a la media del
Algoritmo EM cluster Ci (ambos son objetos multidimensionales).
Extensiones • k-means es susceptible a valores extremos porque
AutoClass
distorcionan la distribución de los datos.
¿Cuántos
Clusters? • Tambı́en se pueden utilizar las modas (k-modes) para
agrupar objetos categóricos.
(INAOE) 26 / 70
k-Means
k-Medianas
Outline
Introducción
Medidas de
similaridad
• Otra posibilidad es usar medianas (k-medoids) para
Algoritmos
agrupar con base al objeto más representativo del
k-Means cluster
COBWEB • La idea básica es encontrar un objeto representativo
Clustering
basado en • La estrategia es reemplazar una de las medianas por
probabili-
dades otro objeto en forma aleatoria y medir si la calidad de
Algoritmo EM los clusters resultantes mejoran
Extensiones
• La calidad se evalúa con base en una función de costo
AutoClass
que mide la disimilaridad promedio entre un objeto y la
¿Cuántos
Clusters? mediana en su cluster.
(INAOE) 27 / 70
k-Means
k-Medianas
Outline • Para ver si un objeto aleatorio es un buen reemplazo de
Introducción la mediana actual, se consideran todos los objetos que
Medidas de no sean medianas y se analiza la re-distribución de los
similaridad
Algoritmos
objetos a partir de la cual se calcula un costo basado,
k-Means
por ejemplo, en el error cuadrático
COBWEB • Esto se repite hasta que no exista mejora.
Clustering
basado en
• Cómo en muchos de los métodos vistos, no garantiza
probabili-
dades
encontrar el mı́nimo global, por lo que se recomienda
Algoritmo EM correr varias veces el algoritmo con diferentes valores
Extensiones iniciales.
AutoClass • Otra variante es hacer un k-means jerárquico, en
¿Cuántos
Clusters? donde se empieza con k = 2 y se continua formando
clusters sucesivos en cada rama.
• Si queremos escalarlo a grandes bases de datos,
podemos tomar únicamente muestras de los datos.
(INAOE) 28 / 70
COBWEB
Cobweb
Outline
Introducción
Medidas de
similaridad
¿Cuántos
Clusters?
(INAOE) 29 / 70
COBWEB
Cobweb
Outline
Introducción
Medidas de
similaridad • Utiliza una medida llamada utilidad de la categoria para
Algoritmos construir el árbol:
k-Means Pn hP P i
2 2
P P
COBWEB k=1 P(Ck ) i j P(Ai = Vij |Ck ) − i j P(Ai = Vij )
CU =
Clustering n
basado en
probabili- donde: n es el número de clases en un nivel del árbol.
dades
(INAOE) 30 / 70
COBWEB
Cobweb
Outline
Introducción
Algoritmos
partición.
k-Means • Entre más grande es la proporción de elementos de la
COBWEB clase que tienen ese atributo-valor, ese atributo-valor es
Clustering
basado en
más predictivo sobre la clase.
probabili-
dades • COBWEB desciende el árbol buscando el mejor lugar o
Algoritmo EM nodo para cada objeto
Extensiones
• Esto se basa en poner el objeto en cada nodo y en un
AutoClass
nodo nuevo y medir en cual se tiene la mayor ganancia
¿Cuántos
Clusters? de utilidad de categorı́a.
(INAOE) 31 / 70
COBWEB
Cobweb
Outline
Introducción
Medidas de
similaridad
• COBWEB también considera en cada iteración unir los
Algoritmos dos mejores nodos evaluados y dividir el mejor nodo
k-Means evaluado
COBWEB
• Esto es, cada vez que se considera un lugar en un nivel
Clustering
basado en para un nuevo objeto, se consideran los dos mejores
probabili-
dades objetos (de mayor utilidad) y se considera juntarlos.
Algoritmo EM • El caso contrario, sucede una vez que se encuentra el
Extensiones mejor lugar para un nuevo objeto, pero el unir nodos no
AutoClass
resulta beneficioso, entonces se considera dividir ese
¿Cuántos
Clusters? nodo.
(INAOE) 32 / 70
COBWEB
Cobweb
Outline
Introducción
Medidas de
similaridad
¿Cuántos
Clusters?
(INAOE) 33 / 70
COBWEB
Classit
Outline • Cobweb se puede extender a valores numéricos
Introducción usando gaussianas (CLASSIT).
Medidas de
similaridad
1 (a−µ)2
−
Algoritmos f (a) = √ e 2σ 2
k-Means
2πσ 2
COBWEB
• El equivalente a la sumatoria de probabilidades es:
Clustering Z
basado en X 1
probabili- P(Ai = Vij )2 ∼ f (ai )2 dai = √
dades 2 πσi
j
Algoritmo EM
(INAOE) 34 / 70
COBWEB
Classit
Outline
Introducción
Medidas de
similaridad
Algoritmos
• Si la desviación estandar es cero el valor de utilidad se
k-Means
COBWEB
vuelve infinito, por lo que se impone un valor de
Clustering
varianza mı́nimo en cada atributo (acuity).
basado en
probabili- • El otro parámetro que se usa en COBWEB es el de
dades
corte (cutoff), que básicamente se usa para parar la
Algoritmo EM
generación de nuevos nodos.
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 35 / 70
Clustering basado en probabilidades
Introducción
Medidas de
similaridad • Desde el punto de vista bayesiano, lo que buscamos es
Algoritmos
el grupo de clusters más probables dados los datos.
k-Means
• Ahora los objetos tienen cierta probabilidad de
COBWEB
Clustering
pertenecer a un grupo o cluster.
basado en
probabili- • La base de un clustering probilı́stico está basado en un
dades
modelo estadı́stico llamado finite mixtures (mezcla de
Algoritmo EM
distribuciones).
Extensiones
(INAOE) 36 / 70
Clustering basado en probabilidades
Introducción
k-Means
atributo-valor si se supiera que fuera miembro de ese
COBWEB
cluster.
Clustering • La mezcla más sencilla es cuando tenemos puros
basado en
probabili- atributos numéricos con distribuciones gaussianas con
dades
diferentes medias y varianzas.
Algoritmo EM
(INAOE) 37 / 70
Clustering basado en probabilidades
Mezcla de Gaussianas
Outline
Introducción
Algoritmos
µA , σA y µB , σB , y PA (PA + PB = 1), podemos generar
k-Means un conjunto de datos.
COBWEB • Si supieramos de qué distribución salió cada dato, es
Clustering
basado en
fácil calcular su media y varianza, y las PA y PB .
probabili-
dades x1 + x2 + . . . xn
Algoritmo EM µ=
n
Extensiones
AutoClass
(x1 − µ)2 + (x2 − µ)2 + . . . (xn − µ)2
¿Cuántos σ2 =
Clusters? n−1
(INAOE) 38 / 70
Clustering basado en probabilidades
Mezcla de Gaussianas
Outline
Introducción
Medidas de
similaridad
• Calcular la probabilidad de que un objeto (x)
Algoritmos pertenezca a un cluster (e.g., A), es:
k-Means
P(x|A)P(A) f (x; µA , σA )PA
COBWEB
P(A|x) = =
Clustering P(x) P(x)
basado en
probabili-
dades
donde f (x; µA , σA ) es una distribución normal:
Algoritmo EM
1 (x−µ)2
−
Extensiones f (x; µA , σA ) = √ e 2σ2
AutoClass 2πσ 2
¿Cuántos
Clusters?
Podemos ignorar P(x) y al final normalizar.
(INAOE) 39 / 70
Algoritmo EM
Algoritmo EM
Outline
Introducción
k-Means
distribuciones.
COBWEB • El algoritmo EM (Expectation Maximization) empieza
Clustering adivinando los parámetros de las distribuciones y los
basado en
probabili- usa para calcular las probabilidades de que cada objeto
dades
pertenezca a un cluster
Algoritmo EM
(INAOE) 40 / 70
Algoritmo EM
Algoritmo EM
Outline
Introducción
Medidas de
similaridad • El cálculo de las probabilidades de las clases o los
Algoritmos
valores esperados de las clases es la parte de
k-Means
expectation.
COBWEB
Clustering
• El paso de calcular los valores de los parámetros de las
basado en
probabili-
distribuciones, es maximization, maximar la
dades
verosimilitud de las distribuciones dados los datos.
Algoritmo EM
• Para estimar los parámetros, tenemos que considerar
Extensiones
AutoClass
que tenemos únicamente las probabilidades de
¿Cuántos pertenecer a cada cluster y no los clusters en si.
Clusters?
(INAOE) 41 / 70
Algoritmo EM
Algoritmo EM
Outline
Introducción
Medidas de
similaridad
• Estas probabilidades actúan como pesos:
Algoritmos
w1 x1 + w2 x2 + . . . wn xn
k-Means µA =
w1 + w2 + . . . wn
COBWEB
Clustering
basado en
probabili- w1 (x1 − µ)2 + w2 (x2 − µ)2 + . . . wn (xn − µ)2
dades σA2 =
Algoritmo EM w1 + w2 + . . . wn
Extensiones
donde wi es la probabilidad de que el objeto i
AutoClass
¿Cuántos
pertenezca al cluster A y se suma sobre todos los
Clusters? objetos (no sólo los de A).
(INAOE) 42 / 70
Algoritmo EM
Algoritmo EM
Outline
• El algoritmo tiende a converger pero nunca llega a un
Introducción
Medidas de
punto fijo.
similaridad
• Podemos ver que tanto se acerca calculando la
Algoritmos
versorimilitud general de los datos con esos
k-Means
COBWEB
parámetros, multiplicando las probabilidades de los
Clustering
objetos individuales (i):
basado en
probabili- Y
dades (PA P(xi |A) + PB P(xi |B))
Algoritmo EM
i
Extensiones
• Esta medida crece en cada iteración, y se itera hasta
AutoClass
¿Cuántos
que el crecimiento es despreciable.
Clusters?
• Aunque EM garantiza convergencia, esta puede ser a
un máximo local, por lo que se recomienda repetir el
proceso varias veces.
(INAOE) 43 / 70
Extensiones
Extensiones
Outline
Introducción
Medidas de
• Extender a más de dos distribuciones es prácticamente
similaridad
directo.
Algoritmos
• Extenderlo a instancias con atributos múltiples, si se
k-Means
COBWEB
supone independencia de los atributos, se puede hacer
Clustering multiplicando las probabilidades para obtener una
basado en
probabili-
distribución de probabilidad conjunta.
dades
• Si existen dos atributos correlacionados, se pueden
Algoritmo EM
Extensiones
analizar con una distribución normal bi-variable en
AutoClass
donde se utiliza una matriz de covarianza
¿Cuántos • El número de parámetros crece al cuadrado del número
Clusters?
de atributos que se consideren correlacionados entre sı́
(INAOE) 44 / 70
Extensiones
Extensiones
Outline
Introducción
Medidas de
similaridad
Algoritmos
• Se pueden especificar diferentes distribuciones (cada
k-Means
COBWEB
una con sus propios parámetros) para diferentes tipos
Clustering de datos.
basado en
probabili- • Se puede penalizar el modelo que instroduzca
dades
parámetros y el que defina un número mayor de
Algoritmo EM
Extensiones
clusters.
AutoClass
¿Cuántos
Clusters?
(INAOE) 45 / 70
AutoClass
AutoClass
Outline
Introducción
Medidas de
similaridad
Algoritmos
• Realiza un descubrimiento automático de clases en
k-Means
datos (P. Cheeseman, J. Stutz).
COBWEB
Clustering • Una vez que las clases han sido identificadas, éstas
basado en
probabili- pueden servir para clasificar nuevos datos.
dades
• La idea es encontrar la hipótesis más probable, dados
Algoritmo EM
Extensiones
los datos e información a priori.
AutoClass
¿Cuántos
Clusters?
(INAOE) 46 / 70
AutoClass
AutoClass
Outline
Introducción
Medidas de
similaridad
• Normalmente se busca un balance entre qué tan bien
Algoritmos
k-Means
se ajustan los datos a las clases y complejidad de las
COBWEB
clases (casos extremos, una clase por dato o una sola
Clustering clase para todos los datos).
basado en
probabili- • En AutoClass los datos se pueden representar por
dades
Algoritmo EM
valores discretos, enteros y reales.
Extensiones • El modelo es una mezcla finita de distribuciones de
AutoClass probabilidad, cada una con su conjunto de parámetros.
¿Cuántos
Clusters?
(INAOE) 47 / 70
AutoClass
AutoClass
Outline
Introducción
Medidas de
similaridad
• Para cada dato se asigna una probabilidad de
Algoritmos
k-Means
pertenencia a una clase (o un peso).
COBWEB • Dado un conjunto de datos se busca:
Clustering 1 Los valores más probables (MAP) de los parámetros
basado en
probabili- (para las distribuciones y clases dadas), dada una
dades distribución de probabilidad.
Algoritmo EM 2 La distribución de probabilidad más probable (número
Extensiones de clases y modelos alternativos), independientemente
AutoClass de los parámetros.
¿Cuántos
Clusters?
(INAOE) 48 / 70
AutoClass
AutoClass
Outline
Introducción
• Se supone que los datos son condicionalmente
Medidas de
similaridad independientes dada la clase, por lo que la distribución
Algoritmos conjunta de los datos es el producto de las
k-Means probabilidades individuales.
COBWEB
• Cada dato pertenece a una y solo una clase (de un
Clustering
basado en conjunto disjunto de clases) con probabilidad
probabili-
dades P(Xi ∈ Cj | V~ c , Tc ), donde V
~ c es el vector de
Algoritmo EM parámetros de la distribución y Tc es la distribución
Extensiones particular).
AutoClass
• Las clases representan una partición discreta de los
¿Cuántos
Clusters? datos y por lo tanto la distribución más apropiada es
una distribución Bernoulli o binomial
(INAOE) 49 / 70
AutoClass
AutoClass
Outline
Introducción
Medidas de
similaridad
Algoritmos
AutoClass trata de encontrar los parámetros de las
k-Means distribuciones de probabilidad dependiendo del tipo de
COBWEB valores de las variables:
Clustering
basado en
• Discretos: Bernoulli
probabili-
dades • Reales: Gaussianas
Algoritmo EM • Reales - Escalares (e.g., edad, peso): log-Gaussianas
Extensiones
• Enteros: Poisson
AutoClass
¿Cuántos
Clusters?
(INAOE) 50 / 70
AutoClass
AutoClass
Outline
Introducción
Medidas de
similaridad
Algoritmos
AutoClass
¿Cuántos
Clusters?
(INAOE) 51 / 70
¿Cuántos Clusters?
¿Cuántos Clusters?
Outline
Introducción
Medidas de
similaridad
Algoritmos
• Para algunas aplicaciones es fácil determinar el
k-Means número de clusters, ”K”, de acuerdo al conocimiento del
COBWEB dominio.
Clustering
basado en
• Para la mayorı́a de los casos, ”K” se desconoce y se
probabili-
dades
estima a partir de los datos.
Algoritmo EM • Muchos algoritmos de clustering requieren a ”K” como
Extensiones parámetro de entrada y la calidad de los resultados
AutoClass está fuértemente ligada a este valor.
¿Cuántos
Clusters?
(INAOE) 52 / 70
¿Cuántos Clusters?
¿Cuántos Clusters?
Outline
Introducción
Medidas de
similaridad
Algoritmos
• Una división con muchos clusters complica los
k-Means resultados porque los hace difı́ciles de interpretar y
COBWEB analizar.
Clustering
basado en
• Una división con muy pocos clusters lleva a una pérdida
probabili-
dades
de información y puede llevar a tomar malas decisiones.
Algoritmo EM • Al problema de determinar el número de clusters se le
Extensiones conoce como “el problema fundamental de la validez
AutoClass del cluster”
¿Cuántos
Clusters?
(INAOE) 53 / 70
¿Cuántos Clusters?
Número de Clusters
Outline
(INAOE) 54 / 70
¿Cuántos Clusters?
Número de Clusters
Outline
Introducción
Medidas de
similaridad
• Optimización de alguna función de criterio bajo el
Algoritmos
marco del modelo de mezcla de probabilidades.
k-Means
• En este caso se utiliza el algoritmo EM (usualmente),
COBWEB
Clustering
para encontrar el valor de ”K” que maximize o minimize
basado en el criterio definido como óptimo.
probabili-
dades • Criterio de Información de Akaike (AIC).
Algoritmo EM • Criterio de Inferencia Bayesiana.
Extensiones
• Otros métodos heurı́sticos basados en una variedad de
AutoClass
técnicas y teorı́as.
¿Cuántos
Clusters?
(INAOE) 55 / 70
¿Cuántos Clusters?
X-means
Outline
Introducción
Medidas de
similaridad
Algoritmos
Variante de K-means para determinar automáticamente el
k-Means número de clusters
COBWEB Algoritmo X-Means (rango de K : [Kmin . . . Kmax ])
Clustering
basado en
1 Mejora parámetros (corre K-means)
probabili-
dades 2 Mejora estructura (ver abajo)
Algoritmo EM 3 Si K > Kmax termina y regresa el modelo mejor
Extensiones
evaluado, si no regresa a 1
AutoClass
¿Cuántos
Clusters?
(INAOE) 56 / 70
¿Cuántos Clusters?
Mejora Estructura
Outline
Introducción
Medidas de
similaridad
Algoritmos
AutoClass
¿Cuántos
Clusters?
(INAOE) 57 / 70
¿Cuántos Clusters?
Medida
Outline
Introducción
Medidas de pj
similaridad
BIC(Mj ) = l̂(Dj ) − · logR
Algoritmos 2
k-Means
Algoritmo EM R−K
i
Extensiones
(INAOE) 58 / 70
¿Cuántos Clusters?
X-means
Outline
Introducción
Medidas de
similaridad
Algoritmos
k-Means
COBWEB
Clustering
basado en
probabili-
dades
Algoritmo EM
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 59 / 70
¿Cuántos Clusters?
Medidas de Calidad
Outline
k-Means
COBWEB
Clustering
basado en
probabili-
dades
Algoritmo EM
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 60 / 70
¿Cuántos Clusters?
Introducción
Medidas de
similaridad
Algoritmos
k-Means
COBWEB
Clustering
basado en
probabili-
dades
Algoritmo EM
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 61 / 70
¿Cuántos Clusters?
Medidas de Calidad
Outline
Introducción
Medidas de
similaridad
Algoritmos
Extensiones
AutoClass
¿Cuántos
Clusters?
(INAOE) 62 / 70
¿Cuántos Clusters?
Introducción
Medidas de n
similaridad 1X σi + σj
DB = maxj6=i
Algoritmos n d(ci , cj )
i=1
k-Means
COBWEB
• n = número de clusters
Clustering
basado en
probabili-
• cx = centroide del cluster x
dades
• σx = distancia promedio de todos los elementos en el
Algoritmo EM
cluster x a su centroide cx y d(ci , cj ) es la distancia
Extensiones
AutoClass
entre centroides ci y cj .
¿Cuántos • El algoritmo que produce el valor menor entre todos los
Clusters?
clusters es el mejor
(INAOE) 63 / 70
¿Cuántos Clusters?
Introducción
k-Means
COBWEB
min1≤i<j≤n d(i, j)
D=
Clustering max1≤k≤n d 0 (k )
basado en
probabili-
dades
• d(i, j) = distancia entre clusters i y j (intra-clusters), que
Algoritmo EM
puede ser la distancia entre centroides.
Extensiones
AutoClass
• d 0 (k ) = distancia intra-cluster de cluster k . Puede ser la
¿Cuántos distancia máxima entre pares de elementos del cluster.
Clusters?
• Grupos con valores mayores del ı́ndice son mejores
(INAOE) 64 / 70
¿Cuántos Clusters?
Introducción
Medidas de
similaridad
Algoritmos
• El coeficiente de silueta (silhouette) contrasta la
k-Means distancia promedio de elementos en el mismo cluster
COBWEB con la distancia promedio de elementos en otros
Clustering clusters
basado en
probabili- • Elementos con alto valor se consideran bien
dades
Algoritmo EM
agrupados, mientras que objetos con medidas bajas se
Extensiones consideran outliers
AutoClass • Funciona bien para k-means
¿Cuántos
Clusters?
(INAOE) 65 / 70
¿Cuántos Clusters?
Purity (externa)
Outline
Introducción
Medidas de
similaridad
• La pureza mide en qué medida los clusters contienen
Algoritmos
k-Means
una sola clase
COBWEB
1 X
Clustering maxd∈D |m ∩ d|
basado en N
probabili- m∈M
dades
Algoritmo EM • M = clusters
Extensiones • D = clases
AutoClass
• N = datos
¿Cuántos
Clusters?
(INAOE) 66 / 70
¿Cuántos Clusters?
Introducción
Medidas de
similaridad
• Mide que tan parecidos son los clusters a las clases
Algoritmos
k-Means
TP + TN
COBWEB RI =
TP + FP + TN + FN
Clustering
basado en
probabili- • TP = true positives
dades
Algoritmo EM
• FP = false positives
Extensiones • TN = true negatives
AutoClass
• FN = false negatives
¿Cuántos
Clusters?
(INAOE) 67 / 70
¿Cuántos Clusters?
F-Measure (externa)
Outline
Introducción
Medidas de
similaridad • Puede balancear los falsos negativos usando precisión
Algoritmos
(P) y recuerdo (R)
k-Means
COBWEB
(β 2 + 1) · P · R
Clustering Fβ =
basado en β2 · P + R
probabili-
dades TP
Algoritmo EM P=
TP + FP
Extensiones
AutoClass
TP
R=
¿Cuántos TP + FN
Clusters?
(INAOE) 68 / 70
¿Cuántos Clusters?
Introducción
Medidas de
similaridad
Algoritmos
• Mide la similaridad entre dos grupos.
k-Means
COBWEB • Los elementos comunes entre los dos grupos entre los
Clustering elementos de los dos grupos
basado en
probabili-
dades
|A ∩ B| TP
Algoritmo EM J(A, B) = =
Extensiones |A ∪ B| TP + FP + FN
AutoClass
¿Cuántos
Clusters?
(INAOE) 69 / 70
¿Cuántos Clusters?
Otros (externos)
Outline
Introducción
Medidas de
similaridad
Índice Dice:
Algoritmos
2TP
k-Means D(A, B) =
2TP + FP + FN
COBWEB
Clustering
basado en Índice Fowlkes-Mallows: La media geométrica de
probabili-
dades
precisión y recuerdo (también conocida como G − measure
Algoritmo EM (F-Measure es la media armónica)
Extensiones r
AutoClass TP TP
FM = ·
¿Cuántos TP + FP TP + FN
Clusters?
(INAOE) 70 / 70