Independent Component Analysis ( ICA ) , numită și Independent Component Analysis ( OLS ) , este o metodă de calcul în procesarea semnalului pentru separarea unui semnal multidimensional în subcomponente aditive. Această metodă se aplică sub ipoteza că subcomponentele sunt semnale non-Gauss și că sunt independente statistic unele de altele. ANC este un caz special de separare oarbă a semnalului . Un exemplu tipic de aplicație este problema cocktail-ului - când oamenii de la o petrecere zgomotoasă evidențiază vocea interlocutorului, în ciuda muzicii puternice și a zgomotului oamenilor din cameră: creierul este capabil să filtreze sunetele și să se concentreze pe o singură sursă (vocea omologului) în timp real.
Analiza independentă a componentelor încearcă să descompună un semnal multiplu în semnale independente non-Gauss. De exemplu, un sunet este de obicei un semnal care constă în adăugarea în fiecare moment a unor semnale t unice care provin din mai multe surse. Întrebarea este dacă este posibilă separarea acestor surse, separându-le de semnalul general. Dacă presupunerea independenței statistice este corectă, separarea oarbă a componentelor independente ale semnalului mixt va da rezultate foarte bune. Metoda este, de asemenea, utilizată pentru a analiza semnale care nu pot fi amestecate.
O simplă aplicație a ANC este „problema petrecerii zgomotoase”, când interlocutorii se aud, izolând vocea interlocutorului de semnalul general, constând în zgomotul oamenilor care vorbesc simultan în cameră și o stradă zgomotoasă în afara ferestrei. De obicei, sarcina este simplificată presupunând că nu există întârziere sau ecou. Rețineți că semnalul filtrat și întârziat este o copie a componentei dependente, iar apoi ipoteza independenței statistice nu este încălcată.
De asemenea, este important de luat în considerare faptul că, dacă sunt prezentate sursele, sunt necesare cel puțin observații (ex. microfoane, dacă semnalul observat este audio) pentru a detecta semnalele originale. În acest caz, matricea este pătrată ( , unde este dimensiunea de intrare a datelor și este dimensiunea modelului). În caz contrar, obținem și studiem cazul subdeterminat ( ) sau supradeterminat ( ).
Metoda ANC - separarea semnalului mixt, bazată pe două ipoteze și trei efecte ale surselor de semnal mixte, care dă rezultate foarte bune. Cele două ipoteze sunt:
Cele trei efecte ale unei surse de semnal mixt sunt:
Aceste principii formează bazele de bază ale ANC. Dacă semnalele pe care am putut să le extragem din amestec sunt independente, ca semnalele originale, și au histograme non-Gauss, sau au complexitate redusă, ca semnalul sursă, ele trebuie să fie semnale sursă [2] [3] .
ANC găsește componente independente (numiți factori, variabile latente sau surse) prin maximizarea independenței statistice a componentelor estimate. Puteți alege una dintre multele moduri de a defini un substitut pentru independență, iar această alegere va determina forma algoritmului ANC. Cele mai largi două definiții ale independenței ANC sunt:
Familia ANC de algoritmi de minimizare a informațiilor reciproce (MMI) utilizează măsuri precum divergența Kullback - Leibler și entropia maximă . Familia ANC de algoritmi de maximizare non-Gauss folosește curtoza și negentropia .
Algoritmii tipici ANC tind să folosească următoarele metode:
Decorrelația și reducerea dimensionalității pot fi obținute prin analiza componentelor principale sau descompunerea valorii singulare . Decorrelation oferă metodei astfel de condiții atunci când toate dimensiunile sunt tratate în mod egal și sunt setate a priori înainte de a rula algoritmul. Algoritmi cunoscuți pentru ANC: infomax , FastICA , JADE , kernel independent component analysis și multe altele. În general, ANC nu va putea determina numărul real de surse de semnal, singura ordine corectă sau scara (inclusiv semnul) a semnalelor.
ANC este important pentru separarea semnalelor oarbe și are multe aplicații practice. Metoda este strâns legată de căutarea (sau chiar de un caz special de căutare) pentru codificarea factorială a datelor, adică o nouă reprezentare vectorială a fiecărui vector de date în așa fel încât să fie codificat în mod unic de către rezultatul. vector de cod (codare fără pierderi), în timp ce componentele codului sunt independente statistic.
Analiza liniară a componentelor independente poate fi împărțită în cazul zgomotos și cazul zgomotos, unde ANC zgomotos este un caz frecvent de ANC zgomotos. ANC neliniar ar trebui considerat un caz separat.
Datele sunt reprezentate de vectorul aleator observat iar componentele ascunse de vectorul aleator . Sarcina construcției algoritmului este de a transforma datele observate folosind o transformare statică într-un vector observat de componente maxim independente măsurate de o funcție de independență .
Componentele vectorului aleatoriu observat sunt generate ca sumă a componentelor independente :
cântărit cu cântar .
Același model generator poate fi scris sub formă vectorială ca , unde vectorul aleator observat este reprezentat de vectorii de bază . Vectorii de bază formează coloanele matricei de amestecare, iar formula generatoare poate fi scrisă ca , unde .
Având în vedere un model și implementarea unui vector aleator , sarcina este de a evalua atât matricea de amestecare, cât și sursele . Acest lucru se realizează prin calcularea adaptivă a vectorilor și stabilirea unei funcții de cost care fie maximizează non-gaussianitatea datelor calculate, fie minimizează informațiile reciproce. În unele cazuri, cunoașterea a priori a distribuției probabilității sursei poate fi utilizată în funcția de cost.
Sursele originale pot fi extrase prin înmulțirea semnalelor observate cu inversul matricei de amestecare , care este cunoscută și sub denumirea de matrice de non-blending. Aici, se presupune că matricea de amestecare este pătrată ( ). Dacă numărul de vectori de bază este mai mare decât dimensiunea vectorilor observați , problema este supradeterminată , dar rămâne rezolvabilă folosind o matrice pseudo -inversă .
ANC liniar cu zgomotCu ipoteza suplimentară a mediei zero și a zgomotului gaussian necorelat , modelul ANC ia forma .
ANC neliniarAmestecul de surse nu trebuie să fie liniar. Folosind o funcție de amestecare neliniară cu parametri, modelul ANC neliniar va fi .
Componentele independente se disting până la permutarea și scalarea surselor. Această distincție necesită:
O variantă specială a ANC este Binary ANC , în care atât sursele de semnal, cât și monitoarele sunt în formă binară, iar observațiile monitorului sunt un amestec disjunctiv de surse binare independente. S-a demonstrat că problema are aplicații în multe domenii, inclusiv diagnosticare medicală , atribuire multi-cluster, imagistica de rețea managementul resurselor de pe Internet.
Fie un set de variabile binare de la monitoare și un set de variabile binare din surse. Relațiile sursă-monitor sunt reprezentate de matricea mixtă (necunoscută) , unde indică faptul că semnalul de la i -a sursă poate fi observat de j -a -lea monitor. Sistemul funcționează astfel: în orice moment, dacă sursa este activă ( ) și este conectată la un monitor ( ), atunci monitorul va observa o anumită activitate ( ). Formal avem:
unde este un boolean AND ( ing. AND ) și este un boolean OR ( ing. OR ). Rețineți că zgomotul nu este modelat în mod explicit, ci este tratat ca surse independente.
Problema descrisă mai sus poate fi rezolvată euristic [4] (presupunând că variabilele sunt continue) prin aplicarea metodei FastICA asupra datelor binare observate pentru a obține o matrice mixtă (valori reale obținute), apoi aplicând tehnica de rotunjire pentru a obține valori binare. Această abordare s-a dovedit a fi foarte inexactă.
O altă metodă este de a folosi programarea dinamică - matricea împarte recursiv observațiile în submatrici și algoritmul de inferență este rulat pe aceste submatrici. Observația cheie care conduce la acest algoritm este submatricea matricei , unde corespunde matricei imparțiale a observațiilor componente ascunse care nu au nicio legătură cu monitorul --lea. Rezultatele experimentale [5] arată că această abordare este precisă la un nivel moderat de zgomot.
Aparatul ANC binar generalizat [6] introduce o descriere mai amplă a problemei care nu necesită nicio cunoaștere a modelului generator. Cu alte cuvinte, această metodă încearcă să descompună sursa în componente independente (pe cât posibil pentru a crea un algoritm fără a pierde nicio informație) fără presupuneri prealabile despre aplicarea metodei prin care a fost obținută. Deși această problemă este destul de dificilă, ea poate fi rezolvată exact folosind metoda ramurilor și legate sau exact mărginită de sus prin înmulțirea unei matrice cu un vector.
Amestecurile de semnale tind să aibă o densitate de probabilitate Gauss, iar semnalele sursă tind să aibă o densitate de probabilitate non-Gauss. Fiecare sursă de semnal poate fi extrasă dintr-un set de amestecuri de semnal prin calcularea produsului scalar al vectorului de greutate și amestecul de semnal pe care acest produs scalar dă o proiecție ortogonală a amestecului de semnal. Următoarea sarcină este găsirea vectorului de greutate. O metodă este de a găsi cea mai bună proiecție [2] [7] .
Căutarea celei mai bune proiecții caută o proiecție pe pas, presupunând că semnalul extras este cât se poate de non-Gauss. Acest lucru este în contrast cu ANC, care extrage de obicei semnale M simultan din amestecuri M de semnale, ceea ce necesită evaluarea matricei care nu se amestecă. Un avantaj practic al găsirii celei mai bune proiecții peste ANC este că mai puțin de semnale M pot fi extrase dacă este necesar, unde fiecare sursă de semnal este extrasă dintr-un amestec de semnale M folosind un vector de ponderi M -element.
Putem folosi factorul de curtoză pentru a extrage un semnal cu mai multe surse prin găsirea vectorilor de greutate corecti folosind cea mai bună căutare de proiecție.
Coeficientul de curtoză al densității de probabilitate a semnalului, pentru o probă finită se calculează ca
unde este media eșantionului a semnalelor extrase. Constanta 3 asigură că semnalele Gaussiene au curtoză zero, semnalele super-Gauss au curtoză pozitivă, iar semnalele sub-Gauss au kurtoză negativă. Numitorul este egal cu varianța și asigură că factorul de curtoză măsurat obține varianța semnalului. Scopul găsirii celei mai bune proiecții este de a maximiza factorul de curtoză și de a face semnalul extras cât mai nenormal posibil.
Folosind curtoza ca măsură a nenormalității, putem testa acum cât de mult se modifică kurtoza unui semnal , extras dintr-un set de M amestecuri , pe măsură ce vectorul de greutate se rotește în jurul originii. Având în vedere că fiecare sursă de semnal este super-gaussiană, ne putem aștepta
Pentru un amestec de semnale din diferite surse, putem folosi Gram-Schmidt Orthogonalization Kurtosis (GNR) pentru a extrage semnalele. Având în vedere un amestec de semnale M într-un spațiu M - dimensional, GNR proiectează aceste puncte de date în spațiul ( M-1 )-dimensional folosind un vector de greutate. Putem garanta independenta semnalelor extrase cu ajutorul OGNR.
Pentru a găsi valoarea corectă, putem folosi metoda de coborâre a gradientului . În primul rând, scăpăm de corelație și transformăm într-un nou amestec care are varianță unitară și . Acest proces poate fi realizat aplicând descompunerea valorii singulare la ,
Scalați fiecare vector și setați . Semnalul evidențiat de vectorul ponderat este egal cu . Dacă vectorul de greutate w are lungimea unitară, adică , atunci factorul de curtoză poate fi rescris ca:
Proces de upgrade pentru :
unde este o constantă mică pentru a se asigura că converge către soluția optimă. După fiecare actualizare, normalizăm atât setul, cât și repetă procesul de actualizare până când acesta converge. De asemenea, putem folosi un alt algoritm pentru a actualiza vectorul de greutate .
O altă abordare este utilizarea negentropiei [8] în locul coeficientului de curtoză. Negentropia este robustă în ceea ce privește kurtoza, deoarece kurtoza este foarte sensibilă la valori aberante. Metoda negentropiei se bazează pe o proprietate importantă a distribuției gaussiene - o variabilă aleatoare normală are cea mai mare entropie dintre toate variabilele aleatoare continue cu aceeași varianță. Acesta este și motivul pentru care dorim să găsim cele mai multe variabile non-Gauss. O demonstrație simplă poate fi găsită în articolul entropie diferențială .
y este o variabilă aleatorie gaussiană a unei matrice covariantă,
Aproximația pentru negentropie este
Dovada poate fi găsită la pagina 131 a cărții Analysis of Independent Components de Aapo Hyvärinen, Juha Karhunen și Erkki Oja [3] . Această aproximare suferă, de asemenea, de aceleași probleme ca și factorul de curtoză (sensibilitate la valori aberante). Au fost dezvoltate și alte abordări [9]
Alegerea și
șiANC este în esență o versiune paralelă multivariată a găsirii celei mai bune proiecții. În timp ce căutarea celei mai bune proiecții extrage o serie de semnale dintr-un amestec de semnale M , ANC extrage semnale M în paralel. Acest lucru duce la o mai mare stabilitate ANC în comparație cu găsirea celei mai bune proiecții [2] .
Cea mai bună metodă de căutare a proiecției folosește ortogonalizarea Gram-Schmidt pentru a asigura independența semnalelor extrase, în timp ce ANC utilizează infomax și estimarea probabilității maxime pentru a asigura independența semnalului extras. Anormalitatea semnalului extras este realizată folosind un model adecvat.
Procesul ANC bazat pe infomax , pe scurt: având în vedere un amestec de semnale și un set de funcții de distribuție independente identice , căutăm o matrice fără amestecare care maximizează entropia comună a semnalelor , unde sunt semnalele eșantionate de . Având în vedere o valoare optimă , semnalele au entropie maximă și, prin urmare, sunt independente, ceea ce asigură că semnalele selectate sunt de asemenea independente. Funcția este reversibilă și este un model de semnal. Rețineți că dacă densitatea de probabilitate a modelului sursei de semnal corespunde densității de probabilitate a semnalului extras , atunci maximizarea entropiei comune maximizează și cantitatea de informații reciproce între și . Din acest motiv, utilizarea entropiei pentru a extrage semnale independente este cunoscută sub numele de infomax .
Luați în considerare entropia unei variabile vectoriale , unde este un set de semnale separate printr-o matrice fără amestecare . Pentru un set finit de valori alese dintr-o distribuție a densității de probabilitate , entropia poate fi estimată ca:
Se poate demonstra că densitatea de probabilitate comună este legată de densitatea de probabilitate comună a semnalelor extrase folosind o formă multivariată:
unde este matricea jacobiană . Avem , și este densitatea de probabilitate luată pentru sursele de semnal , prin urmare,
de aceea,
Știm că atunci când , este o distribuție uniformă și este maximizată. Pentru că
unde este valoarea absolută a determinantului matricei care nu se amestecă . De aceea,
asa de,
întrucât , iar maximizarea nu afectează , putem maximiza funcția
pentru a obține independența semnalului extras.
Dacă există M densități marginale de probabilitate ale modelului, densitățile comune de probabilitate sunt independente și utilizează un model de densitate de probabilitate super-Gauss pentru sursele de semnal , atunci obținem
În concluzie, având în vedere amestecul de semnal observat , setul corespunzător de semnale extrase și modelul sursei de semnal , putem găsi matricea optimă de non-amestecare și putem face semnalele extrase independente și non-Gauss. Similar cu situația cu găsirea celei mai bune proiecții, putem folosi metoda de coborâre a gradientului pentru a găsi soluția optimă pentru matricea care nu se amestecă.
Estimarea cu probabilitate maximă ( MLE ) este un instrument statistic standard pentru găsirea valorilor parametrilor (de exemplu, matricea fără amestecare ) care oferă cea mai bună potrivire a unor date (de exemplu, semnale extrase ) pentru un model dat (de exemplu, comun surse de semnal cu densitate de probabilitate (PT ) [2] .
Modelul de probabilitate maximă include o specificație a densității de probabilitate, care în acest caz este densitatea de probabilitate a semnalelor sursei necunoscute . Atunci când se utilizează probabilitatea maximă , scopul este de a găsi o matrice fără amestecare care să producă semnale extrase cu o densitate de probabilitate comună care este cât mai similară cu densitatea de probabilitate comună a semnalelor sursă necunoscută .
Estimarea probabilității maxime se bazează pe presupunerea că, dacă modelul de densitate a probabilității și modelul parametrilor sunt corecte, atunci ar trebui să se obțină o probabilitate mare pentru ca datele să fie într-adevăr observabile. În schimb, dacă este departe de valorile corecte ale parametrilor, atunci ar trebui să ne așteptăm la o probabilitate scăzută de a observa datele.
În estimarea probabilității maxime , ne referim la probabilitatea datelor observate pentru un set dat de valori ale parametrilor modelului (de exemplu, densitatea probabilității și matricea ) ca probabilitatea valorilor parametrilor modelului date de datele observate.
Definim funcția de probabilitate a matricei :
Aceasta este egală cu densitatea de probabilitate în , deoarece .
Apoi, dacă vrem să găsim , atunci este cel mai probabil să fi generat amestecuri observate din surse de semnal necunoscute cu o densitate de probabilitate , atunci trebuie doar să găsim , ceea ce maximizează probabilitatea . Matricea de neamestecare care maximizează egalitatea este cunoscută ca estimarea de probabilitate maximă de către matricea de dezmembrare optimă.
O practică obișnuită este utilizarea log- probabilității , deoarece este cel mai ușor de calculat. Deoarece logaritmul este o funcție monotonă, matricea care maximizează funcția își maximizează și logaritmul . Acest lucru vă permite să luați logaritmul din ecuația de mai sus, care oferă logaritmul funcției de probabilitate
Dacă înlocuim modelul de densitate cu probabilitate mare de curtoză utilizat pe scară largă cu sursele de semnal , obținem
Matricea care maximizează această funcție este estimatorul de maximă probabilitate .
Un cadru general timpuriu pentru analiza componentelor independente a fost propus de Jenny Herault și Bernard Anse în 1984 [10] , urmat de Christian Jutten în 1985 [11] [12] [13] . Această metodă a fost expusă cel mai clar de Pierre Caumont în 1994 [14] . În 1995, Tony Bell și Terry Sejnowski au propus un algoritm ANC rapid și eficient bazat pe principiul infomax introdus de Ralph în 1987.
Mulți algoritmi care implementează ANC sunt disponibili și sunt descriși în literatura de specialitate. Algoritmul FastICA dezvoltat de Aapo Hyvärinen și Erkki Oja este utilizat pe scară largă, inclusiv în aplicațiile de producție. Folosește factorul de curtoză în funcție de preț. Alte exemple sunt mai mult legate de separarea semnalului oarbă , care se bazează pe o abordare mai generală. De exemplu, se poate omite ipoteza independenței și semnalele separate corelate în perechi și, prin urmare, se pot evita semnalele „dependente” statistic. Sepp Hochreiter și Jürgen Schmidhuber au arătat cum să obțineți un ANC neliniar sau să implementați separarea sursei dacă acestea sunt un produs secundar al regularizării (1999) [15] . Metoda lor nu necesită cunoaștere indiscutabilă și riguroasă a numărului de surse independente.
ANC poate fi extins pentru a analiza semnale non-fizice. De exemplu, ANC a fost folosit pentru a descoperi subiecte de discuție în arhivele de știri.
Unele dintre aplicațiile ANC sunt enumerate mai jos [2] :
Învățare automată și extragerea datelor | |
---|---|
Sarcini | |
Învățarea cu un profesor | |
analiza grupului | |
Reducerea dimensionalității | |
Prognoza structurală | |
Detectarea anomaliilor | |
Modele grafice probabilistice | |
Rețele neuronale | |
Consolidarea învățării |
|
Teorie | |
Reviste și conferințe |
|