Agrupación:
Antes de aprender Clustering por Consenso, debemos saber qué es Clustering . En Machine Learning, Clustering es una técnica utilizada para agrupar diferentes objetos en clústeres separados según su similitud, es decir, objetos similares estarán en los mismos clústeres, separados de otros clústeres de objetos similares. Es un método de aprendizaje no supervisado . Algunos algoritmos de agrupamiento utilizados con frecuencia son K-means , K-prototype, DBSCAN , etc.
Agrupación de consenso:
Hay algunos inconvenientes del proceso normal de agrupamiento. Los algoritmos como K-means o K-prototype, etc. utilizan un procedimiento de inicialización aleatorio que da como resultado diferentes resultados de clúster o inicialización de clúster en cada iteración del algoritmo. También es necesario inicializar el valor de K, que generalmente se elige mediante el método Elbow . Por lo tanto, el proceso de agrupamiento depende mucho de estas métricas, por lo tanto, produce agrupaciones sesgadas que también son muy inestables. Para eliminar estos inconvenientes, seguimos un enfoque de agrupamiento diferente que es el agrupamiento por consenso.
La palabra ‘Consenso’ proviene de una palabra latina, que significa ‘ Acuerdo general’. Consensus Clustering es una técnica de combinación de múltiples clústeres en un solo clúster más estable que es mejor que los clústeres de entrada. De esta manera, todos los clústeres se fusionan en un solo clúster estable y este proceso se realiza de forma iterativa generando una Array de Consenso en cada nivel.
Ventajas de la agrupación por consenso:
- Mejor calidad y robustez de los clusters.
- Producir el número correcto de racimos.
- Mejor manejo de los datos faltantes.
- Las particiones individuales se pueden obtener de forma independiente.
Proceso de agrupación por consenso:
El Consensus Clustering se basa en dos fases:
- Generación de particiones: en esta etapa, se crean diferentes particiones de objetos de datos utilizando diferentes subconjuntos de atributos de datos, aplicando diferentes algoritmos de agrupación con diferentes sesgos, tomando diferentes parámetros para la agrupación y utilizando una submuestra aleatoria diferente de todo el conjunto de datos. Una vez que generamos la partición inicial, avanzamos hacia la generación de consenso entre las particiones y la generación adicional de nuevas particiones basadas en el consenso anterior.
- Generación de consenso: el consenso entre las particiones de datos se genera utilizando la función de consenso, que se obtiene generalmente en estos enfoques:
- Enfoque basado en particiones medianas: aquí los puntos de datos de diferentes particiones se agrupan por su índice de similitud. Formamos nuevas particiones en función de las medianas de los puntos de datos de las particiones anteriores. El índice de similitud depende del acuerdo y desacuerdo de los puntos de datos, que se mide mediante medidas F, índice de Rand, etc.
- Enfoque basado en la co-ocurrencia: en este enfoque, hay 3 métodos que podemos usar: 1. Método basado en reetiquetado/votación, 2. Método basado en array de co-asociación , 3. Método basado en gráficos . El método basado en reetiquetado/votación genera los nuevos grupos al determinar la correspondencia con el consenso actual. Cada instancia obtiene un voto determinado de sus asignaciones de grupos y actualiza el consenso y las asignaciones de grupos en consecuencia. El método basado en la array de coasociación genera los nuevos grupos basados en la array de coasociación por la similitud de los puntos de datos y el método basado en gráficos ggenera un gráfico ponderado para representar múltiples clústeres y encuentra las particiones óptimas minimizando el corte del gráfico.
Hay muchos algoritmos diferentes de Consensus Clustering basados en diferentes enfoques para generar una función de consenso y hay muchos trabajos de investigación que aún están en curso para mejorar los modelos existentes.