Ist es möglich, die Kernel-Hauptkomponentenanalyse (kPCA) für die latente semantische Indizierung (LSI) auf dieselbe Weise wie die PCA zu verwenden?
Ich führe LSI in R mit der prcomp
PCA-Funktion durch und extrahiere die Merkmale mit den höchsten Belastungen aus den ersten Komponenten. Dadurch erhalte ich die Funktionen, die die Komponente am besten beschreiben.
Ich habe versucht, die kpca
Funktion (aus dem kernlib
Paket) zu verwenden, kann jedoch nicht sehen, wie auf die Gewichte der Features einer Hauptkomponente zugegriffen werden kann. Ist dies bei Verwendung von Kernel-Methoden insgesamt möglich?
r
pca
feature-selection
kernel-trick
user3683
quelle
quelle
Antworten:
Ich denke, die Antwort auf Ihre Frage ist negativ: Es ist nicht möglich.
Standard-PCA kann für die Merkmalsauswahl verwendet werden, da jede Hauptkomponente eine lineare Kombination von Originalmerkmalen ist und man sehen kann, welche Originalmerkmale am meisten zu den wichtigsten Hauptkomponenten beitragen, siehe z. B. hier: Verwenden der Hauptkomponentenanalyse (PCA) für Funktionsauswahl .
In der Kernel-PCA ist jede Hauptkomponente eine lineare Kombination von Merkmalen im Zielraum , und zum Beispiel für den Gaußschen Kernel (der häufig verwendet wird) ist der Zielraum unendlich dimensional. Das Konzept der "Ladungen" ist für kPCA also nicht wirklich sinnvoll, und tatsächlich werden die Kernel-Hauptkomponenten direkt berechnet, wobei die Berechnung der Hauptachsen (die für Standard-PCA in R durch angegeben sind
prcomp$rotation
) insgesamt umgangen wird , dank dessen, was als bekannt ist Kernel-Trick . Siehe zB hier: Entspricht die Kernel-PCA mit linearem Kernel der Standard-PCA? für mehr Details.Also nein, das ist nicht möglich. Zumindest gibt es keinen einfachen Weg.
quelle
Das folgende Beispiel (aus dem Kernlab-Referenzhandbuch) zeigt Ihnen, wie Sie auf die verschiedenen Komponenten der Kernel-PCA zugreifen können:
Beantwortet das deine Frage?
quelle