Metodi di clustering che non richiedono la pre-specifica del numero di cluster


17

Esistono metodi di clustering "non parametrico" per i quali non è necessario specificare il numero di cluster? E altri parametri come il numero di punti per cluster, ecc.

Risposte:


22

Gli algoritmi di clustering che richiedono di pre-specificare il numero di cluster sono una piccola minoranza. Ci sono un numero enorme di algoritmi che non lo fanno. Sono difficili da riassumere; è un po 'come chiedere una descrizione di tutti gli organismi che non sono gatti.

Gli algoritmi di clustering sono spesso classificati in grandi regni:

  1. Algoritmi di partizionamento (come k-mean e la sua progenie)
  2. Clustering gerarchico (come descritto da @Tim )
  3. Cluster basato sulla densità (come DBSCAN )
  4. Cluster basato su modelli (ad es. Modelli di miscele gaussiane finite o analisi di classe latente )

Possono esserci altre categorie e le persone non sono d'accordo con queste categorie e quali algoritmi vanno in quella categoria, perché questo è euristico. Tuttavia, qualcosa come questo schema è comune. A partire da questo, sono principalmente solo i metodi di partizionamento (1) che richiedono la pre-specifica del numero di cluster da trovare. Quali altre informazioni debbano essere pre-specificate (ad esempio, il numero di punti per cluster) e se sembra ragionevole chiamare vari algoritmi "non parametrici", è anche altamente variabile e difficile da riassumere.

Il clustering gerarchico non richiede di pre-specificare il numero di cluster, come fa k-significa, ma si seleziona un numero di cluster dall'output. D'altra parte, DBSCAN non richiede neanche (ma richiede la specifica di un numero minimo di punti per un "quartiere", anche se ci sono impostazioni predefinite, quindi in un certo senso si può saltare specificando quello - che pone una parola su il numero di modelli in un cluster). GMM non richiede nemmeno una di queste tre, ma richiede ipotesi parametriche sul processo di generazione dei dati. Per quanto ne so, non esiste un algoritmo di clustering che non richiede mai di specificare un numero di cluster, un numero minimo di dati per cluster o qualsiasi modello / disposizione dei dati all'interno dei cluster. Non vedo come ci possa essere.

Potrebbe aiutarti a leggere una panoramica di diversi tipi di algoritmi di clustering. Di seguito potrebbe essere un punto di partenza:

  • Berkhin, P. "Survey of Clustering Data Mining Techniques" ( pdf )

Sono confuso dal tuo n. 4: ho pensato che se uno adatta un modello di miscela gaussiana ai dati, allora bisogna scegliere il numero di gaussiani per adattarsi, cioè il numero di cluster deve essere specificato in anticipo. Se è così, perché dici che "principalmente solo" # 1 richiede questo?
ameba dice di reintegrare Monica il

@amoeba, dipende dal metodo basato sul modello e da come viene implementato. Gli MGM sono spesso idonei a minimizzare alcuni criteri (come, ad esempio, la regressione OLS è, vedi qui ). In tal caso, non pre-specificare il numero di cluster. Anche se lo fai secondo un'altra implementazione, non è una caratteristica tipica dei metodi basati su modelli.
gung - Ripristina Monica

k=3K

Non seguo davvero la tua discussione qui, @amoeba. Quando si adatta un modello di regressione semplice con l'algoritmo OLS, diresti che stai pre-specificando la pendenza e l'intercetta o che l'algoritmo li specifica ottimizzando un criterio? Se quest'ultimo, non vedo ciò che è diverso qui. È certamente vero che potresti creare un nuovo meta-algoritmo che usa k-medie come uno dei suoi passi per trovare una partizione senza pre-specificazione di k, ma quel meta-algoritmo non sarebbe k-medie.
gung - Ripristina Monica

1
@amoeba, questo sembra essere un problema semantico, ma gli algoritmi standard utilizzati per adattarsi a un GMM in genere ottimizzano un criterio. Ad esempio, quello Mclustutilizzato è progettato per ottimizzare il BIC, ma potrebbe essere utilizzato l'AIC o una sequenza di test del rapporto di verosimiglianza. Immagino che potresti chiamarlo un meta-algoritmo, b / c ha passaggi costitutivi (ad esempio, EM), ma questo è l'algoritmo che usi, e in ogni caso non richiede di pre-specificare k. Puoi vedere chiaramente nel mio esempio collegato che non ho specificato k lì.
gung - Ripristina Monica

13

L'esempio più semplice è il clustering gerarchico , in cui si confronta ogni punto con un altro punto utilizzando una misura di distanza , quindi si unisce la coppia che ha la distanza minima per creare uno pseudo-punto unito (ad esempio b e c rende bc come sull'immagine sotto). Successivamente si ripete la procedura unendo i punti e gli pseudo-punti, in base alle loro distanze a coppie fino a quando ciascun punto viene unito al grafico.

Illustrazione di Wikipedia

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

La procedura non è parametrica e l'unica cosa di cui hai bisogno è la misura della distanza. Alla fine è necessario decidere come potare il grafico ad albero creato utilizzando questa procedura, quindi è necessario prendere una decisione sul numero previsto di cluster.


La potatura non significa in qualche modo che stai decidendo il numero di cluster?
Learn_and_Share,

1
@MedNait è quello che ho detto. Nell'analisi dei cluster devi sempre prendere tale decisione, l'unica domanda è come viene presa, ad esempio potrebbe essere arbitraria o potrebbe essere basata su alcuni criteri ragionevoli come l'adattamento del modello basato sulla probabilità, ecc.
Tim

1
Dipende da cosa stai esattamente cercando, @MedNait. Il clustering gerarchico non richiede di pre-specificare il numero di cluster, come fa k-significa, ma si sta selezionando un numero di cluster dall'output. D'altra parte, DBSCAN non richiede neanche (ma richiede la specifica di un numero minimo di punti per un 'quartiere' - sebbene ci siano impostazioni predefinite - che pone un pavimento sul numero di modelli in un cluster) . GMM non lo richiede nemmeno, ma richiede ipotesi parametriche sul processo di generazione dei dati. Ecc.
Gung - Ripristina Monica

10

I parametri sono buoni!

Un metodo "senza parametri" significa che ottieni un solo colpo (tranne forse la casualità), senza possibilità di personalizzazione .

Ora il clustering è una tecnica esplorativa . Non si deve presumere che esista un singolo cluster "vero" . Dovresti piuttosto essere interessato a esplorare diversi cluster degli stessi dati per saperne di più. Trattare il clustering come una scatola nera non funziona mai bene.

Ad esempio, vuoi essere in grado di personalizzare la funzione di distanza utilizzata in base ai tuoi dati (questo è anche un parametro!) Se il risultato è troppo approssimativo, vuoi essere in grado di ottenere un risultato più fine, o se è troppo fine , ottenere una versione più grossolana di esso.

I metodi migliori spesso sono quelli che consentono di navigare bene il risultato, come il dendrogramma nel clustering gerarchico. È quindi possibile esplorare facilmente le sottostrutture.


0

Scopri i modelli di miscele Dirichlet . Sono un buon modo per dare un senso ai dati se non si conosce in anticipo il numero di cluster. Tuttavia, fanno ipotesi sulle forme dei cluster, che i tuoi dati potrebbero violare.

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.