Muss ICA zuerst PCA ausführen?


9

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.


Diese veröffentlichte Arbeit findet nachteilige Auswirkungen einer PCA-basierten Dimensionsreduktion auf ICA.
Bonobo

Antworten:


9

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:

  • A. Hyvärinen. Schnelle und robuste Festpunktalgorithmen für die unabhängige Komponentenanalyse. IEEE Transactions on Neural Networks 10 (3): 626-634, 1999.
  • A. Hyvärinen, J. Karhunen, E. Oja, Unabhängige Komponentenanalyse, Wiley & Sons. 2001

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.


2
Dies ist eine gute Antwort, aber soweit ich weiß, kann Ihr letzter Punkt viel stärker gemacht werden: Es ist fast immer eine gute Idee, den PCA-Schritt zu verwenden, um die Dimensionalität zu reduzieren (zusätzlich zum Aufhellen der Daten). Wenn die Dimensionalität zu hoch ist, kann ICA leicht überpassen und bedeutungslose Komponenten produzieren. Die Vorverarbeitung mit PCA löst dieses Problem häufig (wie im Zitat im OP dargelegt).
Amöbe

4

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 ...


Ihre gesamte Antwort basiert auf der Prämisse, dass beim Anwenden von PCA lediglich die Koordinatenachse gedreht wird. Tatsächlich bedeutet das Anwenden von PCA jedoch normalerweise eine Verringerung der Dimensionalität (dh das Beibehalten nur einer Teilmenge von PCs und das Löschen des Restes).
Amöbe

Mit PCA können Sie herausfinden, welche Dimensionen zu verwerfen sind, wenn Sie so wollen. Ich sehe nicht, wie dies meine Antwort verfeinert.
Bonobo

In der Zwischenzeit wurde diese Arbeit veröffentlicht. Sie behaupten, nachteilige Auswirkungen einer PCA-basierten Dimensionsreduktion auf die Qualität der nachfolgenden ICA zu zeigen.
Bonobo

Danke für den Link. Ich lese das Abstract und bin ehrlich gesagt skeptisch. Aber ich bin kein Experte für ICA und werde dieses Papier wahrscheinlich nicht im Detail studieren.
Amöbe

2

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.

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.