C-Means Difuso (FCM)
Fuzzy C-Means (FCM) es un algoritmo popular clustering algorithm utilizada en análisis de datos and pattern recognition. Unlike traditional clustering methods, such as K-means, which assign each data point to a single cluster, FCM allows for a more flexible assignment. In FCM, each data point can belong to multiple clusters with different degrees of membership, represented by a value between 0 and 1.
El algoritmo funciona minimizando la varianza ponderada dentro del grupo, que se define como la suma de las distancias entre cada punto de datos y los centroides del grupo, elevadas a una potencia (generalmente 2), y ponderadas por el grado de membresía de cada punto a los grupos. Los pasos involucrados en el algoritmo FCM son los siguientes:
- Inicialización: Elige el número de grupos (C) y inicializa los centroides de los grupos de forma aleatoria.
- Cálculo de membresía: For each data point, calculate its el grado de membresía para cada grupo en función de su distancia a los centroides.
- Actualización de centroides: Update the centroids by calculating the weighted average of the data points, where weights son los grados de membresía.
- Verificación de convergencia: Repeat the membership calculation and centroid update steps until the changes in centroids or memberships fall below a specified threshold.
Fuzzy C-Means is particularly useful in scenarios where data is inherently ambiguous, such as segmentación de imágenes, medical diagnosis, and customer segmentation. By allowing for partial membership in multiple clusters, FCM provides a more nuanced understanding of the underlying structure in the data.