Ich möchte einen Algorithmus in einem Artikel implementieren, der Kernel-SVD zum Zerlegen einer Datenmatrix verwendet. Ich habe also Materialien über Kernelmethoden und Kernel-PCA usw. gelesen. Aber es ist für mich immer noch sehr dunkel, besonders wenn es um mathematische Details geht, und ich habe ein paar Fragen.
Warum Kernelmethoden? Oder was sind die Vorteile von Kernelmethoden? Was ist der intuitive Zweck?
Geht man davon aus, dass ein viel größerer dimensionaler Raum in realen Problemen realistischer ist und die nichtlinearen Beziehungen in den Daten im Vergleich zu Nicht-Kernel-Methoden aufdecken kann? Den Materialien zufolge projizieren Kernel-Methoden die Daten auf einen hochdimensionalen Merkmalsraum, müssen den neuen Merkmalsraum jedoch nicht explizit berechnen. Stattdessen ist es ausreichend, nur die inneren Produkte zwischen den Bildern aller Datenpunktpaare im Merkmalsraum zu berechnen. Warum also auf einen höherdimensionalen Raum projizieren?
Im Gegenteil, SVD reduziert den Merkmalsraum. Warum machen sie das in verschiedene Richtungen? Kernel-Methoden suchen nach einer höheren Dimension, während SVD nach einer niedrigeren Dimension sucht. Für mich klingt es komisch, sie zu kombinieren. Laut dem Artikel , den ich lese ( Symeonidis et al. 2010 ), kann die Einführung von Kernel-SVD anstelle von SVD das Problem der Datensparsamkeit lösen und die Ergebnisse verbessern.
Aus dem Vergleich in der Abbildung können wir sehen, dass KPCA einen Eigenvektor mit einer höheren Varianz (Eigenwert) als PCA erhält, nehme ich an? Da KPCA für die größte Differenz der Projektionen der Punkte auf den Eigenvektor (neue Koordinaten) ein Kreis und PCA eine gerade Linie ist, erhält KPCA eine höhere Varianz als PCA. Bedeutet dies, dass KPCA höhere Hauptkomponenten als PCA erhält?
quelle
Antworten:
PCA (als Dimensionsreduktionstechnik) versucht, einen niedrigdimensionalen linearen Unterraum zu finden, auf den die Daten beschränkt sind. Es kann jedoch sein, dass die Daten auf einen nichtlinearen Teilraum mit geringer Dimension beschränkt sind . Was wird dann passieren?
Schauen Sie sich diese Abbildung aus Bishops Lehrbuch "Mustererkennung und maschinelles Lernen" an (Abbildung 12.16):
Die Datenpunkte hier (links) befinden sich größtenteils entlang einer Kurve in 2D. PCA kann die Dimensionalität nicht von zwei auf eins reduzieren, da die Punkte nicht entlang einer geraden Linie liegen. Dennoch liegen die Daten "offensichtlich" um eine eindimensionale nichtlineare Kurve. Also, während PCA ausfällt, muss es einen anderen Weg geben! Tatsächlich kann Kernel-PCA diese nichtlineare Mannigfaltigkeit finden und feststellen, dass die Daten tatsächlich nahezu eindimensional sind.
Dazu werden die Daten in einen höherdimensionalen Raum abgebildet. Dies kann in der Tat wie ein Widerspruch aussehen (Ihre Frage Nr. 2), ist es aber nicht. Die Daten werden in einen höherdimensionalen Raum abgebildet, erweisen sich dann jedoch als in einem niedrigerdimensionalen Unterraum davon liegend. Sie erhöhen also die Dimensionalität, um sie verringern zu können.
Die Essenz des "Kernel-Tricks" ist, dass man den höherdimensionalen Raum nicht explizit betrachten muss, so dass dieser möglicherweise verwirrende Sprung in der Dimensionalität völlig verdeckt ausgeführt wird. Die Idee bleibt jedoch gleich.
quelle