Nehmen wir an, wir haben ein Klassifizierungsproblem und möchten zunächst einen Einblick in die Daten erhalten, und wir machen t-SNE. Das Ergebnis von t-SNE trennt Klassen sehr gut. Dies impliziert, dass es möglich ist, ein Klassifizierungsmodell zu erstellen, das auch Klassen sehr gut trennt (wenn t-SNE nicht gut trennt, bedeutet dies nicht viel).
Zu wissen, dass sich t-SNE auf die lokale Struktur konzentriert und Klassen gut trennen kann: Welche Klassifizierungsalgorithmen sollten bei diesem Problem gut funktionieren? Scikit schlägt SVM mit einem Gaußschen RBF-Kernel vor, aber was sind die anderen?
classification
tsne
Tomek Tarczynski
quelle
quelle
Antworten:
Zuerst eine kurze Antwort und dann einen längeren Kommentar:
Antworten
SNE-Techniken berechnen eine N × N-Ähnlichkeitsmatrix sowohl im ursprünglichen Datenraum als auch im niedrigdimensionalen Einbettungsraum so, dass die Ähnlichkeiten eine Wahrscheinlichkeitsverteilung über Objektpaare bilden. Insbesondere werden die Wahrscheinlichkeiten im Allgemeinen durch einen normalisierten Gaußschen Kern gegeben, der aus den Eingabedaten oder aus der Einbettung berechnet wird. In Bezug auf die Klassifizierung erinnert dies sofort an instanzbasierte Lernmethoden . Sie haben eine davon aufgelistet: SVMs mit RBF und @amoeba hat kNN aufgelistet. Es gibt auch radiale Basisfunktionsnetzwerke , für die ich kein Experte bin.
Kommentar
Trotzdem würde ich doppelt vorsichtig sein, wenn ich Rückschlüsse auf einen Datensatz ziehen würde, wenn ich nur t-SNE-Diagramme betrachte. t-SNE konzentriert sich nicht unbedingt auf die lokale Struktur. Sie können dies jedoch anpassen, indem Sie den
perplexity
Parameter optimieren, der (lose) regelt, wie die Aufmerksamkeit zwischen lokalen und globalen Aspekten Ihrer Daten ausgeglichen werden soll.In diesem Zusammenhang ist es
perplexity
selbst ein Stich in die Dunkelheit, wie viele nahe Nachbarn jede Beobachtung haben kann, und wird vom Benutzer bereitgestellt. In der Originalarbeit heißt es: „Die Leistung von t-SNE ist ziemlich robust gegenüber Änderungen der Ratlosigkeit, und typische Werte liegen zwischen 5 und 50.“ Ich habe jedoch die Erfahrung gemacht, dass die optimale Nutzung von t-SNE die Analyse mehrerer Diagramme mit unterschiedlichen Verwirrungen bedeuten kann.Mit anderen Worten, Tuning
learning rate
undperplexity
, es ist möglich, sehr unterschiedlich aussehende 2D-Diagramme für die gleiche Anzahl von Trainingsschritten und unter Verwendung der gleichen Daten zu erhalten.Dieses Distill Papier Wie Verwenden t-SNE Effektiv gibt eine große Zusammenfassung der gemeinsamen Gefahren von T-ANS - Analyse. Die zusammenfassenden Punkte sind:
Diese Hyperparameter (z. B. Lernrate, Ratlosigkeit) sind wirklich wichtig
Clustergrößen in einem t-SNE-Diagramm bedeuten nichts
Entfernungen zwischen Clustern haben möglicherweise keine Bedeutung
Zufälliges Rauschen sieht nicht immer zufällig aus.
Manchmal sieht man einige Formen
Für die Topologie benötigen Sie möglicherweise mehr als ein Diagramm
Insbesondere aus den obigen Punkten 2, 3 und 6 würde ich zweimal darüber nachdenken, Rückschlüsse auf die Trennbarkeit der Daten zu ziehen, indem ich einzelne t-SNE-Diagramme betrachte. Es gibt viele Fälle, in denen Sie Diagramme erstellen können, die mit den richtigen Parametern klare Cluster anzeigen.
quelle