Soweit ich weiß, gibt es drei Hauptansätze zur Reduzierung der nichtlinearen Dimensionalität:
- Vielfältiges Lernen (geometrische / topologische Algorithmen wie ISOMAP, LLE, LTSA)
- Autoencoder
- Dinge, die nicht in die ersten beiden Kategorien passen (wahrscheinlichkeitsinspiriertes t-SNE, Kernel-PCA usw.)
Was sind die Vor- und Nachteile der ersten beiden Ansätze?
Kann man denken, dass Autoencoder das vielfältige Lernen völlig übertreffen werden, so wie Deep Learning die meisten Algorithmen für maschinelles Lernen in Bezug auf die Leistung in den Schatten stellt?
machine-learning
deep-learning
dimensionality-reduction
autoencoders
manifold-learning
Sengiley
quelle
quelle
Antworten:
Bevor ich versuche, Ihre Frage zu beantworten, möchte ich eine stärkere Trennung zwischen den Methoden herstellen, auf die Sie sich beziehen.
Der erste Satz von Methoden, auf den Sie sich meiner Meinung nach beziehen, sind nachbarschaftsbasierte Dimensionsreduktionsmethoden, bei denen ein Nachbarschaftsgraph erstellt wird, bei dem die Kanten eine Abstandsmetrik darstellen. Um nun den Anwalt des Teufels gegen mich selbst zu spielen, kann MDS / ISOMAP beide als eine Form von Kernel-PCA interpretiert werden. Obwohl diese Unterscheidung relativ scharf erscheint, verschieben verschiedene Interpretationen diese Methoden von einer Klasse zur anderen.
Die zweite Reihe von Methoden, auf die Sie sich beziehen, würde ich im Bereich des unbeaufsichtigten Lernens neuronaler Netze platzieren. Autoencoder sind eine spezielle Architektur, die versucht, einen Eingaberaum in einen Raum mit niedrigeren Dimensionen abzubilden, der das Dekodieren in den Eingaberaum mit minimalem Informationsverlust ermöglicht.
Lassen Sie uns zunächst über die Vor- und Nachteile von Autoencodern sprechen. Autoencoder werden im Allgemeinen mit einer Variante des stochastischen Gradientenabfalls trainiert, die einige Vorteile bietet. Der Datensatz muss nicht in den Speicher passen und kann dynamisch geladen und mit Gradientenabstieg trainiert werden. Im Gegensatz zu vielen Methoden des nachbarschaftsbasierten Lernens, bei denen der Datensatz im Speicher vorhanden sein muss. Die Architektur der Autoencoder ermöglicht die Einbeziehung der Vorkenntnisse der Daten in das Modell. Wenn ein Datensatz beispielsweise Bilder enthält, können wir eine Architektur erstellen, die die 2D-Faltung verwendet. Wenn der Datensatz Zeitreihen enthält, die langfristige Verbindungen haben, können wir wiederkehrende Netzwerke verwenden (siehe Seq2Seq-Lernen). Dies ist die Kraft neuronaler Netze im Allgemeinen. Es ermöglicht uns, Vorkenntnisse über das Problem in unsere Modelle zu kodieren. Dies ist etwas, was andere Modelle und genauer gesagt Dimensionalitätsreduktionsalgorithmen nicht können.
Aus theoretischer Sicht gibt es ein paar nette Theoreme. Je tiefer das Netzwerk ist, desto komplexer wird die Komplexität der Funktionen, die vom Netzwerk gelernt werden können. Zumindest bevor etwas Neues entdeckt wird, werden Sie im Allgemeinen kein aussagekräftigeres / leistungsfähigeres Modell finden als ein korrekt ausgewähltes neuronales Netzwerk.
Obwohl das alles großartig klingt, gibt es Nachteile. Die Konvergenz neuronaler Netze ist nicht deterministisch und hängt stark von der verwendeten Architektur, der Komplexität des Problems, der Auswahl von Hyperparametern usw. ab. Die Ausdruckskraft neuronaler Netze verursacht ebenfalls Probleme. Sie passen sich sehr schnell an, wenn die richtige Regularisierung vorliegt nicht ausgewählt / verwendet.
Andererseits sind Nachbarschaftsmethoden weniger aussagekräftig und tendieren dazu, eine deterministische Zeitspanne bis zur Konvergenz zu laufen, die auf viel weniger Parametern als neuronale Netze basiert.
Die Wahl der Methode hängt direkt vom Problem ab. Wenn Sie einen kleinen Datensatz haben, der in den Speicher passt und keine strukturierten Daten (Bilder, Videos, Audio) verwendet, ist die Reduzierung der klassischen Dimensionalität wahrscheinlich der richtige Weg. Mit der Einführung der Struktur steigt jedoch die Komplexität Ihres Problems, und die Datenmenge, über die Sie verfügen, erhöht die Anzahl der neuronalen Netze.
Hoffe das hilft.
quelle