Métodos de agrupación que no requieren especificar previamente el número de agrupaciones

17

¿Existen métodos de agrupación "no paramétricos" para los cuales no necesitamos especificar el número de agrupaciones? Y otros parámetros como el número de puntos por grupo, etc.

Learn_and_Share
fuente

Respuestas:

22

Los algoritmos de agrupación que requieren que especifique previamente el número de agrupaciones son una pequeña minoría. Hay una gran cantidad de algoritmos que no. Son difíciles de resumir; es un poco como pedir una descripción de cualquier organismo que no sea un gato.

Los algoritmos de agrupamiento a menudo se clasifican en reinos amplios:

  1. Algoritmos de particionamiento (como k-means y su progenie)
  2. Agrupación jerárquica (como describe @Tim )
  3. Agrupación basada en densidad (como DBSCAN )
  4. Agrupación basada en modelos (por ejemplo, modelos de mezcla gaussiana finita o análisis de clase latente )

Puede haber categorías adicionales, y las personas pueden estar en desacuerdo con estas categorías y qué algoritmos van en qué categoría, porque esto es heurístico. Sin embargo, algo como este esquema es común. A partir de esto, son principalmente los métodos de partición (1) los que requieren una especificación previa del número de clústeres para encontrar. La otra información que debe especificarse previamente (por ejemplo, el número de puntos por conglomerado), y si parece razonable llamar a varios algoritmos 'no paramétricos', también es muy variable y difícil de resumir.

La agrupación jerárquica no requiere que especifique previamente la cantidad de agrupaciones, de la forma en que lo hace k-means, pero sí selecciona una cantidad de agrupaciones de su salida. Por otro lado, DBSCAN tampoco requiere (pero sí requiere la especificación de un número mínimo de puntos para un 'vecindario', aunque hay valores predeterminados, por lo que, en cierto sentido, puede omitir la especificación de eso), lo que sí pone un piso el número de patrones en un grupo). GMM ni siquiera requiere ninguno de esos tres, pero sí requiere suposiciones paramétricas sobre el proceso de generación de datos. Hasta donde sé, no existe un algoritmo de agrupación que nunca requiera que especifique una cantidad de agrupaciones, una cantidad mínima de datos por agrupación o cualquier patrón / disposición de datos dentro de las agrupaciones. No veo cómo podría haber.

Podría ayudarlo a leer una descripción general de los diferentes tipos de algoritmos de agrupamiento. Lo siguiente podría ser un lugar para comenzar:

  • Berkhin, P. "Encuesta de agrupación de técnicas de minería de datos" ( pdf )
gung - Restablece a Monica
fuente
Estoy confundido por su # 4: pensé que si uno ajusta un modelo de mezcla gaussiana a los datos, entonces uno debe elegir el número de gaussianos que se ajustarán, es decir, el número de grupos debe especificarse de antemano. Si es así, ¿por qué dice que "principalmente solo" # 1 requiere esto?
ameba dice Reinstate Monica
@amoeba, depende del método basado en el modelo y de cómo se implementa. Los GMM a menudo son adecuados para minimizar algunos criterios (como, por ejemplo, la regresión OLS es, cf aquí ). Si es así, no especifique previamente el número de clústeres. Incluso si lo hace de acuerdo con alguna otra implementación, no es una característica típica de los métodos basados ​​en modelos.
gung - Restablece a Monica
k=3k
Realmente no sigo tu argumento aquí, @amoeba. Cuando ajusta un modelo de regresión simple con el algoritmo OLS, ¿diría que está preespecificando la pendiente y la intersección, o que el algoritmo los especifica al optimizar un criterio? Si es lo último, no veo qué es diferente aquí. Ciertamente es cierto que podría crear un nuevo meta-algoritmo que use k-means como uno de sus pasos para encontrar una partición sin preespecificar k, pero ese meta-algoritmo no sería k-means.
gung - Restablece a Monica
1
@amoeba, esto parece ser un problema semántico, pero los algoritmos estándar utilizados para adaptarse a un GMM generalmente optimizan un criterio. Por ejemplo, el que se Mclustusa está diseñado para optimizar el BIC, pero se podría usar el AIC o una secuencia de pruebas de razón de probabilidad. Supongo que podría llamarse un meta-algoritmo, b / c tiene pasos constitutivos (por ejemplo, EM), pero ese es el algoritmo que usa, y en cualquier caso no requiere que especifique previamente k. Puede ver claramente en mi ejemplo vinculado que no especifiqué k allí.
gung - Restablece a Monica
13

El ejemplo más simple es la agrupación jerárquica , donde se compara cada punto uno con el otro punto usando alguna medida de distancia y, a continuación, se unen el par que tiene la distancia más pequeña para crear unido a la pseudo-punto (por ejemplo, b y c marcas aC como en la imagen abajo). A continuación, repita el procedimiento uniendo los puntos y los seudopuntos, basándose en sus distancias por pares hasta que cada punto se una con el gráfico.

Ilustración de Wikipedia

(fuente: https://en.wikipedia.org/wiki/Hierarchical_clustering )

El procedimiento no es paramétrico y lo único que necesita es la medida de distancia. Al final, debe decidir cómo podar el gráfico de árbol creado mediante este procedimiento, por lo que se debe tomar una decisión sobre el número esperado de clústeres.

Tim
fuente
¿La poda no significa de alguna manera que está decidiendo el número de clúster?
Learn_and_Share
1
@MedNait eso es lo que dije. En el análisis de conglomerados, siempre debe tomar tal decisión, la única pregunta es cómo se toma, por ejemplo, podría ser arbitraria o podría basarse en algún criterio razonable como el ajuste del modelo basado en la probabilidad, etc.
Tim
1
Depende de lo que buscas exactamente, @MedNait. La agrupación jerárquica no requiere que especifique previamente el número de grupos, de la forma en que lo hace k-means, pero está seleccionando un número de grupos de su salida. Por otro lado, DBSCAN tampoco requiere (pero sí requiere la especificación de un número mínimo de puntos para un 'vecindario', aunque hay valores predeterminados, lo que pone un piso en el número de patrones en un grupo) . GMM ni siquiera requiere eso, pero sí requiere suposiciones paramétricas sobre el proceso de generación de datos. Etc.
gung - Restablece a Monica
10

Los parámetros son buenos!

Un método "sin parámetros" significa que solo obtienes una sola toma (excepto tal vez aleatoriedad), sin posibilidades de personalización .

Ahora el agrupamiento es una técnica exploratoria . No debe suponer que hay un solo agrupamiento "verdadero" . Debería estar interesado en explorar diferentes agrupaciones de los mismos datos para obtener más información al respecto. Tratar el agrupamiento como una caja negra nunca funciona bien.

Por ejemplo, desea poder personalizar el función de distancia utilizada en función de sus datos (¡esto también es un parámetro!) Si el resultado es demasiado grueso, desea poder obtener un resultado más fino, o si es demasiado fino , obtenga una versión más gruesa de la misma.

Los mejores métodos a menudo son aquellos que le permiten navegar bien el resultado, como el dendrograma en agrupación jerárquica. Luego puede explorar las subestructuras fácilmente.

HA SALIDO - Anony-Mousse
fuente
0

Echa un vistazo a los modelos de mezcla Dirichlet . Proporcionan una buena forma de dar sentido a los datos si no conoce el número de clústeres de antemano. Sin embargo, hacen suposiciones sobre las formas de los clústeres, que sus datos podrían violar.

Zeke
fuente