La agrupación difusa por aproximación local de membresías (FLAME) es un algoritmo de agrupación de datos que define agrupaciones en las partes densas de un conjunto de datos y realiza la asignación de agrupaciones basándose únicamente en las relaciones de vecindad entre objetos. La característica clave de este algoritmo es que las relaciones de vecindad entre los objetos vecinos en el espacio de características se utilizan para restringir las pertenencias de los objetos vecinos en el espacio de pertenencia difusa.
Descripción del algoritmo FLAME
El algoritmo FLAME se divide principalmente en tres pasos:
- Extracción de la información de la estructura del conjunto de datos:
- Construya un gráfico de vecindad para conectar cada objeto a sus K-Vecinos más cercanos (KNN);
- Estime una densidad para cada objeto en función de sus proximidades a su KNN;
- Los objetos se clasifican en 3 tipos:
- Cluster Supporting Object (CSO): objeto con densidad superior a todos sus vecinos;
- Cluster Outliers: objeto con densidad menor que todos sus vecinos, y menor que un umbral predefinido;
- el resto.
- Aproximación local / vecinal de membresías difusas:
- Inicialización de membresía difusa:
- A cada OSC se le asigna una membresía fija y completa para representar un grupo;
- Todos los valores atípicos se asignan con membresía fija y completa al grupo de valores atípicos;
- El resto se asigna con membresías iguales a todos los clústeres y al grupo de valores atípicos;
- Luego, las membresías difusas de todos los objetos de tipo 3 se actualizan mediante un procedimiento iterativo convergente llamado Aproximación local / vecinal de membresías difusas , en el que la membresía difusa de cada objeto se actualiza mediante una combinación lineal de las membresías difusas de sus vecinos más cercanos.
- Inicialización de membresía difusa:
- Construcción de clústeres a partir de membresías difusas de dos formas posibles:
- Asignación de grupo de objetos uno a uno, para asignar cada objeto al grupo en el que tiene la membresía más alta;
- Asignación de grupos de objetos de uno a varios, para asignar cada objeto al grupo en el que tiene una pertenencia superior a un umbral.
El problema de optimización en FLAME
La Aproximación Local / Vecinal de Membresías Difusas es un procedimiento para minimizar el Error de Aproximación Local / Vecinal (LAE / NAE) definido como lo siguiente:
dónde es el conjunto de todos los objetos de tipo 3, es el vector de pertenencia difusa del objeto , es el conjunto de vecinos más cercanos de , y con son los coeficientes que reflejan las proximidades relativas de los vecinos más cercanos.
El NAE se puede minimizar resolviendo las siguientes ecuaciones lineales con una solución única que es el mínimo global único de NAE con valor cero:
dónde es el número de OSC más uno (para el grupo de valores atípicos). El siguiente procedimiento iterativo se puede utilizar para resolver estas ecuaciones lineales:
Una ilustración simple en un conjunto de datos de prueba de 2 dimensiones