¿Cuáles son algunos enfoques de aprendizaje no supervisados ​​para la agrupación dada una matriz de distancias por pares?

La pregunta es muy complicada y depende de los requisitos disponibles. No hay un enfoque general.

Una vez que se establece que la distancia euclidiana en algún espacio de características (ya sea las características originales en sí mismas o las características obtenidas como resultado de alguna transformación, que nuevamente debería conocerse) es la métrica para la agrupación, entonces hay algoritmos muy estándar que uno puede usar como k-significa o versiones más robustas de la misma que son menos sensibles a los valores atípicos.

Una vez más, para usar todo esto, es posible que se requiera algún conocimiento sobre el conjunto de datos, como el número de grupos para k-means (pero nuevamente hay métodos heurísticos para estimar esto también). Desde mi experiencia limitada, determinar qué métrica usar para la agrupación es la parte más difícil. Una vez que se establece, hay suficientes métodos para elegir dependiendo de los requisitos.

Pero creo que en base a la pregunta, un buen método sería la aplicación de la regresión del componente principal seguida de k-means . La PCR básicamente encuentra aquellas combinaciones de características (o coordenadas) que distinguen los diferentes grupos. Estos tienden a tener un rango muy bajo en comparación con el tamaño de la función original y ejecutar k-means en esto debería ser muy fácil. Una vez más, los mismos problemas asociados con los medios k como la convexidad de los grupos, etc. persistirían, en cuyo caso es posible que deba usar alguna transformación no lineal con algún núcleo.

Puede calcular la matriz de similitud a partir de la matriz de distancia mediante inversión y normalización. Hay algoritmos de agrupamiento que operan en una matriz de similitud. También podría considerar la matriz de similitud como gráfico de similitud y aplicar técnicas de partición de gráficos. El enfoque más popular es la agrupación espectral. Consulte el Tutorial sobre agrupación espectral para obtener más detalles.
Otro algoritmo es CHAMELEON. Debe retener solo puntos K-NN para cada punto para el algoritmo Chameleon.
Un enfoque más simple es poner en umbral la medida de similitud y encontrar los componentes conectados.
También puede hacer agrupación jerárquica.

La agrupación en datos de matriz de similitud es mejor que hacerlo en el espacio vectorial en muchos casos porque:

  1. Puede detectar grupos de formas arbitrarias. Los medios K tradicionales hacen suposiciones euclidianas y dan como resultado grupos esféricos. Esto mejora las posibilidades de identificar grupos naturales.
  2. El algoritmo de agrupamiento se generaliza a partir de la medida de distancia métrica / similitud.
  3. Las restricciones se pueden introducir naturalmente en este marco. P.ej. Puede restringir dos puntos para que pertenezcan al mismo clúster.

Otro enfoque podría ser ejecutar algún tipo de algoritmo de agrupamiento iterativo (tal vez el algoritmo K-means) y obtener algunos buenos grupos y luego darlo como entrada a un algoritmo de agrupamiento jerárquico, tal vez un algoritmo CLINK o SLINK.

CLINK y SLINK son computacionalmente óptimos en el sentido de que toman O (n ^ 2) tiempo y O (n) espacio y producen una ‘jerarquía’ de clústeres para que no necesite ejecutar el algoritmo nuevamente, si decide buscar un número diferente de grupos, también tiene la ventaja de no tener que inicializar los medios k y, por lo tanto, evitar que ese tipo de errores se filtre.

Todo dicho y hecho, ¿qué algo / enfoque es el mejor? Depende de su conjunto de datos, es mejor probar tantos como pueda y comparar los resultados y evaluarlos.

Este parece ser un buen tutorial sobre Clustering – Introducción

More Interesting

¿Hay ramas de las matemáticas y las ciencias que no se han descubierto, o hemos agotado todo el conocimiento que requerimos sobre estos dos?

¿Quiénes son los mejores profesores que trabajan en algoritmos de aproximación?

¿Por qué algunas funciones hash usan un número primo como base? ¿Cuál es el significado de usar un número primo? ¿Es para asignar unicidad y minimizar la colisión de valores hash?

Cómo resolver sumas consecutivas de UVa 12355

Como una niña india de 23 años, he completado mi licenciatura en tecnología. Me interesa la fotografía y la quiero como mi profesión. ¿Hay alguna forma de convencer a mi papá? ¿Qué tengo que hacer?

¿Qué tan bien un título en matemáticas aplicadas prepararía a alguien para la ciencia de datos?

¿Por qué este bucle, usado para agregar caracteres adyacentes en un vector, produce una salida extraña?

¿Qué es la lógica formal en informática?

¿Cómo puedo calcular la varianza para el número de aciertos de caché?

Si se le da un gráfico G no dirigido simple, ¿cómo podemos encontrar todas las subgrafías inducidas de G, que son gráficos de girasol, dentro de una cantidad de tiempo polinómica?

¿Por qué puedo codificar pero no puedo entender las matemáticas discretas?

Si se demuestra P = NP, ¿cómo cambiará el campo de la inteligencia artificial?

¿Cuál es la diferencia entre problemas decidibles e indecidibles en teoría de la computación?

¿Alguien puede escribir una función Javascript que haga esto: add (1) (2) (8) debería devolver 11, es decir, la suma de los argumentos dados (el número de argumentos puede ser cualquier número natural)?

¿Cuál es la correlación entre las matemáticas y la informática? ¿Por qué es necesario?