Ich versuche, Clustering auf Dokumentebene durchzuführen. Ich habe die Term-Document-Frequenzmatrix konstruiert und versuche, diese hochdimensionalen Vektoren mit k-Mitteln zu clustern. Anstatt direkt zu clustern, habe ich zuerst die LSA-Singularvektorzerlegung (Latent Semantic Analysis) angewendet, um die U, S, Vt-Matrizen zu erhalten, eine geeignete Schwelle unter Verwendung des Geröllplots ausgewählt und Clusterbildung auf die reduzierten Matrizen angewendet (speziell Vt, weil es gibt mir eine konzeptdokument-information, die mir gute ergebnisse zu bringen schien.
Ich habe gehört, dass einige Leute sagten, SVD (Singular Vector Decomposition) sei Clustering (unter Verwendung von Cosinus-Ähnlichkeitsmessungen usw.) und nicht sicher waren, ob ich k-means auf die Ausgabe von SVD anwenden könnte. Ich dachte, es wäre logisch korrekt, weil SVD eine Technik zur Reduzierung der Dimensionalität ist und mir eine Reihe neuer Vektoren liefert. k-means hingegen nimmt die Anzahl der Cluster als Eingabe und teilt diese Vektoren in die angegebene Anzahl von Clustern auf. Ist dieses Verfahren fehlerhaft oder gibt es Möglichkeiten, dies zu verbessern? Irgendwelche Vorschläge?
Antworten:
Dies ist keineswegs eine vollständige Antwort. Die Frage, die Sie sich stellen sollten, lautet: "Welche Abstände werden bei der Dimensionsreduzierung eingehalten?". Da Clustering-Algorithmen wie K-means nur für Entfernungen verwendet werden, ist die richtige Entfernungsmetrik (theoretisch) die Entfernungsmetrik, die durch die Dimensionsreduktion erhalten bleibt. Auf diese Weise kann der Schritt der Dimensionsreduzierung als eine rechnerische Abkürzung zum Clustering der Daten in einem Raum mit niedrigeren Dimensionen angesehen werden. (auch um lokale Minima usw. zu vermeiden)
Es gibt hier viele Feinheiten, die ich nicht zu verstehen vorgebe (lokale Entfernungen vs. globale Entfernungen, wie relative Entfernungen verzerrt sind usw.), aber ich denke, dies ist die richtige Richtung, um über diese Dinge theoretisch nachzudenken.
quelle
Als Antwort auf Ihren Titel "Wann kombinieren wir Dimensionsreduzierung mit Clustering?" eher als die vollständige Frage. Ein möglicher Grund liegt auf der Hand: Wenn wir gegen Ausreißer vorgehen wollen. K bedeutet, dass Algo, wenn es keinen Hinweis auf anfängliche Zentren gibt, k am weitesten auseinander liegende Punkte in der Wolke als anfängliche Zentren annimmt. Richtig, dies sind wahrscheinlich Ausreißer. Durch die PCA-Vorbehandlung werden Ausreißer neutralisiert, die entlang der Junior-Komponenten liegen, indem sie auf die wenigen Senior-Komponenten projiziert werden, die in der PCA verbleiben.
quelle