Quand combinons-nous la réduction de dimensionnalité avec le clustering?

16

J'essaie d'effectuer un clustering au niveau du document. J'ai construit la matrice de fréquence terme-document et j'essaie de regrouper ces vecteurs de haute dimension en utilisant k-means. Au lieu de regrouper directement, ce que j'ai fait, j'ai d'abord appliqué la décomposition vectorielle singulière de LSA (Latent Semantic Analysis) pour obtenir les matrices U, S, Vt, sélectionné un seuil approprié à l'aide du tracé éboulis et appliqué un regroupement sur les matrices réduites (spécifiquement Vt parce que cela me donne une information concept-document) qui semblait me donner de bons résultats.

J'ai entendu certaines personnes dire que SVD (décomposition vectorielle singulière) est un regroupement (en utilisant une mesure de similitude en cosinus, etc.) et je ne savais pas si je pouvais appliquer des k-moyennes sur la sortie de SVD. Je pensais que c'était logiquement correct parce que la SVD est une technique de réduction de dimensionnalité, me donne un tas de nouveaux vecteurs. k-means, d'autre part, prendra le nombre de clusters comme entrée et divisera ces vecteurs en le nombre spécifié de clusters. Cette procédure est-elle imparfaite ou existe-t-il des moyens d'améliorer cela? Aucune suggestion?

Légende
la source
bonne question. personnellement, j'ai pensé à ces trucs. mais je n'ai pas de bonne réponse.
suncoolsu
1
Il existe des méthodes qui effectuent simultanément la réduction de dimensionnalité et le clustering. Ces méthodes recherchent une représentation de faible dimension choisie de manière optimale afin de faciliter l'identification des clusters. Par exemple, voir package clustrd dans R et les références associées.
Nat

Réponses:

6

Ce n'est en aucun cas une réponse complète, la question que vous devriez vous poser est "quel type de distances sont préservées lors de la réduction de dimensionnalité?". Étant donné que les algorithmes de clustering tels que K-means fonctionnent uniquement sur les distances, la bonne métrique de distance à utiliser (théoriquement) est la métrique de distance qui est préservée par la réduction de dimensionnalité. De cette façon, l'étape de réduction de dimensionnalité peut être considérée comme un raccourci de calcul pour regrouper les données dans un espace dimensionnel inférieur. (également pour éviter les minima locaux, etc.)

Il y a ici de nombreuses subtilités que je ne prétendrai pas comprendre (distances locales vs distances globales, comment les distances relatives sont déformées, etc.) mais je pense que c'est la bonne direction pour réfléchir théoriquement à ces choses.

gabgoh
la source
+1 C'est une interprétation très intéressante de la question. Dans ce cas, Euclidean peut-il être considéré comme l'une de ces mesures? À mesure que la dimensionnalité diminue, les points sont projetés dans un espace de dimension inférieure, mais cela pourrait signifier que la notion de distance peut être perdue. J'ai du mal à voir comment les distances peuvent être préservées lors de l'utilisation de réductions comme celle-ci.
Legend
1
Je pense que cette réponse est fondamentalement juste. Vous voulez trouver une intégration dans un espace plus petit qui préserve les distances (pour une certaine notion de distance). Deux bons algorithmes à vérifier sont Isomap et l' incorporation localement linéaire . La «préservation du quartier» semble être une bonne approche si votre objectif est le clustering.
Stumpy Joe Pete
5

En réponse à votre titre "Quand combinons-nous la réduction de dimensionnalité avec le clustering?" plutôt que la question complète. Une raison possible est évidente: lorsque nous voulons sécuriser des valeurs aberrantes. K-signifie algo, si sans indice de centre initial, prend k les points les plus séparés du nuage comme centres initiaux, et à droite, ceux-ci sont susceptibles d'être aberrants. Preacting by PCA neutralise les valeurs aberrantes qui se trouvent le long des composants juniors - en les projetant sur les quelques composants seniors qui sont conservés dans PCA.

ttnphns
la source