In einer kürzlich durchgeführten Aufgabe wurde uns befohlen, PCA für die MNIST-Ziffern zu verwenden, um die Abmessungen von 64 (8 x 8 Bilder) auf 2 zu reduzieren. Anschließend mussten wir die Ziffern mit einem Gaußschen Mischungsmodell gruppieren. PCA, das nur zwei Hauptkomponenten verwendet, ergibt keine eindeutigen Cluster, weshalb das Modell keine nützlichen Gruppierungen erstellen kann.
Bei Verwendung von t-SNE mit 2 Komponenten sind die Cluster jedoch viel besser getrennt. Das Gaußsche Mischungsmodell erzeugt deutlichere Cluster, wenn es auf die t-SNE-Komponenten angewendet wird.
Der Unterschied zwischen PCA mit 2 Komponenten und t-SNE mit 2 Komponenten ist im folgenden Bildpaar zu sehen, in dem die Transformationen auf den MNIST-Datensatz angewendet wurden.
Ich habe gelesen, dass t-SNE nur zur Visualisierung von hochdimensionalen Daten verwendet wird, wie in dieser Antwort , aber angesichts der unterschiedlichen Cluster, die es erzeugt, warum wird es nicht als Dimensionsreduktionstechnik verwendet, die dann für Klassifizierungsmodelle oder als verwendet wird eine eigenständige Clustering-Methode?
Antworten:
Der Hauptgrund dafür, dass -SNE in Klassifikationsmodellen nicht verwendet wird, ist, dass es keine Funktion vom ursprünglichen zum neuen (unteren) dimensionalen Raum lernt. Wenn wir versuchen würden, unseren Klassifikator für neue / unsichtbare Daten zu verwenden, sind wir daher nicht in der Lage, diese neuen Daten gemäß den vorherigen -SNE-Ergebnissen abzubilden / vorzuverarbeiten.tt t
Es wird daran gearbeitet, ein tiefes neuronales Netzwerk zu trainieren, um die SNE-Ergebnisse zu approximieren (z. B. das "parametrische" SNE- Papier), aber diese Arbeit wurde teilweise durch die Existenz von (tiefen) Autoencodern abgelöst . Autoencoder werden zunehmend als Input- / Pre-Prozessoren für Klassifikatoren (insbesondere DNN) eingesetzt, gerade weil sie eine sehr gute Leistung im Training erzielen und sich auf natürliche Weise auf neue Daten verallgemeinern lassen.tt t
tt SNE kann möglicherweise verwendet werden, wenn nicht entfernungsbasierte Clustering-Techniken wie FMM (Finite Mixture Models ) oder DBSCAN ( Density-based Models ) verwendet werden. Wie Sie richtig bemerken, kann in solchen Fällen die Ausgabe von -SNE sehr hilfreich sein. Das Problem in diesen Anwendungsfällen ist, dass einige Personen möglicherweise versuchen, die Cluster-Platzierung und nicht nur die Cluster-Mitgliedschaft einzulesen. Da die globalen Entfernungen verloren gehen, können Schlussfolgerungen aus der Cluster-Platzierung zu falschen Einsichten führen. Beachten Sie, dass es keinen großen Wert bietet, wenn Sie nur sagen: " Hey, wir haben alle s Cluster zusammen gefunden ", wenn Sie nicht sagen können, wovon sie weit entfernt sind. Wenn wir nur das finden wolltent
1
1
Wir hätten auch gleich zu Beginn die Klassifizierung verwenden können (was uns zur Verwendung von Autoencodern zurückführt).quelle
t-SNE speichert keine Abstände, schätzt jedoch im Grunde die Wahrscheinlichkeitsverteilungen. Theoretisch bilden die t-SNE-Algorithmen die Eingabe auf einen Kartenraum mit 2 oder 3 Dimensionen ab. Es wird angenommen, dass der Eingaberaum eine Gaußsche Verteilung und der Kartenraum eine t-Verteilung ist. Die verwendete Verlustfunktion ist die KL-Divergenz zwischen den beiden Verteilungen, die durch Gradientenabnahme minimiert wird.
Laut Laurens van der Maaten, Mitautor von t-SNE
Referenz:
https://lvdmaaten.github.io/tsne/
https://www.oreilly.com/learning/an-illustrated-introduction-to-t-sne-algorithm
quelle
Als allgemeine Aussage: Bei einem ausreichend leistungsfähigen (/ geeigneten) Klassifikator oder Clusterer würde man niemals eine Dimensionsreduktion anwenden .
Bei der Dimensionsreduzierung gehen Informationen verloren.
Da ein solcher Clusterer oder Klassifikator (insbesondere Klassifikatoren, weniger Clusterer) intern bereits eine Form der Projektion in einen sinnvollen Raum einbindet. Und Dimensionalitätsreduktion ist auch Projektion auf einen (hoffnungsvollen) bedeutungsvollen Raum.
Die Dimensionsreduktion muss dies jedoch auf uninformierte Weise tun - sie weiß nicht, für welche Aufgabe Sie reduzieren. Dies gilt insbesondere für die Klassifizierung, bei der Sie Informationen direkt überwacht haben. Es gilt aber auch für Clustering, bei dem der Raum, in den man für das Clustering projizieren möchte, besser definiert ist (für diesen Algorithmus) als nur "weniger Dimensionen haben" Aufgabe, für die Sie reduzieren - Sie teilen ihr mit, welchen Algorithmus zur Dimensionsreduzierung Sie verwenden möchten.
Oft ist es besser, einen anderen Klassifikator / Clusterer zu verwenden, der eine nützliche Projektion enthält, als einen Dimensionsreduktionsschritt als Vorverarbeitung vor dem Clustering / Klassifizieren hinzuzufügen.
Eine Sache, die Dimentionalitätsreduzierung erfordert, ist jedoch die unbeaufsichtigte Art der Projektion auf den (hoffentlich) sinnvollen Raum. Dies ist nützlich, wenn Sie nur wenige Etikettendaten haben. Es gibt jedoch häufig andere Methoden, die eng mit Ihrem Klassifikator verknüpft sind (z. B. für neuronale Netze, mit Autoencoder, z. B. Deep-Believe-Netzvorbereitung), die besser funktionieren, da sie für diese endgültige Aufgabe entwickelt wurden. Nicht die allgemeinere Aufgabe der Dimensionsreduktion.
quelle