de esta tesis es la construc- ción de centroides para cadenas.
— Cálculo del centroide el cálculo del centroide no es trivial15
Figura 2.6: Ejemplos de agru-
para todo tipo de estructuras. En esos problemas, el algorit-
mo empleado se sustituye por 𝑘-medoids (Ng & Han, 2002)
en el que el punto singular ya no es la media de los puntos del cluster sino que se fuerza que el punto singular sea un punto del cluster (cercano a la media).
— Forma de los grupos 𝑘-mean funciona bien cuando los gru-
pos naturales a identificar tienen forma hiper-esférica. Pero fallan al intentar discriminar grupos en los que existe cierto solapamiento en las envolventes.
Lafigura 2.6muestra algunos ejemplos sintéticos de agru- pación usando 𝑘-mean, en el que se muestra la posición del centroide con un círculo con borde negro. Se puede apreciar
el fallo en superficies con concavidades y solapamiento de envolventes.
— Calidad de los clusters El algoritmo identifica el número de
grupos indicados, tengan sentido o no. Los ejemplos de la de-
recha de lafigura 2.6sufren de dicho problema en uno ten-
dría, a priori, más sentido tener tres grupos en vez de dos y en el otro tendría más sentido tener un único grupo.
— Repetibilidad El resultado obtenido depende, en gran me-
dida, de las posiciones de los centroides iniciales. No hay ga- rantía de convergencia, y cuando esta se produce no hay ga- rantía de partición óptima.
Con intención de minimizar los inconvenientes expuestos, nu-
merosas extensiones se han propuesto (Jain, 2010) aunque no
pueden batir la sencillez de uso que hacen de 𝑘-mean de una herramienta sin parangón para el análisis y visualización inicial de los datos.
Basado en densidad
La idea principal de estas técnicas se basa en considerar que ca- da punto está conectado con los puntos de su vecindad inme- didata (puntos cuya distancia al primero no supera un umbral determinado) y que el etiquetado de ese punto está fuertemente relacionado con el etiquetado de los puntos de vecindad. Todos los puntos del espacio en un área de densa de conexiones perte- necerán, por tanto, al mismo cluster.
El proceso de general de particionado comienza en un pun- to al que se le asigna una etiqueta y dicha etiqueta se va exten- diendo a los puntos del vecindario siempre que se mantenga una densidad de conexión mínima. Una vez que la región no puede crecer más, se escoge un nuevo punto no etiquetado y se repite el proceso hasta que no queden puntos sin identificar.
Estos algoritmos son capaces de marcar regiones de formas arbitrarias y, por su construcción, son inmunes a outliers. Ade- más, presentan una buena relación tiempo de cálculo tamaño de la nube de puntos, por lo que presentan buena escalabilidad.
Lamentablemente, también presentan una serie de inconve- nientes a considerar.
— No es sensible a variaciones de densidad Dos regiones ad-
superiores al umbral escogido) se identificarán como un úni- co cluster.
— Dificultad de interpretación de resultados Cuando aumen-
ta el número de dimensiones presentes en los objetos, más difícil de interpretar los resultados obtenidos.
— El número de grupos no es controlable Las variables de con-
trol de los algoritmos están relacionadas con umbrales de densidad y definición de vecindad.
El algoritmoDBSCAN(Density Based Spatial Clustering of Ap-
plications with Noise) (Ester, Kriegel, Sander, Xu, et al., 1996) es el más conocido de esta categoría (estando orientado a espacios de pocas dimensiones). Se basa en dos parámetros 𝜀 y 𝑀𝑖𝑛𝑃𝑡𝑠, y las siguientes definiciones:
− Un 𝜀-vecindario de 𝑥 es el conjunto:
𝑁𝜀= {𝑦 ∈ 𝑋|d(𝑥,𝑦) ≤ 𝜀}
− Un núcleo es un punto con un vecindario que contiene más
de 𝑀𝑖𝑛𝑃𝑡𝑠.
− 𝑦es denso-alcanzable (density-reachable) desde el núcleo 𝑥 si
existe una secuencia finita de núcleos entre 𝑥 e 𝑦 tal que cada núcleo pertenezca al vecindario del anterior
− La denso-conectividad (density-connectivity) de dos puntos 𝑥
e 𝑦 es cuando ambos puntos son denso-alcanzables desde un mismo núcleo. La denso-conectividad es simétrica.
Los pasos básicos para efectuar una agrupaciónDBSCANse
describe en elalgoritmo 2.2
Figura 2.7: Ejemplos de agru-
pamientoDBSCANtomado
de (Pedregosa, et al., 2011)
Todos los puntos denso-conectados forman un cluster en los que los núcleos representan los puntos interiores, los puntos que no son núcleos están situados en el borde y todo punto que no
pertenece al vecindario de un núcleo es un outlier. Lafigura 2.7
muestra el desempeño en las mismas distribuciones que se em- plearon con el algoritmo 𝑘-mean.
Una dificultad de aplicación de este algoritmo es la selección de los parámetros 𝜀 y 𝑀𝑖𝑛𝑃𝑡𝑠. No existe una regla o norma que asocie los datos a analizar con los parámetros que implica que parámetros con valores generosos (entornos grandes y conecti- vidad baja) tienen a construir un único grupo con todos los datos y parámetros restrictivos a considerar que todos los puntos son
𝑖𝑑𝑐𝑙𝑢𝑠𝑡𝑒𝑟 ← 0
while hay puntos sin etiquetar do
𝑝𝑢𝑛𝑡𝑜1← punto no etiquetado al azar
if 𝑝𝑢𝑛𝑡𝑜1no es nucleo then
tag(𝑝𝑢𝑛𝑡𝑜1) ← outlier
else
Añadir 𝑝𝑢𝑛𝑡𝑜1a 𝑐𝑜𝑙𝑎.
while 𝑐𝑜𝑙𝑎 no está vacía do
Extraer primero de la 𝑐𝑜𝑙𝑎 en 𝑝𝑢𝑛𝑡𝑜2
tag(𝑝𝑢𝑛𝑡𝑜2) ← 𝑖𝑑𝑐𝑙𝑢𝑠𝑡𝑒𝑟
Añadir a 𝑐𝑜𝑙𝑎 todos los puntos del vecindario de 𝑝𝑢𝑛𝑡𝑜2
no etiquetados.
end while
𝑖𝑑𝑐𝑙𝑢𝑠𝑡𝑒𝑟 ← 𝑖𝑑𝑐𝑙𝑢𝑠𝑡𝑒𝑟+ 1
end if end while
Algoritmo 2.2: AgrupaciónDBSCAN
Con el ánimo de minimizar este problema se han buscado ex-
tensiones comoOPTICS(Ordering Points To Identify the Clustering
Structure) (Ankerst, Breunig, Kriegel, & Sander, 1999) en la que se consideran que 𝜀 es una variable y estudia el comportamien-
to del agrupamiento para todos los valores 𝜀′ ≤ 𝜀, oDBCLASD
(Distribution Based Clustering of Large Spatial Databases) (Xu, Es-
ter, Kriegel, & Sander, 1998) que considera que cada cluster tiene
una densidad de puntos y utiliza una distribución de probabili- dad para estimar la densidad y los grupos.
Clustering jerárquico
Los métodos de construcción de una agrupación jerárquica se clasifican en agregativos (enfoque bottom-up) y divisivos (enfo-
2.16(Jain & Dubes, 1988)
que top-down)16. En los primeros se parte de los puntos originales
que en sucesivas pasadas se van fusionando con otros (creando grupos) y estos entre sí hasta llegar a uno único. En los segundos métodos, se parte de un único grupo que engloba todos los pun- tos y se van subdividiendo hasta llegar al nivel de granularidad deseado.
Una gran ventaja de estas técnicas de agrupamiento es que funcionan a partir de una matriz de distancias por lo que pueden operar con cualquier tipo de objetos que tengan definida una mé- trica. Igualmente y dado que el árbol de clusters (que como se ha indicado anteriormente también se llama dendograma) es una
instantánea de todos los grupos y subgrupos generados, permi- te decidir a posteriori particiones excluyentes de los puntos.
Al ser un proceso determinista, los árboles generados siempre serán idénticos siempre que los puntos analizados y el método escogido de construcción también lo sean.
Agrupación aditiva
Para realizar una agrupación jerárquica agregativa, es necesa- rio obtener previamente una matriz de distancias en el que cada
elemento 𝐷𝑖,𝑗sea la distancia entre el elemento 𝑖 y el elemento 𝑗
del conjunto de datos. Esta matriz nos permite determinar cómo
hacer la agrupación tal y cómo se muestra en elalgoritmo 2.3.
Establecer matriz 𝐷 de distancias entre elementos.
repeat
Seleccionar elemento 𝐷𝑖,𝑗menor.
Crear el agregado 𝑖𝑗
Eliminar en 𝐷 las distancias de los elementos 𝑖 y 𝑗
Añadir las distancias de los elementos restantes de 𝐷 con el agregado 𝑖𝑗
until 𝐷 tenga un solo elemento.
Algoritmo 2.3: Agrupación jerárquica aditiva
Para completar la descripción de la agrupación jerárquica, es ne- cesario especificar cómo se van a construir las distancias del nue- vo agregado 𝑖𝑗 con cada elemento (𝑘) o agregado (𝑘𝑙) restante del conjunto. Este criterio de distancias entre clados se denomina
2.17(Murtagh, 1983;Olson,
1995) linkage (enlaces). Entre otras estrategias
17de enlace, están:
— single link La distancia entre dos clados se define como la
mínima existente entre los miembros de estos.
single(𝐶1,𝐶2) = mín d(𝑥,𝑦) ∀𝑥 ∈ 𝐶1, 𝑦 ∈ 𝐶2 (2.38)
— average link La distancia entre clados se define como la me-
dia de las distancias entre cada elemento de un clado con ca- da elemento del otro.
average(𝐶1,𝐶2) =
∑𝑥∈𝐶
1∑𝑦∈𝐶2d(𝑥,𝑦)
|𝐶1| ⋅ |𝐶2|
(2.39)
— complete link La distancia entre clados es la máxima distan-
complete(𝐶1,𝐶2) = máx d(𝑥,𝑦) ∀𝑥 ∈ 𝐶1, 𝑦 ∈ 𝐶2(2.40) El cálculo de las distancias a los nuevos agregados sería compu- tacionalmente gravoso si no fuera por la fórmula de actualiza-
ción Lance-Williams (Lance & Williams, 1967) que permite cal-