Fastica

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

FastICA este un popular algoritm independent de analiză a componentelor dezvoltat de Aapo Hyvärinen de la Universitatea de Tehnologie din Helsinki . Algoritmul se bazează pe un punct fix, schemă iterativă pentru a maximiza non-gaussianitatea unei măsuri statistice de independență. Algoritmul poate fi, de asemenea, derivat din iterația aproximativă a lui Newton.

Algoritm

FastICA pentru o componentă

Algoritmul iterativ găsește direcția pentru vectorul de greutate maximizând non-gaussianitatea proiecției pentru . Functia este derivatul unei funcții non-pătrate.

  1. Alegeți un purtător de greutate de pornire
  2. Este
  3. Este
  4. dacă nu converge, reveniți la pasul 2

În acest caz, convergența înseamnă apariția situației prin care valorile referindu-se la 2 iterații succesive îndreptate în aceeași direcție.

Câteva exemple de funcții Sunt:

Maximele relative la aproximarea negentropiei lui sunt obținute în corespondență cu unele rezultate ale optimizării funcției ; conform condițiilor Karush-Kuhn-Tucker , optimale ale funcției cu constrângerea sunt obținute în punctele în care apare:

Rezolvând ecuația cu metoda lui Newton și definind partea stângă a ecuației cu F , obținem matricea iacobiană JF (w) ca: Pentru a simplifica inversarea acestei matrice, este util să aproximăm primul termen; dacă datele sunt centrate (valoare medie nulă) și albite, acestea pot fi aproximate după cum urmează:

Prin aplicarea acesteia, matricea iacobiană devine o matrice diagonală și, prin urmare, poate fi ușor inversată. Se obține astfel o iterație Newton aproximativă:

Algoritmul poate fi simplificat în continuare prin înmulțirea ambelor părți cu , dând naștere adevăratului algoritm FastICA.

(Algoritmul folosește o aproximare a negentropiei , care folosește kurtosis ).

FastICA pentru componente multiple

Algoritmul descris pentru o componentă permite să obțină doar una dintre componentele independente. Pentru a putea estima mai mult este necesar să se aplice algoritmul unui set de n unități, caracterizat prin vectori de greutate .

Aplicarea algoritmului este aceeași, dar este necesară prevenirea convergenței mai multor neuroni către același maxim, adică este necesară necorelarea ieșirilor de rețea la sfârșitul fiecărei iterații. Pentru a face acest lucru, există cel puțin trei metode în literatură.

Caracteristicile algoritmului

  • convergența este cubică presupunând un model ICA, făcând astfel algoritmul mai rapid decât metodele clasice bazate pe coborârea în gradient, care se caracterizează prin convergență liniară.
  • algoritmul se bucură de o ușurință mare de utilizare, de asemenea, deoarece nu există prea mulți parametri de setat.
  • FastICA poate găsi componentele independente ale aproape tuturor distribuțiilor gaussiene prin intermediul oricărei funcții neliniare g , spre deosebire de alte tehnici care necesită informații a priori despre distribuții.
  • Componentele independente pot fi estimate una câte una, făcând din acest instrument un instrument important pentru analiza datelor exploratorii și reducerea sarcinii de calcul.
  • Algoritmul împărtășește caracteristicile dezirabile cu abordările neuronale: este paralel, distribuit, flexibil din punct de vedere al calculului și nu este foarte solicitant în ceea ce privește memoria utilizată.

Elemente conexe

linkuri externe