Articulo de referencia

Agrupamiento FLAME

El algoritmo FLAME (Fuzzy Clustering by Local Approximation of MEmberships) define clústeres en las partes densas de un conjunto de datos y asigna clústeres basándose únicamente...

El algoritmo FLAME (Fuzzy Clustering by Local Approximation of MEmberships) define clústeres en las partes densas de un conjunto de datos y asigna clústeres basándose únicamente en las relaciones de vecindad entre objetos. La característica clave de este algoritmo es que las relaciones de vecindad entre objetos vecinos en el espacio de características se utilizan para restringir las pertenencias de objetos vecinos en el espacio de pertenencia difusa.

Descripción del algoritmo FLAME

El algoritmo FLAME se divide principalmente en tres pasos:

  1. Extracción de la información estructural del conjunto de datos:
    1. Construir un grafo de vecindad para conectar cada objeto con sus K vecinos más cercanos (KNN);
    2. Estimar una densidad para cada objeto en función de su proximidad a su KNN;
    3. Los objetos se clasifican en 3 tipos:
      1. Objeto de soporte de clúster (CSO): objeto con una densidad superior a la de todos sus vecinos;
      2. Agrupación de objetos atípicos: objeto con una densidad inferior a la de todos sus vecinos y a un umbral predefinido;
      3. el resto.
  2. Aproximación local/vecinal de pertenencias difusas :
    1. Inicialización de la pertenencia difusa:
      1. A cada organización de la sociedad civil se le asigna una membresía fija y completa para representar a un clúster;
      2. A todos los valores atípicos se les asigna una pertenencia fija y completa al grupo de valores atípicos;
      3. Al resto se les asigna la misma proporción de miembros a todos los clústeres y al grupo de valores atípicos;
    2. Luego, las pertenencias difusas de todos los objetos de tipo 3 se actualizan mediante un procedimiento iterativo convergente llamado Aproximación Local/Vecindad de Pertenencias Difusas , en el que la pertenencia difusa de cada objeto se actualiza mediante una combinación lineal de las pertenencias difusas de sus vecinos más cercanos.
  3. Construcción de clústeres a partir de pertenencias difusas de dos maneras posibles:
    1. Asignación uno a uno de objetos a clústeres, para asignar cada objeto al clúster al que pertenece en mayor medida;
    2. Asignación de uno a varios grupos de objetos, para asignar cada objeto al grupo al que pertenece por un valor superior a un umbral.

El problema de optimización en FLAME

La aproximación local/vecinal de pertenencias difusas es un procedimiento para minimizar el error de aproximación local/vecinal (LAE/NAE) definido de la siguiente manera:

mi({pag})=incógnitaincógnitapag(incógnita)ynorte(incógnita)wincógnitaypag(y)2{\displaystyle E(\{{\boldsymbol {p}}\})=\sum _{{\boldsymbol {x}}\in {\boldsymbol {X}}}{\bigg \|}{\boldsymbol {p(x)}}-\sum _{\boldsymbol {y\in {\mathcal {N}}(x)}}w_{\boldsymbol {xy}}{\boldsymbol {p(y)}}{\bigg \|}^{2}}

dóndeincógnita{\displaystyle {\boldsymbol {X}}}es el conjunto de todos los objetos de tipo 3,pag(incógnita){\displaystyle {\boldsymbol {p(x)}}}es el vector de pertenencia difusa del objetoincógnita{\displaystyle {\boldsymbol {x}}},norte(incógnita){\displaystyle {\mathcal {N}}(x)}es el conjunto de vecinos más cercanos deincógnita{\displaystyle {\boldsymbol {x}}}, ywincógnitay{\displaystyle w_{\boldsymbol {xy}}}conynorte(incógnita)wincógnitay=1{\displaystyle \sum _{\boldsymbol {y\in {\mathcal {N}}(x)}}w_{\boldsymbol {xy}}=1}son los coeficientes que reflejan la proximidad relativa de los vecinos más cercanos.

El NAE se puede minimizar resolviendo las siguientes ecuaciones lineales con una solución única que es el único mínimo global del NAE con valor cero:

pagk(incógnita)ynorte(incógnita)wincógnitaypagk(y)=0,incógnitaincógnita,k=1,...,METRO{\displaystyle p_{k}({\boldsymbol {x}})-\sum _{\boldsymbol {y\in {\mathcal {N}}(x)}}w_{\boldsymbol {xy}}p_{k}({\boldsymbol {y}})=0,\quad \forall {{\boldsymbol {x}}\in {\boldsymbol {X}}},\quad k=1,...,M}

dóndeMETRO{\displaystyle M}es el número de CSO más uno (para el grupo de valores atípicos). El siguiente procedimiento iterativo se puede utilizar para resolver estas ecuaciones lineales:

pagt+1(incógnita)=ynorte(incógnita)wincógnitaypagt(y){\displaystyle {{\boldsymbol {p}}^{t+1}({\boldsymbol {x}})}=\sum _{\boldsymbol {y\in {\mathcal {N}}(x)}}w_{\boldsymbol {xy}}{{\boldsymbol {p}}^{t}({\boldsymbol {y}})}}

Una ilustración sencilla en un conjunto de datos de prueba bidimensional.

Véase también

  • BMC Bioinformatics (2007): FLAME, un nuevo método de agrupamiento difuso para el análisis de datos de microarrays de ADN.
  • Código fuente de FLAME en C publicado bajo una licencia similar a la de FreeBSD en Google Code.