Ich habe ein anwendungsbasiertes Papier gelesen, in dem es heißt, dass PCA vor der Anwendung von ICA angewendet wird (unter Verwendung des fastICA-Pakets). Meine Frage ist, erfordert ICA (fastICA), dass PCA zuerst ausgeführt wird?
Dieses Papier erwähnte das
... wird auch argumentiert, dass die Voranwendung von PCA die ICA-Leistung verbessert, indem (1) kleine nachfolgende Eigenwerte vor dem Aufhellen verworfen werden und (2) die Rechenkomplexität durch Minimieren paarweiser Abhängigkeiten verringert wird. PCA dekorreliert die Eingabedaten; Die verbleibenden Abhängigkeiten höherer Ordnung werden durch ICA getrennt.
Auch andere Papiere wenden PCA vor ICA an, z . B. dieses .
Gibt es andere Vor- und Nachteile, um PCA vor ICA auszuführen? Bitte geben Sie der Theorie Referenzen.
quelle
Antworten:
Der fastICA-Ansatz erfordert einen Voraufhellungsschritt: Die Daten werden zuerst unter Verwendung von PCA transformiert, was zu einer diagonalen Kovarianzmatrix führt, und dann wird jede Dimension so normalisiert, dass die Kovarianzmatrix gleich der Identitätsmatrix ist (Aufhellung).
Es gibt unendliche Transformationen der Daten, die zu einer Identitätskovarianzmatrix führen, und wenn Ihre Quellen Gauß'sch wären, würden Sie dort aufhören (für multivariate Gaußsche Verteilungen sind Mittelwert und Kovarianz ausreichende Statistiken). In Gegenwart von nicht-Gaußschen Quellen können Sie einige minimieren Maß für die Abhängigkeit von den weiß gewordenen Daten. Daher suchen Sie nach einer Rotation der weiß gewordenen Daten, die die Unabhängigkeit maximiert. FastICA erreicht dies mithilfe informationstheoretischer Maßnahmen und eines Festpunkt-Iterationsschemas.
Ich würde die Arbeit von Hyvärinen empfehlen, um das Problem besser zu verstehen:
Bitte beachten Sie, dass PCA und Dimensionsreduzierung nicht genau dasselbe sind: Wenn Sie mehr Beobachtungen (pro Signal) als Signale haben, können Sie eine PCA durchführen, die 100% der erklärten Varianz beibehält, und dann mit dem Aufhellen und der Festpunktiteration fortfahren um eine Schätzung der unabhängigen Komponenten zu erhalten. Ob Sie eine Dimensionsreduzierung durchführen sollten oder nicht, hängt stark vom Kontext ab und basiert auf Ihren Modellierungsannahmen und der Datenverteilung.
quelle
Das Anwenden von PCA auf Ihre Daten hat nur den Effekt, dass die ursprünglichen Koordinatenachsen gedreht werden. Es ist eine lineare Transformation, genau wie zum Beispiel die Fourier-Transformation. Daher kann es als solches wirklich nichts mit Ihren Daten tun.
Die im neuen PCA-Bereich dargestellten Daten weisen jedoch einige interessante Eigenschaften auf. Nach der Koordinatendrehung mit PCA können Sie einige Dimensionen verwerfen, die auf festgelegten Kriterien basieren, z. B. dem Prozentsatz der Gesamtvarianz, der durch die neuen Achsen erklärt wird. Abhängig von Ihrem Signal können Sie mit dieser Methode eine erhebliche Dimensionsreduzierung erzielen, was die Leistung der folgenden ICA definitiv erhöhen würde. Das Durchführen einer ICA ohne Verwerfen einer der PCA-Komponenten hat keine Auswirkungen auf das Ergebnis der folgenden ICA.
Darüber hinaus kann man aufgrund der Orthogonalität der Koordinatenachsen auch leicht die Daten im PCA-Raum aufhellen. Durch das Aufhellen werden Abweichungen über alle Dimensionen hinweg ausgeglichen. Ich würde argumentieren, dass dies notwendig ist, damit eine ICA richtig funktioniert. Andernfalls würden nur wenige PCA-Komponenten mit den größten Abweichungen die ICA-Ergebnisse dominieren.
Ich sehe keine wirklichen Nachteile für die PCA-basierte Vorverarbeitung vor einer ICA.
Giancarlo zitiert bereits die beste Referenz für ICA ...
quelle
Die Ableitung des fastICA-Algorithmus erfordert nur das Aufhellen für einen einzelnen Schritt. Zuerst wählen Sie die Richtung des Schritts (wie bei einem Gradientenabstieg), und dies erfordert keine weißen Daten. Dann müssen wir die Schrittgröße auswählen, die von der Umkehrung des Hessischen abhängt. Wenn die Daten weiß werden, ist dieser Hessische diagonal und invertierbar.
Also ist es erforderlich? Wenn Sie nur die Schrittgröße auf eine Konstante festlegen (daher kein Aufhellen erforderlich), haben Sie einen Standard-Gradientenabstieg. Gradientenabstieg mit einer festen kleinen Schrittgröße konvergiert normalerweise, ist jedoch möglicherweise viel langsamer als die ursprüngliche Methode. Wenn Sie dagegen eine große Datenmatrix haben, kann das Aufhellen ziemlich teuer sein. Sie könnten sogar mit der langsameren Konvergenz, die Sie ohne Aufhellen erhalten, besser dran sein.
Ich war überrascht, dass dies in keiner Literatur erwähnt wurde. In einem Artikel wird das Problem erörtert: Neue Fast-ICA-Algorithmen für die blinde Quellentrennung ohne Voraufhellung durch Jimin Ye und Ting Huang.
Sie schlagen eine etwas billigere Option zum Aufhellen vor. Ich wünschte, sie hätten den offensichtlichen Vergleich aufgenommen, nur ICA ohne Aufhellung als Basis auszuführen, aber sie taten es nicht. Als weiteren Datenpunkt habe ich versucht, fastICA ohne Aufhellen bei Spielzeugproblemen auszuführen, und es hat gut funktioniert.
Update: Eine weitere nützliche Referenz zum Thema Bleaching finden Sie hier: Robuste unabhängige Komponentenanalyse, Zaroso und Comon . Sie bieten Algorithmen, die kein Aufhellen erfordern.
quelle