¿Hay algún algoritmo de agrupamiento no basado en la distancia?

14

Parece que para K-means y otros algoritmos relacionados, la agrupación se basa en el cálculo de la distancia entre puntos. ¿Hay alguno que funcione sin él?

usuario154510
fuente
2
¿Qué quieres decir exactamente con "agrupamiento" sin alguna forma de cuantificar la similitud o "cercanía" de los puntos?
whuber
2
La respuesta de @ Tim a continuación es muy buena. Es posible que desee considerar votar y / o aceptarlo , si le ha ayudado; Es una buena manera de decir 'gracias'. Extendiendo su idea, hay un análisis de clase latente , que aplica un enfoque similar a los datos categóricos. Se puede utilizar un enfoque no paramétrico para FMM a través de las alturas de una estimación de densidad de kernel multivariante. Para obtener más información, consulte Agrupación mediante estimación de densidad no paramétrica: El paquete R pdfCluster ( pdf ).
gung - Reinstale a Monica

Respuestas:

25

Un ejemplo de tal método son los modelos de mezcla finita (por ejemplo, aquí o aquí ) utilizados para la agrupación. En FMM se tiene en cuenta la distribución ( ) de la variable X como una mezcla de K distribuciones ( f 1 , . . . , F k ):fXKf1,...,fk

f(x,ϑ)=k=1Kπkfk(x,ϑk)

donde es un vector de parámetros θ = ( π ' , θ ' 1 , . . . , θ ' k ) ' y π k es una proporción de k 'th distribución en la mezcla y θ k es un parámetro (o parámetros) de distribución f k .ϑϑ=(π,ϑ1,...,ϑk)πkkϑkfk

Un caso específico para datos discretos es el Análisis de clase latente (por ejemplo, aquí ) definido como:

P(x,k)=P(k)P(x|k)

donde es la probabilidad de observar la clase k latente (es decir, π k ), P ( x ) es la probabilidad de observar un valor de x y P ( x | k ) es la probabilidad de que x esté en la clase k .P(k)kπkP(x)xP(x|k)xk

Por lo general , se utiliza el algoritmo FMM y LCA EM para la estimación, pero el enfoque bayesiano también es posible, pero un poco más exigente debido a problemas como la identificación del modelo y el cambio de etiquetas (por ejemplo, el blog de Xi'an ).

Por lo tanto, no existe una medida de distancia, sino un modelo estadístico que define la estructura (distribución) de sus datos. Debido a ese otro nombre de este método es "agrupamiento basado en modelos".

Mira los dos libros sobre FMM:

Uno de los paquetes de agrupamiento populares que utiliza FMM es mclust(marque aquí o aquí ) que está aplicado en la I . Sin embargo, también son posibles FMM más complicados, consulte por ejemplo el flexmixpaquete y su documentación . Para LCA hay un paquete R poLCA .

Tim
fuente
¿Tiene una buena idea de cuáles podrían ser los diferentes casos de uso?
shadowtalker
Como en "¿cuándo debería usar esto en lugar de, por ejemplo, particionar alrededor de medoides?" Muy buena respuesta de todos modos
shadowtalker
1
@caveman señala que es solo una convención de notación. Es un vector de vectores, eso es todo.
Tim
1
@caveman hay diferentes distribuciones f 1 , . . . , f k que están en la mezcla, cada uno de ellos con sus propios parámetros (es por eso que tenemos vectores de parámetros). k f1,...,fk
Tim
1
El caso más típico de @caveman es que tiene por ejemplo, distribuciones normales, con diferentes medios y SD. Pero pueden diferir, vea el ejemplo 3.1 en cran.r-project.org/web/packages/flexmix/vignettes/… que muestra la mezcla de dos modelos de regresión diferentes. k
Tim
7

Hay muchos enfoques de agrupación basados ​​en cuadrículas . No calculan distancias porque eso a menudo generaría un tiempo de ejecución cuadrático. En cambio, dividen los datos y los agregan en celdas de cuadrícula. Pero la intuición detrás de tales enfoques generalmente está muy relacionada con las distancias.

Hay varios algoritmos de agrupamiento para datos categóricos como COOLCAT y STUCCO. Las distancias no son fáciles de usar con tales datos (la codificación de un solo uso es un truco y no produce distancias particularmente significativas). Pero no he oído hablar de nadie que use estos algoritmos ...

Existen enfoques de agrupación para gráficos. Pero o se reducen a problemas gráficos clásicos, como la búsqueda de camarillas o cerca de la camarilla y la coloración de gráficos, o están estrechamente relacionados con la agrupación basada en la distancia (si tiene un gráfico ponderado).

La agrupación basada en la densidad, como DBSCAN, tiene un nombre diferente y no se centra en minimizar las distancias; pero la "densidad" generalmente se especifica con respecto a una distancia, por lo que técnicamente estos algoritmos se basan en la distancia o en la cuadrícula.

La parte esencial de su pregunta que dejó fuera es ¿cuáles son sus datos ?

HA SALIDO - Anony-Mousse
fuente
1
+1: Le agradezco que demuestre cómo cualquier algoritmo de agrupamiento utiliza algún sentido generalizado (tal vez) implícito ("quizás") de "distancia" o "similitud", y que lo hace mientras ofrece una encuesta de muchos de estos algoritmos.
whuber
Creo que por "distancia" se refería a métricas de similitud, que incluirían la varianza.
en1
1
¿Por qué la varianza sería una métrica de similitud? Está relacionado con la distancia cuadrada euclidiana; pero no equivalente a distancia arbitraria s .
HA SALIDO - Anony-Mousse
2

Un enfoque puramente discriminatorio es la "maximización de información regularizada" por Gomes et al. . No existe ninguna noción de similitud / distancia en absoluto.

La idea es tener una regresión logística como modelo que ponga puntos en contenedores. Pero en lugar de entrenarlo para maximizar alguna forma de log-verosimilitud de las etiquetas de clase, la función objetivo es aquella que pone puntos en diferentes grupos.

Para controlar la cantidad de clústeres utilizados por el modelo, un término de regularización adicional ponderado por el hiperparámetro λes usado Se reduce a la varianza inversa de un gaussiano anterior sobre los pesos.

La extensión a los métodos del núcleo o las redes neuronales para la agrupación no lineal es sencilla.

bayerj
fuente