Clustering

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 70

Outline

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

Medidas de • Clustering es el proceso de agrupar datos en clases o


similaridad
clusters de tal forma que los objetos de un cluster
Algoritmos
tengan una similaridad alta entre ellos, y baja (sean
k-Means

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

COBWEB • Para datos numéricos, usualmente se pasa primero por


Clustering un proceso de estandarización.
basado en
probabili- • La medida z (z-score) elimina las unidades de los
dades

Algoritmo EM
datos:
Extensiones
xif − µf
AutoClass Zif =
¿Cuántos
σf
Clusters?

(INAOE) 5 / 70
Introducción

Clustering
Outline

Introducción

Medidas de
similaridad

Algoritmos • Donde, σf es la desviación media absoluta de la


k-Means
variable f , µf es su media y xif es el i-ésimo valor de f .
COBWEB

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

k-Means • Variables numéricas


COBWEB • Variables binarias
Clustering
basado en • Variables nominales
probabili-
dades • Variables ordinales
Algoritmo EM
• Variables escalares no lineales
Extensiones

AutoClass • Variables mixtas


¿Cuántos
Clusters?

(INAOE) 7 / 70
Medidas de similaridad

Variables numéricas (lineales)


Outline • Euclideana:
Introducción q
Medidas de d(i, j) = |xi1 − xj1 |2 + |xi2 − xj2 |2 + . . . + |xin − xjn |2
similaridad

Algoritmos • Manhattan:
k-Means

COBWEB d(i, j) = |xi1 − xj1 | + |xi2 − xj2 | + . . . + |xin − xjn |


Clustering
basado en
probabili-
• Minkowski (Si q = 1 es Manhattan y si q = 2 es
dades Euclideana)
Algoritmo EM

Extensiones d(i, j) = (|xi1 − xj1 |q + |xi2 − xj2 |q + . . . + |xin − xjn |q )1/q


AutoClass

¿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

Variables Binarias (0,1)


Outline

Introducción • Simétricas (ambos valores tienen el mismo peso):


Medidas de
similaridad r +s
Algoritmos
d(i, j) =
q+r +s+t
k-Means

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

Medidas de • Son como las nominales pero con un orden relevante.


similaridad

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

Variables escalares no lineales


Outline

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

Medidas de • Una posibilidad es escalar todas las variables a un


similaridad
intervalo común (entre 0 y 1):
Algoritmos

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

Medidas de • Otra medida popular entre dos vectores ~


x , ~y es HVDM
similaridad

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

Medidas de • N2: Equivalente a Euclideana y Manhattan (N1)


similaridad

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

Métodos basados en paticiones


Outline

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

Introducción • Técnicas basadas en Redes Neuronales (e.g., Learning


Medidas de vector quantization (LVQ), self-organizing feature map
similaridad
(SOFM), ART, simplified ART (SART), hyperellipsoidal
Algoritmos

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

k-Means Selecciona k objetos aleatoriamente


COBWEB repeat
Clustering Re(asigna) cada objeto al cluster más similar
basado en
probabili- con el valor medio
dades
Actualiza el valor de las medias de los clusters
Algoritmo EM

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

Algoritmos • Crea un cluster jerárquico con un árbol de clasificación.


k-Means
• En un árbol de clasificación cada nodo es un concepto
COBWEB
que tiene una descipción probabilı́stica de ese concepto
Clustering
basado en que resume los objetos clasificados bajo ese nodo.
probabili-
dades • La descripción probabilı́stica incluye la probabilidad del
Algoritmo EM concepto (P(Ci )) y las probabilidades condicionales de
Extensiones
pares atributos-valor dado el concepto (P(Ai = Vij |Ck )).
AutoClass

¿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

Algoritmo EM • La utilidad de la categoria mide el valor esperado de


Extensiones valores de atributos que pueden ser adivinados a partir
AutoClass de la partición sobre los valores que se pueden adivinar
¿Cuántos
Clusters?
sin esa partición.

(INAOE) 30 / 70
COBWEB

Cobweb
Outline

Introducción

Medidas de • Si la partición no ayuda en esto, entonces no es buena


similaridad

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

Algoritmos • COBWEB depende del orden de los objetos, por lo que


k-Means a veces es conveniente probarlo con objetos en
COBWEB diferente orden.
Clustering
basado en • La división entre el número de cluster sirve para
probabili-
dades incentivar tener clusters con más de un elemento.
Algoritmo EM • COBWEB supone que la distribución de probabilidad
Extensiones
de los atributos es independiente de las demás.
AutoClass

¿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

Extensiones • Ahora se estima la desviación estandar del atributo


AutoClass numérico con los datos en el cluster y en los datos para
¿Cuántos
Clusters?
todos los clusters:
n  
1X 1 X 1 1
CU = P(Ck ) √ −
k 2 π σik σi
k=1 i

(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

Clustering basado en probabilidades


Outline

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

AutoClass • Una mezcla es un conjunto de k distribuciones,


¿Cuántos representando k clusters.
Clusters?

(INAOE) 36 / 70
Clustering basado en probabilidades

Clustering basado en probabilidades


Outline

Introducción

Medidas de • Cada distribución nos da la probabilidad de que un


similaridad
objeto tenga un conjunto particular de pares
Algoritmos

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

Extensiones • La idea es, dado un conjunto de datos, determinar las k


AutoClass distribuciones normales (medias y varianzas) y las
¿Cuántos probabilidades particulares de cada distribución
Clusters?
(pueden ser diferentes).

(INAOE) 37 / 70
Clustering basado en probabilidades

Mezcla de Gaussianas
Outline

Introducción

Medidas de • Por ejemplo, si tuvieramos dos distribuciones A y B con


similaridad

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

Medidas de • El problema es que no sabemos de qué distribución


similaridad
viene cada dato y no concemos los parámetros de las
Algoritmos

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

Extensiones • Usa esas probabilidades para re-estimar los


AutoClass parámetros de las probabilidades, hasta converger (se
¿Cuántos puede empezar adivinando las probabilidades de que
Clusters?
un objeto pertenezca a una clase).

(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

k-Means • En general se debe de establecer cuantas clases y


COBWEB correr el proceso.
Clustering
basado en • Al correrlo, existen muchos máximos locales, por lo que
probabili-
dades hay que correr el proceso varias veces a partir de
Algoritmo EM diferentes valores iniciales para los parámetros.
Extensiones

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

Introducción Algunos métodos que se han utilizado para encontrar el


Medidas de
similaridad
número adecuado de clusters son:
Algoritmos • Visualización del conjunto de datos, lo que funciona
k-Means
bien para dos dimensiones pero generalmente nuestros
COBWEB
conjuntos de datos son mucho más complicados.
Clustering
basado en • Construcción de ı́ndices (o reglas de paro). En este
probabili-
dades caso se utilizan ı́ndices para enfatizar la compactés
Algoritmo EM intra-cluster e isolación inter-cluster considerando
Extensiones
efectos tales como: el error cuadrático, propiedades
AutoClass
geométricas o estadı́sticas de los datos, el número de
¿Cuántos
Clusters? patrones, la disimilaridad o similaridad, número de
clusters.

(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

k-Means • Divide cada cluster en 2 (a una distancia proporcional a


COBWEB su tamaño a lo largo de un vector aleatorio)
Clustering
basado en • Corre un K-means local, con K=2
probabili-
dades • Evalúa si la medida mejora (con 2 clusters) o no
Algoritmo EM (cluster original)
Extensiones

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

COBWEB l̂(Dn ) = − R2n log(2π) − Rn2·M log(σ̂ 2 )


Clustering − Rn2−K + Rn logRn − Rn logR
basado en
probabili-
1 X
σ̂ 2 = (xi − µ(i) )2
dades

Algoritmo EM R−K
i
Extensiones

AutoClass pj = número de parámetros = K − 1 + (M · K ) + 1


¿Cuántos R = |D| y Ri = |Di |
Clusters?
M = número de dimensiones

(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

Introducción • La evaluación de los clusters también es complicada


Medidas de
similaridad • ¿Cuál agrupación es mejor?
Algoritmos

k-Means

COBWEB

Clustering
basado en
probabili-
dades

Algoritmo EM

Extensiones

AutoClass

¿Cuántos
Clusters?

(INAOE) 60 / 70
¿Cuántos Clusters?

¿Cuál agrupación es mejor?


Outline

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

k-Means Existen dos clases:


COBWEB
• Evaluación interna: Entre los grupos generados
Clustering
basado en
probabili-
• Evaluación externa: Contra grupos conocidos
dades
La evaluación final generalmente la realiza una persona
Algoritmo EM

Extensiones

AutoClass

¿Cuántos
Clusters?

(INAOE) 62 / 70
¿Cuántos Clusters?

Índice Davies-Bouldin (interna)


Outline

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?

Índuce Dunn (interna)


Outline

Introducción

Medidas de • Busca indentificar clusters densos y claramente


similaridad
separados.
Algoritmos

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?

Coeficiente de Silueta (interna)


Outline

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?

Índice Rand (externa)


Outline

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?

Índice de Jaccard (externo)


Outline

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

También podría gustarte