Warum verwenden wir PCA, um Lernalgorithmen zu beschleunigen, wenn wir nur die Anzahl der Funktionen reduzieren können?


12

In einem maschinellen Lernkurs habe ich gelernt, dass PCA ( Principal Component Analysis ) häufig verwendet wird, um andere maschinelle Lernalgorithmen zu beschleunigen. Stellen Sie sich zum Beispiel vor, Sie trainieren ein logistisches Regressionsmodell. Wenn Sie einen Trainingssatz für i von 1 bis n haben und die Dimension Ihres Vektors x sehr groß ist (sagen wir eine Dimension), können Sie PCA verwenden, um a zu erhalten kleinere Dimension (sagen wir k Dimensionen) Merkmalsvektor z. Anschließend können Sie Ihr logistisches Regressionsmodell auf dem Trainingsset ( z ( i ) , y ( i ) ) trainieren.(x(i),y(i)) für i von 1 bis n. Das Trainieren dieses Modells ist schneller, da Ihr Feature-Vektor weniger Dimensionen aufweist.(z(i),y(i))

Ich verstehe jedoch nicht, warum Sie die Dimension Ihres Feature-Vektors nicht einfach auf k Dimensionen reduzieren können, indem Sie einfach k Ihrer Features zufällig auswählen und den Rest eliminieren.

Die z-Vektoren sind Linearkombinationen Ihrer a-Merkmalsvektoren. Da die z-Vektoren auf eine k-dimensionale Oberfläche beschränkt sind, können Sie die ak-eliminierten Merkmalswerte als eine lineare Funktion der k verbleibenden Merkmalswerte schreiben, und somit können alle zs durch lineare Kombinationen Ihrer k-Merkmale gebildet werden. Sollte ein Modell, das auf einem Trainingssatz mit deaktivierten Funktionen trainiert wurde, nicht dieselbe Leistung haben wie ein Modell, das auf einem Trainingssatz trainiert wurde, dessen Größe durch PCA reduziert wurde? Kommt es nur auf die Art des Modells an und ob es sich um eine Linearkombination handelt?


1
Durch das Ablegen von Spalten gehen mehr Informationen verloren als bei Verwendung von PCA
Haitao Du

2
Was hat die Polymerase-Kettenreaktion damit zu tun? :-) --- Im Ernst, Sie sollten immer einen Begriff buchstabieren, bevor Sie eine Abkürzung verwenden.
Carl Witthoft

Sie können die von PCA erhaltenen Eigenvektoren als neue Merkmale betrachten, so dass PCA das Reduzieren von Merkmalen ermöglicht - indem Sie diejenigen, die wir haben, zu solchen rekombinieren, die mehr von der Varianz erfassen als die, mit denen wir begonnen haben.
Kathreadler

Antworten:


26

Angenommen, Sie haben anfangs Features, dies ist jedoch zu viele, sodass Sie Ihr Modell tatsächlich auf d < p- Features anpassen möchten . Sie könnten d Ihrer Funktionen auswählen und den Rest fallen lassen. Wenn X unsere Merkmalsmatrix ist, entspricht dies der Verwendung von X D, wobei D { 0 , 1 } p × d genau die Spalten von X auswählt, die wir einschließen möchten. Dabei werden jedoch alle Informationen in den anderen Spalten ignoriert. Warum also nicht eine allgemeinere Dimensionsreduktion X V in Betracht ziehen, bei der V R ist ?pd<pdXXDD{0,1}p×dXXV? Genau das macht PCA: Wir finden die MatrixVVRp×dVso dass so viele Informationen wie möglich in X enthält . Nicht alle Linearkombinationen werden gleichermaßen erstellt. Es sei denn, unsere X- Matrix ist so niedrig, dass eine zufällige Menge von dXVXXd Spalten (mit hoher Wahrscheinlichkeit) den Spaltenraum aller Spalten abdecken kann, werden wir dies mit Sicherheit nicht genauso gut können wie mit allen anderenp Merkmalen. Einige Informationen gehen verloren, daher ist es wichtig, dass wir so wenig Informationen wie möglich verlieren. Bei PCA ist die "Information", die wir zu vermeiden versuchen, die Variation in den Daten.p

Aus diesem Grund beschränken wir uns auf lineare Transformationen der Prädiktoren. Der springende Punkt in diesem Anwendungsfall ist die Rechenzeit. Wenn wir Lust auf eine nichtlineare Dimensionsreduktion hätten könnten, könnten wir das Modell wahrscheinlich auch für alle X anpassen. PCA liegt also perfekt an der Schnittstelle zwischen schnellem Rechnen und Effektivität.XX


2
+1. Es ist dennoch sinnvoll zu fragen, warum Variationen in X (die PCA beizubehalten versucht) für die Vorhersage von Y relevant sein sollten ... Dies ist ein verwandter Thread: stats.stackexchange.com/questions/141864 .
Amöbe sagt Reinstate Monica

4

PCA reduziert Merkmale, während die Varianz / Information in den Originaldaten erhalten bleibt. Dies hilft dabei, die Berechnung zu ermöglichen, ohne die Ähnlichkeit der Daten mit der Realität zu verlieren.


2

PCA-Lösung

Achten Sie zuerst darauf, wenn Sie PCA für diesen Zweck verwenden. Wie ich in Beantwortung einer verwandten Frage schrieb, führt PCA nicht unbedingt zu einer Auswahl von Funktionen, die für die von Ihnen beabsichtigte Regression aussagekräftig sind (siehe auch Jolliffe 1982 ).

OP vorgeschlagene Lösung

Betrachten Sie nun den vorgeschlagenen alternativen Mechanismus: reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.Nun wurden wir in der Problemstellung gebeten, diesen anzunehmen dimension of your vector x is very large. Nennen wir diese Dimension p

pCkkpp=1000k=58.25×1012k=5k=6p

Vorgeschlagene Lösung

p

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.