Das ist mir seit mindestens ein paar Stunden in den Sinn gekommen. Ich habe versucht, ein optimales k für die Ausgabe des k-means-Algorithmus (mit einer Kosinus-Ähnlichkeitsmetrik ) zu finden, also habe ich die Verzerrung als Funktion der Anzahl der Cluster aufgetragen. Mein Datensatz ist eine Sammlung von 800 Dokumenten in einem 600-dimensionalen Raum.
Soweit ich weiß, sollte mir das Finden des Knie- oder Ellbogenpunkts auf dieser Kurve mindestens ungefähr die Anzahl der Cluster mitteilen, in die ich meine Daten einfügen muss. Ich habe die Grafik unten platziert. Der Punkt, an dem die rote vertikale Linie gezeichnet wurde, wurde unter Verwendung des Tests der maximalen zweiten Ableitung erhalten . Nachdem ich das alles getan hatte, blieb ich bei etwas viel Einfacherem hängen: Was sagt mir diese Grafik über den Datensatz?
Sagt es mir, dass es sich nicht lohnt, Cluster zu erstellen, und dass meine Dokumente nicht strukturiert sind oder dass ich ein sehr hohes k festlegen muss? Eine seltsame Sache ist jedoch, dass selbst bei niedrigem k ähnliche Dokumente in Gruppen zusammengefasst werden, sodass ich nicht sicher bin, warum ich diese Kurve erhalte. Irgendwelche Gedanken?
quelle
terms x document
die nach dem Ausführen eines einzelnen Vektors erhalten wurde Zersetzung. Bitte korrigieren Sie mich, wenn ich mich irre.Antworten:
In den meisten Situationen hätte ich gedacht, dass ein solches Diagramm im Grunde bedeutet, dass die Daten keine Clusterstruktur enthalten. Das Clustering in sehr hohen Dimensionen wie dieser ist jedoch schwierig, da bei der euklidischen Abstandsmetrik alle Abstände mit zunehmender Anzahl von Dimensionen gleich sind. Auf dieser Wikipedia-Seite finden Sie Verweise auf einige Artikel zu diesem Thema. Kurz gesagt, möglicherweise ist nur die hohe Dimensionalität des Datensatzes das Problem.
Dies ist im Wesentlichen "der Fluch der Dimensionalität", siehe auch diese Wikipedia-Seite.
Ein Artikel, der von Interesse sein könnte, ist Sanguinetti, G., "Dimensionality Reduction of Clustered Datsets", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30 nr. 3, S. 535-540, März 2008 ( www ). Das ist ein bisschen wie eine unbeaufsichtigte Version von LDA, die einen niedrigdimensionalen Raum sucht, der die Clusterstruktur betont. Vielleicht könnten Sie das als Merkmalsextraktionsmethode verwenden, bevor Sie k-means ausführen?
quelle
Wie genau verwenden Sie die Kosinusähnlichkeit? Wird dies als sphärisches K-Mittel bezeichnet? Ihr Datensatz ist ziemlich klein, daher würde ich versuchen, ihn als Netzwerk zu visualisieren. Hierzu ist es selbstverständlich, eine Ähnlichkeit zu verwenden (z. B. die Kosinusähnlichkeit oder die Pearson-Korrelation), einen Grenzwert anzuwenden (nur Beziehungen über einer bestimmten Ähnlichkeit zu berücksichtigen) und das Ergebnis beispielsweise in Cytoscape oder BioLayout als Netzwerk anzuzeigen . Dies kann sehr hilfreich sein, um ein Gefühl für die Daten zu bekommen. Zweitens würde ich die Singularwerte für Ihre Datenmatrix oder die Eigenwerte einer entsprechend transformierten und normalisierten Matrix (einer Dokument-Dokument-Matrix, die in irgendeiner Form erhalten wurde) berechnen. Die Clusterstruktur sollte (erneut) als Sprung in die geordnete Liste der Eigenwerte oder Singularwerte angezeigt werden.
quelle
Im Allgemeinen können k-Mittel zu sehr unterschiedlichen Lösungen konvergieren, die als ungeeignet beurteilt werden können. Dies gilt insbesondere für Cluster mit unregelmäßigen Formen.
Um mehr Intuition zu erlangen, können Sie auch einen anderen Visualisierungsansatz ausprobieren: Für k-means können Sie mehrere Läufe mit k-means mithilfe von Graphgrams visualisieren (siehe das WEKA-Graphgram-Paket - am besten vom Paketmanager oder hier erhalten . Eine Einführung und Beispiele können ebenfalls sein hier gefunden .
quelle
Wenn ich den Graphen richtig verstehe, ist es eine grafische Darstellung der Anzahl der Cluster, K auf der x-Achse und des Abstands innerhalb der Cluster auf der y-Achse?
Da Ihre K-Mittel-Zielfunktion darin besteht, das WCSS zu minimieren, sollte dieses Diagramm immer monoton abnehmen. Wenn Sie weitere Cluster hinzufügen, verringert sich der Abstand zwischen den Punkten im Cluster immer. Dies ist das grundlegende Problem der Modellauswahl, daher müssen Sie etwas mehr Raffinesse einsetzen.
Versuchen Sie es vielleicht mit der Gap-Statistik: www-stat.stanford.edu/~tibs/ftp/gap.ps oder ähnlichen.
Darüber hinaus stellen Sie möglicherweise fest, dass K-means nicht das richtige Werkzeug für den Job ist. Wie viele Cluster erwarten Sie zu finden? Die Verwendung der Varianzregel zur Dimensionsreduzierung für das Clustering ist nicht geeignet. In diesem Dokument erfahren Sie, wann die Projektion auf die ersten K-1-PCs eine geeignete Vorverarbeitungsmaßnahme darstellt: http://people.csail.mit.edu/gjw/papers/jcss.ps
Sie können schnell feststellen, ob dies das Richtige ist, indem Sie die Projektion auf die ersten beiden Hauptkomponenten auftragen. Wenn es eine klare Trennung gibt, sollte K-means in Ordnung sein, wenn nicht, müssen Sie sich mit etwas anderem befassen. Möglicherweise K-Subspaces oder andere Subspace-Clustering-Methoden. Beachten Sie jedoch, dass diese Methoden für die euklidische Distanz gelten. Ich bin mir nicht sicher, wie sich das für Cosinus ändert.
quelle