Esistono algoritmi di clustering non basati sulla distanza?


14

Sembra che per K-medie e altri algoritmi correlati, il clustering si basa sul calcolo della distanza tra i punti. Ce n'è uno che funziona senza di essa?


2
Cosa vorresti dire con "raggruppamento" senza un modo per quantificare la somiglianza o la "vicinanza" dei punti?
whuber

2
@ La risposta di Tim qui sotto è molto buona. Puoi prendere in considerazione l' upgrade e / o l' accettazione , se ti ha aiutato; è un bel modo di dire "grazie". Estendendo la sua idea, esiste un'analisi di classe latente , che applica un approccio simile ai dati categorici. Un approccio non parametrico agli FMM può essere utilizzato attraverso le altezze di una stima della densità del kernel multivariata. Vedi Clustering tramite stima della densità non parametrica: il pacchetto R pdfCluster ( pdf ) per ulteriori informazioni.
gung - Ripristina Monica

Risposte:


25

Un esempio di tale metodo sono i modelli di miscele finite (ad esempio qui o qui ) utilizzati per il clustering. In FMM si considera la distribuzione ( ) della variabile X come una miscela di K distribuzioni ( F 1 , . . . , F k ):fXKf1,...,fk

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

dove è un vettore di parametri θ = ( π ' , θ ' 1 , . . . , θ ' k ) ' e π k è una proporzione di k 'th distribuzione nella miscela e θ k è un parametro (o parametri) di distribuzione f k .ϑϑ=(π,ϑ1,...,ϑk)πkkϑKfK

Un caso specifico per i dati discreti è l'analisi della classe latente (ad esempio qui ) definita come:

P(X,K)=P(K)P(X|K)

dove è la probabilità di osservare la classe latente k (cioè π k ), P ( x ) è la probabilità di osservare un valore x e P ( x | k ) è la probabilità che x sia nella classe k .P(K)KπKP(X)XP(X|K)XK

Solitamente sia per l' algoritmo FMM che per l' algoritmo EM LCA viene utilizzato per la stima, ma è anche possibile l'approccio bayesiano, ma un po 'più impegnativo a causa di problemi come l'identificazione del modello e il cambio di etichetta (ad esempio il blog di Xi'an ).

Quindi non esiste una misura della distanza ma piuttosto un modello statistico che definisce la struttura (distribuzione) dei dati. A causa dell'altro nome di questo metodo è "clustering basato sul modello".

Controlla i due libri su FMM:

Uno dei maggior parte dei pacchetti di clustering popolari che utilizza FMM è mclust(controllare qui o qui ) che viene implementato in R . Tuttavia, sono anche possibili FMM più complicati, controlla ad esempio il flexmixpacchetto e la relativa documentazione . Per LCA esiste un pacchetto R poLCA .


Hai una buona idea di quali potrebbero essere i diversi casi d'uso?
Shadowtalker,

Come in "quando dovrei usare questo invece di, diciamo, il partizionamento attorno ai medoidi?" Ottima risposta comunque
shadowtalker

1
@caveman osserva che è solo una convenzione notazionale. È un vettore di vettori, tutto qui.
Tim

1
K f1,...,fK

1
Il caso più tipico di @caveman è quello che hai Kad es. distribuzioni normali, con mezzi e sd diversi. Ma possono differire, vedi esempio 3.1 in cran.r-project.org/web/packages/flexmix/vignettes/… che mostra la miscela di due diversi modelli di regressione.
Tim

7

K-significa non è "realmente" basato sulla distanza. Riduce al minimo la varianza . (Ma varianza~distanze euclidee quadrate; così ogni punto è assegnato anche al centroide più vicino dalla distanza euclidea).

Esistono molti approcci di clustering basati su griglia . Non calcolano le distanze perché ciò produrrebbe spesso runtime quadratico. Invece, partizionano i dati e li aggregano in celle della griglia. Ma l'intuizione alla base di tali approcci è solitamente strettamente correlata alle distanze.

Esistono numerosi algoritmi di clustering per dati categorici come COOLCAT e STUCCO. Le distanze non sono facili da usare con tali dati (la codifica one-hot è un hack e non produce distanze particolarmente significative). Ma non ho sentito nessuno usare questi algoritmi ...

Esistono approcci di clustering per i grafici. O si riducono ai classici problemi grafici come la cricca o la ricerca di quasi-cricca e la colorazione dei grafici, oppure sono strettamente collegati al clustering basato sulla distanza (se si dispone di un grafico ponderato).

Il clustering basato sulla densità come DBSCAN ha un nome diverso e non si concentra sulla riduzione delle distanze; ma la "densità" è di solito specificata rispetto a una distanza, quindi tecnicamente questi algoritmi sono basati sulla distanza o sulla griglia.

La parte essenziale della tua domanda che hai lasciato fuori è quali sono i tuoi dati ?


1
+1: apprezzo che mostri come qualsiasi algoritmo di clustering utilizza un senso implicito (forse) generalizzato di "distanza" o "somiglianza" e che lo fai offrendo un sondaggio su molti di questi algoritmi.
whuber

Penso che per "distanza" intendesse metriche di somiglianza, che includerebbe la varianza.
en1

1
Perché la varianza sarebbe una metrica di somiglianza? È legato alla distanza quadrata euclidea; ma non equivalente a distanza arbitraria s .
Ha QUIT - Anony-Mousse il


2

Un approccio puramente discriminatorio è la "massimizzazione delle informazioni regolarizzata" di Gomes et al . Non vi è alcuna nozione di somiglianza / distanza coinvolta in esso.

L'idea è quella di avere una regressione logistica come il modello che mette i punti nei cassonetti. Ma invece di addestrarlo per massimizzare una qualche forma di probabilità logaritmica delle etichette di classe, la funzione obiettivo è quella che mette i punti in diversi cluster.

Per controllare la quantità di cluster utilizzati dal modello, un termine di regolarizzazione aggiuntivo ponderato dal parametro iper λviene usato. Si riduce a una varianza inversa di un priore gaussiano sui pesi.

L'estensione ai metodi del kernel o alle reti neurali per il clustering non lineare è semplice.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.