Wann ist es angebracht, PCA als Vorverarbeitungsschritt zu verwenden?

8

Ich verstehe, dass PCA zur Reduzierung der Dimensionalität verwendet wird, um Datensätze in 2D oder 3D zeichnen zu können. Ich habe aber auch Leute gesehen, die PCA als Vorverarbeitungsschritt in Klassifizierungsszenarien anwenden, in denen sie PCA anwenden, um die Anzahl der Merkmale zu reduzieren, und dann einige Hauptkomponenten (die Eigenvektoren der Kovarianzmatrix) als neue Merkmale verwenden.

Meine Fragen:

  • Welche Auswirkungen hat das auf die Klassifizierungsleistung?

  • Wann sollte ein solcher Vorverarbeitungsschritt angewendet werden?

  • Ich habe einen Datensatz mit 10 Merkmalen als reelle Zahlen und 600 binären Merkmalen, die kategoriale Merkmale darstellen, wobei eine Eins-zu-Viele-Codierung verwendet wird, um sie darzustellen. Wäre es sinnvoll, PCA hier anzuwenden und bessere Ergebnisse zu erzielen?

ps Wenn die Frage zu weit gefasst ist, wäre ich dankbar, wenn Sie ein Papier oder Tutorials bereitstellen, in denen die Details der Verwendung von PCA auf diese Weise besser erläutert werden.

ps Nachdem ich ein wenig gelesen hatte, stellte ich fest, dass es besser sein könnte, die latente semantische Analyse zu verwenden, um die Anzahl der binären Merkmale für die kategorialen Attribute zu reduzieren. Ich berühre also nicht die realwertigen Features, sondern verarbeite nur die binären Features vor und kombiniere dann die realwertigen Features mit den neuen Features und trainiere meinen Klassifikator. Was denken Sie?

Jack Twain
quelle

Antworten:

5

Die Verwendung von PCA für die Merkmalsauswahl (Entfernen nicht vorhersagbarer Merkmale) ist eine äußerst teure Methode. PCA-Algen sind oft O (n ^ 3). Ein viel besserer und effizienterer Ansatz wäre vielmehr die Verwendung eines Maßes für die gegenseitige Abhängigkeit zwischen dem Merkmal und der Klasse - da diese gegenseitige Information tendenziell sehr gut funktioniert, ist es außerdem das einzige Maß für die Abhängigkeit, das a) vollständig verallgemeinert und b) hat tatsächlich eine gute philosophische Grundlage, die auf Kullback-Leibler-Divergenz basiert.

Zum Beispiel berechnen wir (unter Verwendung der maximalen Wahrscheinlichkeitswahrscheinlichkeit ca. mit etwas Glättung)

MI-über-erwartet = MI (F, C) - E_ {X, N} [MI (X, C)]

wobei der zweite Term die "erwartete gegenseitige Information anhand von N Beispielen" ist. Wir nehmen dann die Top-M-Features nach der Sortierung nach MI-über den Erwartungen.

Der Grund, warum man PCA verwenden möchte, ist, wenn man erwartet, dass viele der Funktionen tatsächlich abhängig sind. Dies wäre besonders praktisch für Naive Bayes, wo Unabhängigkeit vorausgesetzt wird. Jetzt waren die Datensätze, mit denen ich gearbeitet habe, immer viel zu groß, um PCA zu verwenden, daher verwende ich kein PCA und wir müssen ausgefeiltere Methoden verwenden. Wenn Ihr Datensatz jedoch klein ist und Sie nicht die Zeit haben, komplexere Methoden zu untersuchen, sollten Sie auf jeden Fall eine sofort einsatzbereite PCA anwenden.

samthebest
quelle