Differenza tra algoritmi k-medie standard e sferici


28

Vorrei capire qual è la principale differenza di implementazione tra algoritmi di clustering k-medie standard e sferici.

In ogni passaggio, k-mean calcola le distanze tra i vettori degli elementi e i centroidi del cluster e riassegna il documento a questo cluster, il cui centroide è il più vicino. Quindi, tutti i centroidi vengono ricalcolati.

Nei k-media sferici, tutti i vettori sono normalizzati e la misura della distanza è la diversità del coseno.

Tutto qui o c'è qualcos'altro?

Risposte:


23

La domanda è:

Qual è la differenza tra k-medie classiche e k-medie sferiche?

K classico significa:

Nei k-media classici, cerchiamo di ridurre al minimo una distanza euclidea tra il centro del cluster e i membri del cluster. L'intuizione alla base di ciò è che la distanza radiale dal centro del cluster alla posizione dell'elemento dovrebbe "avere identità" o "essere simile" per tutti gli elementi di quel cluster.

L'algoritmo è:

  • Imposta il numero di cluster (ovvero il conteggio dei cluster)
  • Inizializza assegnando casualmente punti nello spazio agli indici dei cluster
  • Ripeti fino a quando convergono
    • Per ogni punto trova il cluster più vicino e assegna il punto al cluster
    • Per ogni cluster, trova la media dei punti dei membri e la media del centro di aggiornamento
    • L'errore è la norma della distanza dei cluster

K-sferica significa:

In k-medie sferiche, l'idea è quella di impostare il centro di ciascun cluster in modo tale da rendere sia uniforme che minimo l'angolo tra i componenti. L'intuizione è come guardare le stelle: i punti dovrebbero avere una spaziatura coerente tra loro. Questa spaziatura è più semplice da quantificare come "somiglianza del coseno", ma significa che non ci sono galassie "via lattea" che formano ampie strisce luminose nel cielo dei dati. (Sì, sto cercando di parlare con la nonna in questa parte della descrizione.)

Versione più tecnica:

Pensa ai vettori, alle cose che tracci come frecce con orientamento e lunghezza fissa. Può essere tradotto ovunque ed essere lo stesso vettore. arbitro

inserisci qui la descrizione dell'immagine

L'orientamento del punto nello spazio (il suo angolo rispetto a una linea di riferimento) può essere calcolato usando l'algebra lineare, in particolare il prodotto punto.

Se spostiamo tutti i dati in modo che la loro coda si trovi nello stesso punto, possiamo confrontare i "vettori" in base al loro angolo e raggruppare quelli simili in un singolo cluster.

inserisci qui la descrizione dell'immagine

Per chiarezza, le lunghezze dei vettori sono ridimensionate, in modo che siano più facili da confrontare "bulbo oculare".

inserisci qui la descrizione dell'immagine

Potresti pensarlo come una costellazione. Le stelle in un singolo cluster sono vicine l'una all'altra in un certo senso. Questi sono i miei occhi considerati costellazioni.

inserisci qui la descrizione dell'immagine

Il valore dell'approccio generale è che ci consente di escogitare vettori che altrimenti non hanno dimensione geometrica, come nel metodo tf-idf, in cui i vettori sono frequenze di parole nei documenti. Due "e" parole aggiunte non equivalgono a "il". Le parole sono non continue e non numeriche. Sono non fisici in senso geometrico, ma possiamo inventarli geometricamente e quindi usare metodi geometrici per gestirli. I k-media sferici possono essere usati per raggruppare in base alle parole.

[X1y1X2y2group0-0.8-0,2013-0,7316B-0.80.1-0,95240,3639UN0.20.30,2061-0,1434C0.80.10,47870,153B-0.70.2-0,72760,3825UN0.90.90,7480,6793C]

Alcuni punti:

  • Proiettano su una sfera unitaria per tenere conto delle differenze nella lunghezza del documento.

Lavoriamo attraverso un processo reale e vediamo quanto (male) è stato il mio "bulbo oculare".

La procedura è:

  1. (implicito nel problema) collega le code dei vettori all'origine
  2. progetto su sfera unitaria (per tenere conto delle differenze nella lunghezza del documento)
  3. utilizzare il clustering per ridurre al minimo la " diversità del coseno "

J=Σiod(Xio,pc(io))

d(X,p)=1-coS(X,p)=X,pXp

(altre modifiche in arrivo)

link:

  1. http://epub.wu.ac.at/4000/1/paper.pdf
  2. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.8125&rep=rep1&type=pdf
  3. http://www.cs.gsu.edu/~wkim/index_files/papers/refinehd.pdf
  4. https://www.jstatsoft.org/article/view/v050i10
  5. http://www.mathworks.com/matlabcentral/fileexchange/32987-the-spherical-k-means-algorithm
  6. https://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/projects/MIT15_097S12_proj1.pdf

Nei file di testo, penso che la funzione "diff" che allinea i caratteri, o indica cambiamenti con i pesi, potrebbe essere utile la preelaborazione di testi "ravvicinati" al fine di migliorare il raggruppamento significativo
EngrStudent - Ripristina Monica

Ottengo "Accesso vietato" al link n. 1 ( sci.utah.edu/~weiliu/research/clustering_fmri/… )
David Doria,

@ David - anche io. Sempre in movimento è ... Internet? Un momento per favore.
EngrStudent - Ripristina Monica il

1
Dopo qualche esitazione ho scelto di sottovalutare questa risposta al momento. Non è solo una spiegazione troppo "nonna", è imprecisa. radial distance from the cluster-center to the element location should "have sameness" or "be similar" for all elements of that clustersembra semplicemente errato o schietto. In both uniform and minimal the angle between components"componenti" non è definito. Spero che tu possa migliorare la risposta potenzialmente eccezionale se lo fai un po 'più rigoroso ed esteso.
ttnphns,
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.