Je fais des tests en regroupant un grand nombre de vecteurs de très gros vecteurs clairsemés représentant la fréquence inverse à terme-inverse-document de divers documents hypertextuels. Quel algorithme suggéreriez-vous de regrouper ces données, en tenant compte des proportions du jeu de données? La dimension des vecteurs serait> 3 · 10 5 sup> et le nombre de vecteurs pourrait être d'environ 10 9 sup>. J'ai pris un oeil aux algorithmes de Dbscan et d'optique. Le nombre de grappes n'est pas connu un prieuré. Et un indice spatial avec une telle dimensabilité semble compliqué. P>
5 Réponses :
J'ai presque aussi bon des résultats avec un simple regroupement k-moyen de K-moyen comme presque autre chose, et c'est certainement plus rapide que la plupart des alternatives. J'ai aussi eu de bons résultats avec une agglomération par paire, mais c'est un peu plus lente. Pour K-Moyens, vous devez commencer par un nombre estimé de grappes, mais vous pouvez l'ajuster algorithmique comme vous le suivez. Si vous trouvez deux clusters avec des moyens trop proches, vous réduisez le nombre de grappes. Si vous trouvez des clusters avec une gamme de variations trop importante, vous essayez de plus de clusters. J'ai trouvé SQRT (N) d'être un point de départ raisonnable - mais je commence habituellement avec plus de 10 ^ 7 documents plutôt que 10 ^ 9. Pour 10 ^ 9, il pourrait être logique de réduire considérablement que quelque peu. P>
Si c'était à moi, je pense que je penserais très fort de commencer en réduisant la dimensionnalité avec quelque chose comme le montagne MDS, puis em> faire le clustering. p>
K-moyens devrait toujours b> la première technique de segmentation que vous essayez lorsque vous essayez de grapper n'importe quoi i>. Est simple, efficace et offre d'excellents résultats la plupart du temps. Le seul inconvénient est de choisir une valeur appropriée de K. Vous pouvez toujours essayer une séquence croissante de K calculant votre variance intercluster en tant que critère pour la qualité du clustering. Cela ne fonctionne toutefois pas que bien dans la pratique.
Les arbres de décision sont populaires pour travailler efficacement dans des espaces très dimensionnels.Check Out regroupement via une construction d'arbre de décision . p>
Aussi, Les forêts randomisées sont des apprenants extrêmement efficaces et un Mise en œuvre OPENCV existe si vous voulez jouer avec elle. P>
J'entends que Sémantical Hashing obtient d'excellents résultats. Cependant, des filets de croyances profonds sont jolishard à mettre en œuvre. Vous voudrez peut-être essayer la hachage Min (c'est une approche probabiliste, cependant) ou Localité SENSISTIVE HASHING Pour les espaces euclidiens . p>
En général, la regroupement dans de tels espaces dimensionnels est difficile en raison de la malédiction de dimensionnement et du fait que la plupart des articles ont des distances similaires les unes aux autres. Les approches standard telles que k-moyens peuvent fonctionner si vous réduisez la dimensionnalité au préalable via soms ou PCA. P>
Merci pour les liens intéressants.
Lors de la grappe des données, j'essaierais toujours au moins ces deux algorithmes dans cet ordre: P>
k-signifie: essayez de modifier les résultats autant que possible. Si vous pouvez obtenir K-moyen de travailler pour vous et fournissez des résultats décents, vous ne ferez certainement certainement pas mieux quand aucun autre algorithme. P> Li>
Attente maximisation: L'algorithme K-signifie a été développé pour être une alternative économique et bonne à l'algorithme EM. L'algorithme EM est plus complexe à comprendre et plus cher à calculer, mais les résultats d'EM sont excellents. Vous pouvez en apprendre davantage sur EM http://fr.wikipedia.org/wiki/expectation-maximizization_algorithm < / a>. Il y a une implémentation OPENCV de EM: http://opencv.willowgarage.com/documentation/documentation/ attente-maximisation.html p> li> ol>
Si les résultats de l'un ni l'autre de ces deux sont satisfaisants, je commencerais à regarder ailleurs, mais
K-signifie une instance d'em?
@Bayer: Non, ils ne sont certainement pas le même algorithme si c'est ce que vous voulez dire. K-moyen est non paramétrique mais EM est (ce qui signifie que EM affirme qu'il existe une distribution gaussienne multi-variante sous-jacente pour les données qui n'est pas une hypothèse très stricte si vous envisagez le théorème de la limite centrale.) D'après ce que je comprends, les em L'algorithme est parfois regroupé comme un méta-algorithme où d'autres algorithmes tombent sous elle. Il peut en fait être mis en œuvre Stand seul de ce que j'ai vu.
Le calcul d'algorithme d'algorithme d'optimisation de k-moyen ou d'attente est très coûteux sur les grands ensembles de données avec des dimensions élevées. L'article décrit ici décrit une pré-clustering efficace avec la cluster de la canopée: p>
En règle générale, la complexité du temps quadratique de la norme K-moyen ou EM standard n'est pas efficace pour les grandes données et non plus évolutive pour la croissance de données. Au lieu de trouver des algorithmes avec la complexité de temps O (n) ou O (n * journal (n)). P>
aussi k-moyens ne garantit pas la convergence globale mais converge au minimum local. EM converge toujours au minimum mondial. Aussi EM pourrait être mathématiquement dériver de K-moyen comme variante probabiliste. P>