Métodos no supervisados: Agrupamientocalonso/MUI-TIC/MineriaDatos/NoSupervisa... · Agrupamiento 3...
Transcript of Métodos no supervisados: Agrupamientocalonso/MUI-TIC/MineriaDatos/NoSupervisa... · Agrupamiento 3...
Carlos J. Alonso GonzálezDepartamento de InformáticaUniversidad de Valladolid
Métodos no supervisados: Agrupamiento
Agrupamiento –clustering-
Agrupamiento 2
Contenido
1. Introducción2. Basados en particiones3. Métodos jerárquicos4. Métodos basados en modelos
Agrupamiento 3
1 IntroducciónFormación de conceptos
Dado Instancias de un concepto, posiblemente
desconocido
Obtener Caracterización del concepto
Dos aproximaciones principales Agrupamiento Descubrimiento
Agrupamiento 4
Descubrimiento de conceptos
Amplia clase de sistemas Los más sencillos: descubrimiento empírico, leyes
generales que describen observaciones BACON
Descubrimiento de leyes cuantitativas Proust, Gases Ideales, Kepler, Ohm...
Los más complejos: formación de teorías, manipulando conocimiento base junto a observaciones ABACUS
Leyes cuantitativas y precondiciones para su uso
Agrupamiento 5
Agrupamiento –cluster analysis-
Objetivo: encontrar grupos que reflejen la estructura del espacio de entrada
Cluster: conjunto de instancias Similares en el mismo cluster Distintos entre clusters diferentes
Clustering: agrupar datos de entrada en clusters
Usos principales Herramienta de análisis de datos Etapa de preprocesado para otros algoritmos
Agrupamiento 6
Aparentemente simple
Agrupamiento 7
En la práctica, complejo
Agrupamiento 8
Calidad del agrupamiento
Clusters con Alta similitud intra clase Baja similitud inter clase
Dificultad de evaluación Depende a la medida de similitud
Subjetivo Dependiente de la aplicación
Capacidad para encontrar patrones ocultos
Agrupamiento 9
Principales aproximaciones
Basados en particiones Crean particiones sucesivas del conjunto de datos
Jerárquicos Descomposición jerárquica del conjunto de objetos
Basados en densidades Funciones densidad y conectividad
Basados en rejillas Estructuras de diversa granularidad
Basados en modelos Se supone un modelo del cluster y se ajustan sus
parámetros ¡Combinaciones de los anteriores!
Agrupamiento 10
2. Basados en particiones
Dividen el conjunto de entrenamiento, D, en kparticiones
Objetivo: dado k, dividir D en k grupos que optimice el criterio de partición -similitud-
Óptimo global: requiere búsqueda exhaustiva de todas las particiones
Métodos heurísticos: Óptimo local K-medias K-medianas
K-medias (centros móviles)
Método clásico (67)
Seleccionar aleatoriamente k centros iniciales Repetir
Asignar instancias a cluster con centro más próximo Calcular los nuevos centroides de los clusters
Hasta criterio de convergencia
Agrupamiento 11
K-medias: ejemplo I
K-medias: ejemplo II
Agrupamiento 13
K-medias: ejemplo II (continuación)
Agrupamiento 14
Agrupamiento 15
Discusión
El algoritmo minimiza el error cuadrático de la distancia a los centros de los clusters Convergencia si distancia euclídea Mínimo local
Simple y relativamente eficiente, O(tkn) t iteraciones, k particiones, n=|D| Usualmente t, k << n
Limitaciones Hay que fijar k Solo aplicable si está definida la media Sólo clusters convexos Poco robusto al ruido Outliers Diferencias significativas con selección inicial de centros
Agrupamiento 16
Influencia selección inicial
Agrupamiento 17
Influencia selección inicial
Agrupamiento 18
K-medianas
Usar como centros las medianas y no las medias
Mediana de un cluster: la instancia más centrada No se ve afectada por outliers Más robusto al ruido
Estrategia de substitución de medianas más sofisticada
Agrupamiento 19
Estrategia de substitución de medianas
Para determinar si instancia mh es un buen substituto de mi – centroide i-ésimo -, se examinan 4 posibilidades para cada instancia no centroide, j
1. j en centroide mi; si al reemplazar mi por mh j está más próximo a mt, i≠t, asignar j a mt
2. j en centroide mi; si al reemplazar mi por mh j está más próximo a mh, asignar j a mh
3. j en centroide mt; si al reemplazar mi por mh j sigue más próximo a mt, i≠t, no modificar asignación
4. j en centroide mt; si al reemplazar mi por mh j está más próximo a mh, i≠t, asignar j a mh
Ejemplo substitución medianas
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
j
ih
t
Cjih = 0
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
t
i hj
Cjih = d(j, h) - d(j, i)
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
h
i t
j
Cjih = d(j, t) - d(j, i)
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
t
ih j
Cjih = d(j, h) - d(j, t)
Agrupamiento 21
Coste del intercambio
Cada vez que se produce un intercambio, se puede modificar el error cuadrático
Para cada punto no centroide, se calcula la diferencia del error cuatrático del nuevo al antiguo centroide: Cjih j no centroide, i centroide anterior, h nuevo
centroide
El coste total es la suma extendida a todos los no centroides CTih=∑j Cjih
Si CTih <0 se produce el cambio
Ejemplo costes intercambios
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
j
ih
t
Cjih = 0
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
t
i hj
Cjih = d(j, h) - d(j, i)
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
h
i t
j
Cjih = d(j, t) - d(j, i)
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
t
ih j
Cjih = d(j, h) - d(j, t)
Agrupamiento 23
PAM: Partition around medoids
Uno de los primeros algoritmos k-medianas (87)
• Seleccionar aleatoriamente k centros iniciales• Asignar instancias a cluster con centro más próximo • Repetir
• Para cada centro i • seleccionar aleatoriamente una instancia no central, xh
• Calcular el coste total de intercambiar i e h: CTih
• Si CTih <0, reemplazar i por h y reasignar instancias no centroides
• Hasta criterio de convergencia
Agrupamiento 24
PAM: discusión
Efectivo para conjuntos de datos pequeños
No es adecuado para conjuntos de datos grandes
Alternativas CLARA CLARANS
Agrupamiento 25
CLARA (Clustering Large Applications, 1990)
CLARA Extrae múltiples muestras del conjunto de
entrenamiento Aplica PAM a cada muestra Devuelve partición con menor error cuadrático
Ventaja: permite trabajar con conjuntos de datos más grandes
Inconvenientes La eficiencia depende del tamaño de la muestra Si la muestra está sesgada, un buen clustering de la
muestra no será un buen clustering del conjunto de datos
Agrupamiento 26
CLARANS (Clustering Large Applications based upon RANdomize Search, 1994)
CLARANS Búsqueda en grafo de particiones: cada nodo,
posible solución (conjunto de k-medoides) Extrae, dinámica y aleatoriamente, nuevas muestras
vecinas de instancias ya consideradas Genera nodos al modificar centros, mientras
disminuya error cuadrático Si mínimo local, selecciona aleatoriamente otro nodo Más eficiente y escalable que PAM y CLARA
Agrupamiento 27
3 Métodos jerárquicos
Agrupan las instancias en un árbol de clusters: Dendograma
Dos aproximaciones Métodos aglomerativos o botton-up
Inicialmente asignan un cluster a cada instancia Fusionan los clusters según criterio de similitud Más frecuente
Métodos divisorios o top-down Inicialmente único cluster con todas las instancias Didive los clusters
Agrupamiento 28
Ejemplo
Step 0 Step 1 Step 2 Step 3 Step 4
b
dc
e
a a b
d ec d e
a b c d e
Step 4 Step 3 Step 2 Step 1 Step 0
agglomerative(AGNES)
divisive(DIANA)
Agrupamiento 29
Dendograma
Descompone datos en particiones anidas (árbol de clusters)
Una partición se obtiene cortando el dendograma al nivel deseado: cada componente conectado es un cluster
Agrupamiento 30
Características
Utilizan matriz de distancias mi,j=d(xi,xj)
No es preciso conocer k Condición de terminación (salvo único
cluster o todas las instancias)
Agrupamiento 31
Criterios de unión
Distancias habituales entre clases Mínima: puntos más cercanos del cluster (simple linkage) Máxima: puntos más alejados del cluster (complete
linkage) Medias: ente las medias de los dos clusters Promedio: entre los puntos de los dos clusters
Método de Ward: se fusionan los dos clusters cuya unión genera el mínimo incremento del error cuadrático (tb. basado en distancias)
Complete y Ward crean clusters más compactos: Generalmente, Ward mejor comportamiento, Ward mayor coste computacional (aunque método efectivo
si distancia euclídea)
Agrupamiento 32
AGNES AGlomerative NESting
Introducido 90 Inicialmente, un cluster por instancia En cada paso se agrupan clusters más
cercanos Hasta condición de terminación o un único
cluster
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
Agrupamiento 33
Ejemplo: 5 instancias y distancia mínima
Tree Diagram for 5 VariablesSingle Linkage
Dissimilarities from matrix
Linkage Distance
VAR5
VAR4
VAR2
VAR3
VAR1
0 1 2 3 4 5 6 7
1 2 3 4 5
1 0 7 1 9 8
2 7 0 6 3 5
3 1 6 0 8 7
4 9 3 8 0 4
5 8 5 7 4 0
Agrupamiento 34
DIANA: DIvisive ANAlysis
90 Inicialmente, un único cluster con todas las
instancias En cada paso, generar clusters más separados Hasta condición de terminación o cada cluster
una instancia
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
Agrupamiento 35
Métodos Jerárquicos: Discusión
Método simple No precisa conocer k: cortar el dendográma al nivel
deseado Determinista Clusters no esféricos Dificultades
Selección puntos de fusión o división Irrevocable Si errónea, malos resultados Costosa
Coste 0(n2) Posibilidades
Combinar clustering jerárquico con otras técnicas: BIRCH, CURE, etc
Agrupamiento 36
BIRCH (96)
Balanced Iterative Reducing and Clustering using Hierarchies
Construcción incremental del árbol CF (Clustering Feature: información cada cluster) Fase 1: escanear base de datos para construir,
dinámicamente, el árbol Fase 2: Utilizar un algoritmo arbitrario de clustering
para agrupar nodos hojas
Escalable (lineal), cluster de calidad con único escán
Sólo datos numéricos
Agrupamiento 37
Inconvenientes métodos basados en error cuadrático
Un representante por clase Clusters esféricos
Precisan buena estimación de K
Agrupamiento 38
CURE: Clustering Using Representatives (98)
Usa varios centroides para representar un cluster Adaptación a geometría no esférica
Extraer muestra aleatoria Particiona instancias en p grupos Clustering de cada partición (jerárquico) Eliminar outliers muestreando Agrupa cluster parciales
Agrupamiento 39
Ejemplo
p=2
xx
x
y
y y
y
x
y
x
Agrupamiento 40
CURE: agrupación
x
y
x
y
Agrupamiento 41
4 Métodos basados en modelos
Asumen la existencia de un modelo matemático
Intentan optimizar el ajuste ente el modelo y los datos
Habitualmente, asumen que el espacio de instancias esta gobernado por una mezcla de distribuciones de probabilidades
Dos aproximaciones principales Probabilísticos: Clustering conceptual, algoritmo EM Redes de neuronas: competitivos, mapas
autoorganizados
Agrupamiento 42
Limitaciones del clustering basado en similitud
Define los cluster por extensión No proporciona ninguna descripción del
concepto No utilizan conocimiento
Incapaces, por ejemplo, de encontrar el concepto galaxia a partir de imágenes del cielo
No tienen en cuenta el objetivo final ¿Por qué clasificar la ballena como
mamífero y no como pez?
Agrupamiento 43
Clustering Conceptual
Introducido por Michalski, 80
Agrupa las instancias en clases, según los valores de los atributos, intentando crear un concepto que las explique
Obtiene una descripción del concepto Incluyen conocimiento: probabilidades, bias,
etc. Objetivo: obtener conceptos que no se basen
sólo en la similitud de los datos
Agrupamiento 44
COBWEB, Fischer, 87
Agrupamiento conceptual incremental Crea un cluster jerárquico en forma de árbol
de clasificación Cada nodo corresponde a un concepto Descrito en términos probabilísticos, P(Ck),
p(ai=vij/Ck) Hijos de un nodo: partición
Utiliza medida de utilidad para guiar la construcción
Añade instancias una a una, realizando operaciones sobre el árbol que maximizan utilidad
Agrupamiento 45
Árbol de clasificación
Agrupamiento 46
Utilidad de la categoría
K
K
k
I
i
J
jijikijik VAPCVAPCP∑ ∑∑
= = =
=−=1 1 1
22 ]))|([)( (
Similitud en las clases (intraclass), previsibilidad
Disimilitud entre las clases, (interclass), predictibilidad
)( 2|CVAP kiji=
)( 2| VACP ijik =
Sólo tiene sentido introducir una clases si p(ai=vij/Ck) >p(ai=vj)
Favorece:
Agrupamiento 47
Factor 1/k?
Penalizar la creación de clusters para evitar sobreajuste
Valor máximo de la utilidad sin factor 1/k: un cluster por instancia p(ai=vij/Ck)=1 para el valor actual de la
única instancia de la clases, 0 restantes valores
numerador:
n: número de atributos
)2
1 1
( VA iji
I
i
J
jPn =−∑∑
= =
Agrupamiento 48
Insertar instancia
Clasificar la instancia
Crear una nueva clase1. Utilidad de instancia en mejor clase2. Utilidad de instancia en nueva clase3. Crear si alguna de las opciones de 2 es
mejor que 1
Agrupamiento 49
Operaciones sobre el árbol
Añadir una nueva categoría para una sola instancia
Combinar dos categorías existentes y añadir la instancia a la categoría resultante
Dividir una categoría existente y colocar la instancia en la mejor categoría del nuevo árbol
Agrupamiento 50
Combinación
BA
P
… … …
P
… …
BA
N
…
Combinación
Agrupamiento 51
Separación
BA
P
… … …
P
… …
BA
N
…
Separación
Agrupamiento 52
Discusión
Capaz de obtener descripciones de conceptos en base al conocimiento previo (probabilidades)
Limitaciones Solo atributos discretos
CLASSIT, extensión atributos continuos Asume atributos independientes No hay garantía de mínimo local Sensible al orden de presentación de los ejemplos 1/k?
Agrupamiento 53
Algoritmo EM (Expectation Maximization)
La división de un conjunto de datos en grupos disjuntos puede no ser la mejor solución Especialmente si los datos son heterogéneos, en el
sentido de que los datos pueden reflejar fenómenos de diferente naturaleza
Necesitaríamos Permitir que una instancia pueda pertenecer a más
de un grupo, en distinto grado
Solución estadística clásica: Mixture Models La población se describe como una combinación
lineal de distribuciones
Agrupamiento 54
Ejemplo: combinación de dos distribuciones normales
Cada instancia se genera Eligiendo una de las dos Normales aleatoriamente (por
ejemplo, distribución uniforme) Generando la instancia de acuerdo a la distribución elegida
Varianza idéntica y conocida
Agrupamiento 55
Estimación de las k medias
La tarea de aprendizaje se plantea Asumir instancias responden a una
combinación de k Normales Medias desconocidas <µ1, µ2, ... µk> No sabemos que instancia xi fue generada
por que normal µj
Determinar Estimación máxima verosimilitud de
<µ1, µ2, ... µk>
Agrupamiento 56
Variables ocultas
Plantear el problema en términos de variables no observables
Describir cada instancia comoyi=<xi, zi1, zi2>
zij=1 si generada por j-ésima normal xi observable zij no observable
Agrupamiento 57
EM para la estimación de 2 medias normales, σ conocida
Hipótesis inicial aleatoria, h=<µ1, µ2>
Paso 1, ECalcular el valor esperado E[zij] de cada variable oculta zij,
asumiendo hipótesis actual h=<µ1, µ2>
Paso 2, MCalcular nueva hipótesis h’ =<µ’1, µ’2> de máxima
verosimilitud, asumiendo que el valor de cada variable oculta zij, es el valor esperado calculado en Paso 1, E[zij]. Reemplazar h por h’.
Agrupamiento 58
EM para la estimación de 2 medias normales
Paso 1
Paso 2
∑
∑
=−−
−−
=
=
==
===
2
12/)(
2/)(
2
1
22
22
)/(
)/(][
nx
x
nin
jiji
ni
ji
ee
xxp
xxpzE
σµ
σµ
µµ
µµ
∑=
=m
iijij xzE
m 1
][1'µ
Agrupamiento 59
Extensión a k medias normales
Inmediata
Paso 1
Paso 2
∑ =−−
−−
= k
nx
x
jinni
jji
eezE
12/)(
2/)(
22
22
][σµ
σµ
∑=
=m
iijij xzE
m 1
][1'µ
21
2 )()(1' jim
i jij xzEm
µσ −= ∑ =
Agrupamiento 60
Discusión
Converge a máximos locales y proporciona estimas de las variable ocultas Máximo local de E[ln p(Y/h)] Y=X U Z
Extensión a varios atributos (x) Simple si se asume independencia (como Naïve
Bayes) Distribuciones conjuntas, introduce matriz de
covarianza simétrica, n*(n+1)/2: aumenta el riesgo de sobreajuste por exceso de parámetros
Atributos discretos, simple si independientes Estimación de k
Bibliografía
Chirstopher M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006
Jiawei Hand and Micheline Kamber. Data Mining: Concepts and Techniques. Morgan Kaufmann, 2nd edition, 2006.
http://www.cs.cmu.edu/~tom/mlbook-chapter-slides.html
http://www.cs.waikato.ac.nz/ml/weka/
http://www.cs.sfu.ca/~han/dmbook
http://scalab.uc3m.es/%7Edocweb/ad/transparencias/agrupamiento.pdf