Sto usando l'analisi semantica latente per rappresentare un corpus di documenti nello spazio dimensionale inferiore. Voglio raggruppare questi documenti in due gruppi usando k-mean.
Diversi anni fa, l'ho fatto usando il gensim di Python e scrivendo il mio algoritmo k-mean. Ho determinato i centroidi del cluster usando la distanza euclidea, ma poi ho raggruppato ogni documento in base alla somiglianza del coseno con il centroide. Sembrava funzionare abbastanza bene.
Ora sto cercando di farlo su un corpus di documenti molto più ampio. K-mean non converge e mi chiedo se sia un bug nel mio codice. Ho letto di recente che non dovresti raggruppare usando la somiglianza del coseno, perché k-mean funziona solo sulla distanza euclidea. Anche se, come ho già detto, sembrava funzionare bene nel mio caso di test più piccolo.
Ora mi imbatto in questo sulla pagina Wikipedia di LSA :
I documenti e le rappresentazioni dei termini vettoriali possono essere raggruppati usando algoritmi di raggruppamento tradizionali come k-medie usando misure di somiglianza come il coseno.
Quindi che cos'è? Posso usare la somiglianza del coseno o no?
I then assigned each document to a cluster based on cosine similarity
- Coseno tra un doc e un centroide? E dopo aver assegnato tutti i documenti, aggiorni i centroidi in un modo usuale (euclideo), perché sono note le coordinate dei documenti nello spazio. È così?