FastICA jest wydajnym i popularnym algorytmem do niezależnej analizy komponentów, opracowanym przez Aapo Hyvärinena z Politechniki Helsińskiej . Podobnie jak większość algorytmów ICA, FastICA poszukuje ortogonalnej rotacji wstępnie wybielonych danych poprzez schemat iteracji punktu stałego , który maksymalizuje miarę niegaussowskości obróconych komponentów. Niegaussowość służy jako wskaźnik niezależności statystycznej , która jest bardzo silnym warunkiem i wymaga nieskończonej liczby danych do weryfikacji. FastICA może być również alternatywnie wyprowadzona jako przybliżona iteracja Newtona.
Algorytm
Wstępne wybielanie danych
Niech oznacza dane wejściowe , liczbie próbek sygnałów mieszanych i liczba wierszy odpowiadająca liczbie niezależnych sygnałów źródłowych Macierz danych wejściowych musi zostać wstępnie wybielona lub wyśrodkowana i wybielona przed zastosowaniem do niej algorytmu
- Wyśrodkowanie danych pociąga za sobą poniżanie każdego składnika danych wejściowych , to znaczy
- dla każdego i . Po wyśrodkowaniu każdy wiersz ma oczekiwaną wartość X .
-
Wybielanie danych wymaga transformacji liniowej tak że składniki mają wariancję jeden. Dokładniej, jeśli jest wyśrodkowaną macierzą danych, kowariancja to dwuwymiarowa macierz tożsamości, czyli
- Powszechną metodą wybielania jest wykonanie rozkładu wartości własnych na macierzy kowariancji danych , E jest macierzą wektorów własnych, a macierzą diagonalną wartości własnych. Wybielona macierz danych jest zdefiniowana w ten sposób przez
Algorytm iteracyjny znajduje kierunek dla wektora wagi niegaussowskiej projekcji , gdzie oznaczający wstępnie wybielony macierz danych, jak opisano powyżej. Zauważ, że kolumnowym. Aby zmierzyć nie-Gaussa, FastICA opiera się na niekwadratowej funkcji nieliniowej jej pierwszej pochodnej i drugiej pochodnej . Hyvärinen twierdzi, że funkcje
są przydatne do celów ogólnych, podczas gdy
może być bardzo wytrzymały. Kroki wyodrębniania wektora wagi dla pojedynczego składnika w FastICA są następujące:
- Losuj początkowy wektor wagi
- Niech , gdzie oznacza uśrednianie wszystkich wektorów kolumnowych macierzy
- niech
- Jeśli nie jest zbieżny, wróć do 2
Algorytm iteracyjny pojedynczej jednostki szacuje tylko jeden wektor wagi, który wyodrębnia pojedynczy składnik. Oszacowanie dodatkowych składowych, które są wzajemnie „niezależne”, wymaga powtórzenia algorytmu w celu uzyskania liniowo niezależnych wektorów projekcji – zauważ, że pojęcie niezależności odnosi się tutaj do maksymalizacji niegaussowskiej nie-gaussowskiej wartości estymowanych składowych. Hyvärinen zapewnia kilka sposobów wyodrębniania wielu komponentów, z których najprostszy jest następujący. Tutaj jest wektorem kolumnowym o wymiarze 1 .
algorytm FastICA
-
: do Liczba pożądanych składników
-
Wejście: Wstępnie wybielona macierz, w której każda kolumna reprezentuje an -wymiarowa próbka, gdzie do
-
: Macierz niemieszająca, w której każda kolumna rzutuje komponent.
-
Wyjście: Macierz niezależnych składników, z kolumnami reprezentującymi próbkę z do wymiary.
dla p w 1 do C: Losowy wektor o długości N podczas gdy zmienia się wyjście wyjście
Zobacz też
Linki zewnętrzne