Clustering (Agrupamiento) Dr. Elmer A. Fernández Universidad Católica de Córdoba Fac. Ingeniería
Definición Clustering: Se basa en intentar responder como es que ciertos Objetos (casos) pertenecen o “caen” naturalmente en cierto número de clases o grupos, de tal manera que estos objetos comparten ciertas características. Esta definición asume que los objetos pueden dividirse , rasonablemente, en grupos que contienen objetos similares. Si tal división existe, ésta puede estar oculta y debe ser descubierta.Este es el objetivo principal de las técnicas o estudios de clustering
Objetos (Datos) y Variables Un Objeto es un dato, el cual esta formado por un conjunto finito de variables. Variables: Numéricas: son números reales en general Nominales : Son variables discretas pero que no tienen un orden especificado (color de ojos) Ordinales: Son variables discretas con una relación de orden (temp. Alta, Media, baja) Binarias: solo pueden tomar dos estados posibles (dicotómicas)
Medidas de Disimilaridad (Similaridad) Asocian un número (dij) a un par de Objetos/Datos (i,j) , donde: (Sea S el subespacio de objetos a clasificar) dij 0 para todo i, j S dij = 0 para todo i==j S dij = dji para todo i, j S dij diz + dzj
Distancias City-Block Euclídea Minkowski
Distancias ? ?
Problemas frecuentes Incompatibilidad en las Unidades de Medida Variables de distinto tipo (Numericas, Nominales,etc..) Variables faltantes (Missing Values)
Tipos de Clustering Jerárquico (Hierarchical) : dendrogramas, Grafos (Arboles) De partición: División en grupos (SOM, LVQ, etc.)
Clustering Jerárquico Dendrogramas El primer paso es calcular las distancias entre todos los pares de objetos. Esto es lo mismo que asumir que cada objeto constituye un cluster: {C1, ...,CN}. Se buscan los dos clusters más cercanos (Ci, Cj), éstos se juntan y constituyen uno solo Cij. Se repite el paso 2 hasta que no quedan pares de comparación. En general se representan como árboles binarios.
Clustering Jerárquico Dendrogramas La cuestión crítica de este método es la forma de “juntar” los clusters entre sí, se utilizan básicamente tres formas: Enlace simple Enlace promediado Enlace completo
Clustering Jerárquico Dendrogramas: Ejemplo en matlab Datos=[ 0.8 1.8;... 1.1 1.6;... 0.8 1.3;... 1.0 0.9;... 1.4 0.6;... 1.5 0.1;... 1.1 0.1]; En formato Matlab
Clustering Jerárquico Dendrogramas: Enlace simple (Single Linkeage) El primer paso (común a todos los métodos) es calcular la matriz de distancias o matriz de disimilaridad. Buscar el par mas cercano.
Clustering Jerárquico Dendrogramas: Enlace simple (Single Linkeage) Los junto, formo un nuevo cluster y me quedo con las mínimas distancias de ambos clusters.
Clustering Jerárquico Dendrogramas: Enlace simple (Single Linkeage)
Clustering Jerárquico Dendrogramas: Enlace simple (Single Linkeage)
Clustering Jerárquico Dendrogramas: Enlace simple (Single Linkeage)
Clustering Jerárquico Dendrogramas: Enlace simple (Single Linkage)
Clustering de Partición KMeans El algoritmo de las K-medias es otro algoritmo de partición. Básicamente este algoritmo busca formar clusters (grupos) los cuales serán representados por K objetos. Cada uno de estos K objetos es el valor medio de los objetos que pertenecen a dicho grupo.
Clustering de Partición KMeans Inicialmente se seleccionan K objetos del conjunto de entrada. Estos K Objetos serán los centroides iniciales de los K-grupos. Se calculan las distancias de los objetos(datos) a cada uno de los centroides. Los Datos (Objetos) se asignan a aquellos grupos cuya distancia es mínima con respecto a todos los centroides.
Clustering de Partición KMeans Se actualizan los centroides como el valor medio de todos los objetos asignados a ese grupo. Se repite el paso 2 y 3 hasta que se satisface algún criterio de convergencia. KMdemo
Clustering de Partición KMeans
Clustering de Partición KMeans
Clustering de Partición KMeans
Clustering de Partición Self-Organizing Maps Los Mapas Autoorganizativos o Self-Organizing Maps es un modelo de red neuronal desarrollado por Teuvo Kohonen en los 80s. Básicamente este modelo procesa una base de datos, resultando en un mapa (usualmente bidimensional) donde casos similares se “mapean” en regiones cercanas. De esta manera “vecindad” significa “similaridad”.
Clustering de Partición Self-Organizing Maps La estructura de este modelo es una capa de nodos (uni, bi o tridimensional). La disposición de los nodos es sobre un espacio geométrico y no están conectados entre si. Todos los nodos se conectan a las mismas entradas del modelo.
Clustering de Partición Self-Organizing Maps
Clustering de Partición Self-Organizing Maps Disposición de los nodos en el array
Clustering de Partición Self-Organizing Maps Funcionamiento
Clustering de Partición Self-Organizing Maps: Entrenamiento Se inicializan los pesos de cada nodo (por ej. aleatoriamente.) Se presenta una entrada a la red. Se busca el nodo ganador Se actualizan los pesos del nodo ganador y de sus vecinos. Se vuelve al paso 2 hasta que se satisface el criterio de detención impuesto.
Clustering de Partición Self-Organizing Maps: Entrenamiento Consideraciones Iniciales: Selección de la dimensión de la red Selección de la cantidad de nodos Selección de una medida de similaridad Inicialización aleatoria de pesos Selección del coeficiente de aprendizaje Elección de una vecindad inicial.
Clustering de Partición Self-Organizing Maps: Entrenamiento Búsqueda del nodo ganador: Actualización de los pesos:
Clustering de Partición Self-Organizing Maps: Entrenamiento
Clustering de Partición Self-Organizing Maps: Resultado Espacio de Entrada Espacio de Salida (Mapa) Vectores de Pesos Nodos
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: Base de datos de animales
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: Mapa de animales
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: Mapa de animales (Distancias – Clusters)
Clustering de Partición Self-Organizing Maps: Ejemplo Toy problem: presentación de un nuevo caso
Clustering de Partición Self-Organizing Maps: Ejemplo Hijo’e tigre !!!