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. für i von 1 bis n. Das Trainieren dieses Modells ist schneller, da Ihr Feature-Vektor weniger Dimensionen aufweist.
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?