Algoritmos de agrupamiento en clústeres

Los conjuntos de datos de aprendizaje automático pueden tener pero no todos los algoritmos de agrupamiento en clústeres escalan de forma eficiente. Muchos clústeres los algoritmos calculan la similitud entre todos los pares de ejemplos, que significa que su tiempo de ejecución aumenta a medida que el cuadrado de la cantidad de ejemplos \(n\), se indica como \(O(n^2)\) en la notación de complejidad. \(O(n^2)\) Los algoritmos práctico para conjuntos de datos con millones de ejemplos.

El algoritmo k-means tiene un la complejidad de \(O(n)\), lo que significa que el algoritmo escala de manera lineal con \(n\). Este algoritmo será el enfoque del curso.

Tipos de agrupamiento en clústeres

Para obtener una lista exhaustiva de los diferentes enfoques de agrupamiento en clústeres, consulta Una encuesta completa sobre los algoritmos de agrupamiento Xu, D. & Tian, Y. Ana Datos. Ciencia. (2015) 2: 165. Cada enfoque es más adecuado una distribución de datos en particular. En este curso, se analizan brevemente cuatro diferentes.

Agrupamiento en clústeres basado en centroides

El centroide de un clúster es el media aritmética de todos los puntos de la clúster. El agrupamiento en clústeres basado en Centroid organiza los datos en clústeres no jerárquicos entre los clústeres de Kubernetes. Los algoritmos de agrupamiento en clústeres basados en centroides son eficientes, pero sensibles a condiciones iniciales y valores atípicos. De estos, k-means es el más de uso general. Requiere que los usuarios definan la cantidad de centroides, k y funciona bien con clústeres de casi el mismo tamaño.

Ejemplos que se agrupan en clústeres mediante el agrupamiento en clústeres basado en centroides.
           Las líneas muestran los bordes entre los clústeres.
Figura 1: Ejemplo de agrupamiento en clústeres basado en centroides.

Agrupamiento en clústeres basado en la densidad

El agrupamiento en clústeres basado en la densidad conecta áreas contiguas de alta densidad de ejemplos en entre los clústeres de Kubernetes. Esto permite descubrir cualquier cantidad de clústeres de cualquier forma. Los valores atípicos no se asignan a los clústeres. Estos algoritmos tienen dificultades con clústeres con diferentes densidades y datos con dimensiones altas.

Ejemplos que se agrupan en dos clústeres mediante el agrupamiento en clústeres basado en la densidad.
      Los clústeres no se pueden separar de forma lineal.
Figura 2: Ejemplo de agrupamiento en clústeres basado en la densidad.

Agrupamiento en clústeres basado en la distribución

Este enfoque de agrupamiento en clústeres supone que los datos están compuestos por datos probabilísticos distribuciones, como Distribuciones gaussianas. En En la Figura 3, el algoritmo basado en la distribución agrupa los datos en tres grupos de distribuciones. A medida que aumenta la distancia desde el centro de la distribución, probabilidad de que un punto pertenezca a la distribución disminuya. El espectáculo de las bandas esa disminución de probabilidad. Cuando no puedes suponer que un subyacente de los datos, deberías usar un algoritmo diferente.

Ejemplos agrupados mediante agrupamiento en clústeres basado en la distribución. El sombreado de la densidad de los ejemplos en cada clúster muestra cómo los clústeres se asignan a las distribuciones.
Figura 3: Ejemplo de agrupamiento en clústeres basado en la distribución.

Hierarchical clustering

El agrupamiento en clústeres jerárquico crea un árbol de clústeres. El agrupamiento en clústeres jerárquico, No es de extrañar que sea adecuado para datos jerárquicos, como las taxonomías. Consulta Comparación de 61 genomas de escherichia coli secuenciada por Oksana Lukjancenko, Trudy Wassenaar y Dave Ussery como ejemplo. Se puede elegir cualquier cantidad de clústeres si se corta el árbol en el nivel correcto.

Animales agrupados mediante un árbol jerárquico
Figura 4: Ejemplo de un árbol jerárquico que agrupa animales en clústeres.