FastICA

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

Ekstrakcja pojedynczych składników

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:

  1. Losuj początkowy wektor wagi
  2. Niech , gdzie oznacza uśrednianie wszystkich wektorów kolumnowych macierzy
  3. niech
  4. Jeśli nie jest zbieżny, wróć do 2

Ekstrakcja wielu składników

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