Nehmen wir also an, ich habe eine Reihe von Datenpunkten in R ^ n, wobei n ziemlich groß ist (wie 50). Ich weiß, dass diese Daten in drei Cluster unterteilt sind und ich weiß, zu welchem Cluster jeder Datenpunkt gehört. Alles, was ich tun möchte, ist, diese Cluster in 2D so zu visualisieren, dass die visuelle Trennung zwischen Clustern, die ich sehe, maximiert wird, mit dem Ziel zu beweisen, dass die Cluster basierend auf der Position des Datenpunkts in R leicht trennbar sind ^ n allein.
Die Art und Weise, wie ich dies bisher gemacht habe, besteht darin, eine PCA-Transformation für die Datenpunkte durchzuführen und dann zufällig PC-Paare zu visualisieren, bis ich einen finde, bei dem die Cluster ziemlich sauber getrennt zu sein scheinen. Dieser Ansatz scheint jedoch ziemlich ad hoc zu sein, und es scheint eine einfache Möglichkeit zu geben, eine Rotation der Daten im PCA-Stil zu finden, die anstelle der Maximierung der Gesamtvarianz die Trennung zwischen den Clustern maximiert.
Gibt es eine Standardtechnik, die dies tut? Wenn nicht, irgendwelche Ideen, wie man eine solche Transformation schafft?
Antworten:
"Eine Rotation der Daten im PCA-Stil, die anstelle der Maximierung der Gesamtvarianz die Trennung zwischen den Clustern maximiert." Die Diskriminanzanalyse ist genau eine solche Technik. Eine Hauptkomponente maximiert die Varianz entlang. Eine Diskriminanzfunktion maximiert das Verhältnis zwischen Cluster-Varianz / Pool-innerhalb-Cluster-Varianz.
quelle
Mir fallen zwei Methoden ein, an denen Sie interessiert sein könnten. Die erste nutzt bekannte Cluster und wird von Goldberger et al . Als " Analyse von Nachbarschaftskomponenten" bezeichnet .
Für letztere gibt es Matlab-Code, den Sie unter dem angegebenen Link finden. Hier ist eine Visualisierung des MNIST-Datensatzes:
quelle
Vielleicht möchten Sie sich dieses Papier ansehen:
G. Sanguinetti, Dimensionsreduktion von Clustered-Datensätzen, IEEE Trans. Musteranalyse und Maschinenintelligenz (PAMI) 30 (3), 535-540 (2008) (www)
Ich habe einige Demonstrationen davon gesehen, die eine unbeaufsichtigte Version der linearen Diskriminanzanalyse beschreiben, und es scheint ein sehr nützliches Werkzeug zu sein, das in einer Toolbox enthalten ist.
Wenn Sie bereits wissen, zu welchen Klassen jede Stichprobe gehört, dann möchten Sie (wie ttnphns vorschlägt) eine lineare Diskriminanzanalyse. Andrew Webbs Buch über statistische Mustererkennung ist ein gutes Nachschlagewerk für diese Art von Dingen.
quelle
Der Artikel "Ein einheitlicher Ansatz für PCA, PLS, MLR und CCA" (von M. Borga et al.) Enthält eine kompakte Beschreibung verschiedener Arten linearer Projektionsmethoden, einschließlich PCA und LDA.
quelle
Partial Least Squares machen, was Sie wollen. Die "pls" -Bibliothek in R ist das, was ich traditionell verwendet habe. Hier ist ein Beispiel, das 3 Gruppen mit 50 Punkten erstellt, diese zu einem Datenrahmen mit Gruppenbeschriftungen zusammenfügt und PLS darauf ausführt:
quelle