Ist es in Ordnung zu versuchen, den besten PCA k-Parameter zu finden, wie wir es mit anderen Hyperparametern tun?

7

Die Hauptkomponentenanalyse (PCA) wird verwendet, um n-dimensionale Daten auf k-dimensionale Daten zu reduzieren, um das maschinelle Lernen zu beschleunigen. Nachdem PCA angewendet wurde, kann überprüft werden, wie viel von der Varianz des ursprünglichen Datensatzes im resultierenden Datensatz verbleibt. Ein gemeinsames Ziel ist es, die Varianz zwischen 90% und 99% zu halten.

Meine Frage ist: Wird es als eine gute Praxis angesehen, verschiedene Werte des k-Parameters (Größe der Dimension des resultierenden Datensatzes) auszuprobieren und dann die Ergebnisse der resultierenden Modelle auf die gleiche Weise wie bei der Auswahl mit einem Kreuzvalidierungsdatensatz zu vergleichen gute Werte anderer Hyperparameter wie Regularisierungs-Lambdas und Schwellenwerte?

J. Doe
quelle

Antworten:

5

Ihre Betonung auf der Verwendung eines Validierungssatzes anstelle des Trainingssatzes für die Auswahl von ist eine gute Praxis und sollte befolgt werden. Wir können es jedoch noch besser machen!k

Der Parameter in ist spezieller als ein allgemeiner Hyperparameter. Weil die Lösung für bereits in für , was die ersten Eigenvektoren (entsprechend größten Eigenwerten) in . Anstatt , , ..., separat für Trainingsdaten auszuführen, wie dies bei einem Hyperparameter im Allgemeinen der Fall ist müssen wir nur ausführen , um die Lösung für alle .kPCAPCA(k)PCA(K.)K.>kkkPCA(K.)PCA(1)PCA(4)PCA(K.)PCA(K.)k{1,..,K.}}

Infolgedessen wäre der Prozess wie folgt:

  1. Führen Sie für das größte akzeptable im Trainingssatz aus.PCAK.
  2. Zeichnen oder vorbereiten ( , Varianz) auf Validierungssatz,k
  3. Wählen Sie das , das die minimal akzeptable Varianz ergibt, z. B. 90% oder 99%.k

Die N-fache Kreuzvalidierung wäre wie folgt:

  1. Lauf PCA für das größte akzeptabel K. auf N Trainingsfalten,
  2. Plotten oder vorbereiten (k, Durchschnitt von N Varianzen) auf gehaltenen Falten,
  3. Wähle aus k das ergibt die minimal akzeptable durchschnittliche Varianz, zB 90% oder 99%.

Hier ist auch ein verwandter Beitrag , in dem gefragt wird, warum wir Hauptkomponenten basierend auf der erklärten maximalen Varianz auswählen.

Esmailian
quelle
Ist K-PCA der richtige Name dafür? Es klingt ein bisschen verwirrend und erinnert mich an die Kernel Principal Component Analysis (KPCA), eine nichtlineare Version von PCA
Pedro Henrique Monforte
@ PedroHenriqueMonforte Danke! Notation aktualisiert.
Esmailian