Quando uniamo la riduzione della dimensionalità al clustering?


16

Sto cercando di eseguire il clustering a livello di documento. Ho costruito la matrice di frequenza dei termini-documento e sto cercando di raggruppare questi vettori ad alta dimensione usando k-medie. Invece di raggruppare direttamente, quello che ho fatto è stato prima applicare la decomposizione vettoriale singolare di LSA (Latent Semantic Analysis) per ottenere le matrici U, S, Vt, selezionato una soglia adatta usando il diagramma ghiaione e applicato il clustering sulle matrici ridotte (in particolare Vt perché mi dà informazioni sul documento di concetto) che mi sembra dare buoni risultati.

Ho sentito alcune persone dire che SVD (decomposizione vettoriale singolare) è il clustering (usando la misura della somiglianza del coseno ecc.) E non ero sicuro di poter applicare k-medie sull'output di SVD. Ho pensato che fosse logicamente corretto perché SVD è una tecnica di riduzione della dimensionalità, mi dà un sacco di nuovi vettori. k-mean, d'altra parte, prenderà il numero di cluster come input e dividerà questi vettori nel numero specificato di cluster. Questa procedura è difettosa o ci sono modi per migliorarla? Eventuali suggerimenti?


buona domanda. personalmente ho pensato a queste cose. ma non ho una buona risposta.
suncoolsu,

1
Esistono metodi che eseguono contemporaneamente la riduzione della dimensionalità e il clustering. Questi metodi cercano una rappresentazione a bassa dimensione scelta in modo ottimale in modo da facilitare l'identificazione dei cluster. Ad esempio, vedere il pacchetto clustrd in R e i riferimenti associati.
Nat

Risposte:


6

Questa non è affatto una risposta completa, la domanda che dovresti porre è "che tipo di distanze vengono preservate quando si esegue la riduzione della dimensionalità?". Poiché gli algoritmi di clustering come i mezzi K funzionano solo sulle distanze, la metrica della giusta distanza da usare (teoricamente) è la metrica della distanza che viene preservata dalla riduzione della dimensionalità. In questo modo, il passaggio di riduzione della dimensionalità può essere visto come un collegamento computazionale per raggruppare i dati in uno spazio dimensionale inferiore. (anche per evitare minimi locali, ecc.)

Ci sono molte sottigliezze qui che non pretendo di capire (distanze locali vs distanze globali, come le distanze relative sono distorte, ecc.) Ma penso che questa sia la direzione giusta per pensare a queste cose teoricamente.


+1 Questa è una versione molto interessante della domanda. In tal caso, Euclide può essere considerata una di queste metriche? Poiché la dimensionalità è ridotta, i punti vengono proiettati in uno spazio dimensionale inferiore, ma ciò potrebbe significare che la nozione di distanza può essere persa. Non riesco a capire come preservare le distanze quando si utilizzano riduzioni come questa.
Legenda

1
Penso che questa risposta sia sostanzialmente giusta. Volete trovare un po 'di incorporamento in uno spazio più piccolo che preserva le distanze (per qualche nozione di distanza). Due buoni algoritmi da verificare sono Isomap e Incorporamento lineare locale . La "preservazione del vicinato" sembra un buon approccio se il tuo obiettivo è il raggruppamento.
Stumpy Joe Pete,

5

In risposta al tuo titolo "Quando uniamo la riduzione della dimensionalità al clustering?" piuttosto che l'intera domanda. Una possibile ragione è ovvia: quando vogliamo proteggere i valori anomali degli agaisti. K-significa algo, se senza suggerimento di centri iniziali, prende la maggior parte dei punti separati nella nuvola come centri iniziali, e giustamente questi sono probabilmente valori anomali. La predicazione mediante PCA neutralizza i valori anomali che si trovano lungo i componenti junior, proiettandoli sui pochi componenti senior che vengono conservati nel PCA.

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.