Veamos con rapidez los tipos de algoritmos de agrupamiento en clústeres y cuándo debes elegir cada uno.
Cuando elijas un algoritmo de agrupamiento en clústeres, debes considerar si el algoritmo escala a tu conjunto de datos. Los conjuntos de datos en el aprendizaje automático pueden tener millones de ejemplos, pero no todos los algoritmos de agrupamiento en clústeres escalan de manera eficiente. Muchos algoritmos de agrupamiento en clústeres calculan la similitud entre todos los ejemplos. Esto significa que su entorno de ejecución aumenta como el cuadrado de la cantidad de ejemplos \(n\), indicado como \(O(n^2)\) en notación de complejidad. \(O(n^2)\) Los algoritmos no son prácticos cuando la cantidad de ejemplos es de millones. Este curso se centra en el algoritmo k-means, que tiene una complejidad de \(O(n)\), lo que significa que el algoritmo se escala de manera lineal con \(n\).
Tipos de agrupamiento en clústeres
Existen varios enfoques para el agrupamiento en clústeres. Para obtener una lista completa, consulta Una encuesta integral sobre los algoritmos de agrupamiento en clústeres Xu, D. y Tian, Y. Ann. Data. Sci. (2015) 2: 165. Cada enfoque es más adecuado para una distribución de datos en particular. A continuación, se presenta una breve discusión sobre cuatro enfoques comunes, que se enfocan en el agrupamiento en clústeres basado en centroides mediante k-means.
Agrupamiento en clústeres basado en centroides
El agrupamiento en clústeres basado en centroides organiza los datos en clústeres no jerárquicos, a diferencia de los agrupamientos en clústeres jerárquicos que se definen a continuación. k-means es el algoritmo de agrupamiento en clústeres basado en centroides más usado. Los algoritmos basados en centroides son eficientes, pero sensibles a las condiciones y valores atípicos iniciales. Este curso se centra en k-means porque es un algoritmo de agrupamiento en clústeres eficiente, efectivo y simple.
Agrupamiento en clústeres basado en la densidad
El agrupamiento en clústeres basado en la densidad conecta áreas de alta densidad de ejemplo en clústeres. Esto permite distribuciones arbitrarias, siempre y cuando se puedan conectar áreas densas. Estos algoritmos tienen dificultades con los datos de las distintas densidades y dimensiones. Además, por diseño, estos algoritmos no asignan valores atípicos a los clústeres.
Agrupamiento en clústeres basado en la distribución
En este enfoque de agrupamiento en clústeres, se supone que los datos están compuestos por distribuciones, como distribuciones gaussianas. En la Figura 3, el algoritmo basado en distribución agrupa los datos en tres distribuciones gaussianas. A medida que aumenta la distancia desde el centro de distribución, la probabilidad de que un punto pertenezca a la distribución disminuye. Las bandas muestran esa disminución de la probabilidad. Si no conoces el tipo de distribución en tus datos, debes usar un algoritmo diferente.
Agrupamiento en clústeres jerárquico
El agrupamiento en clústeres jerárquico crea un árbol de clústeres. No es de extrañar que el agrupamiento en clústeres jerárquico sea adecuado para datos jerárquicos, como las taxonomías. Consulta Comparación de 61 Escherichia coli Genomes de Oksana Lukjancenko, Trudy Wassenaar y Dave Ussery para ver un ejemplo. Además, otra ventaja es que puedes elegir cualquier cantidad de clústeres si cortas el árbol en el nivel correcto.