El análisis de clustering o análisis de grupo es una de las técnicas más populares dentro del aprendizaje no supervisado. Cuando se dispone de un conjunto de datos sin etiquetar, esto es no se tiene un valor o etiqueta asociado a cada registro, se puede utilizar el análisis de clustering para agrupar los elementos que son similares entres sí y separa aquellos que son diferentes. Por ejemplo, si disponemos de un conjunto de clientes se puede agrupar estos en base su comportamiento, identificando de esta manera diferentes patrones entre los mismos. Las técnicas de análisis de clustering se pueden dividir en dos categorías principales hard y soft clustering, veamos la diferencia entre ambas
Hard clustering
Los algoritmos de hard clustering asignan a cada uno de los elementos del conjunto de datos a un único clúster. Pasando el elemento a pertenecer al clúster asignado. Siendo esto lo que ofrece los algoritmos más conocidos como puede ser el caso de k-means, DBSCAN, ... En este caso el resultado del algoritmo es una función que asigna a cada punto del espacio de características a uno de los posibles grupos.
Soft clustering
Los algoritmos de soft clustering habitualmente se dividen en dos subgrupos: clustering probabilísticos (probabilistic clustering) y clustering difuso (fuzzy clustering). A diferencia del enfoque anterior, en este el algoritmo asigna un vector con la probabilidad de que cada uno de los elementos del conjunto de datos pertenezca a cada uno de los posibles clústeres. Esto es, en el caso de que existan K clústeres el resultado de estos algoritmos es un vector de longitud K con las probabilidades de que el punto en cuestión pertenezca a cada uno de los grupos. Por lo que los diferentes clústeres no son inconexos, sino que todos los registros pertenecen a todos los clústeres con un grado de pertenencia proporcional a su probabilidad.
Fuzzy C-Means Clustering (FCM)
Uno de los algoritmos más populares de soft clustering es Fuzzy C-Means Clustering (FCM). Un algoritmo que se basa en el uso de lógica difusa. Empleando una aproximación al problema similar a la de k-means pero cambiando el criterio de agrupamiento por uno basado en una función objetivo que depende de la partición difusa. Siendo el objeto final minimizar iterativamente esta función de agrupamiento hasta obtener una partición difusa óptima.
Así, en FCM los centroides de cada uno de los clústeres se obtiene mediante la siguiente expresión
c_j = \frac{\sum_{i=1}^{N} \mu_{ij}^m x_i}{\sum_{i=1}^{N} \mu_{ij}^m}
en donde N es el número de registros, m es un número real mayor de 1 y \mu_{ij} son los vectores de probabilidad que se definen mediante la expresión
\mu_{ij} = \frac{1}{\sum_{c=1}^k \left( \frac{||x_i -c_j||}{||x_i-c_c||} \right)^{\frac{2}{m-1}}}
donde k es el número de clústeres. Estas expresiones se utilizan para refinar de forma iterativa los valores hasta que la diferencia de los vectores entre una iteración y la siguiente es despreciable.
Conclusiones
En esta entrada se ha visto la diferencia fundamental que existe entre los algoritmos de hard y soft clustering. Las dos categorías en las que se divide el análisis de clustering. Aunque la mayoría de los algoritmos de clustering que se utilizan son tipo hard, es importante conocer la diferencia entre ambos.