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.
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:
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:
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:
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ì.
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.
(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.
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.
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.