Independent Component Analysis ( ICA ) , også kaldet Independent Component Analysis ( OLS ) , er en beregningsmetode i signalbehandling til at adskille et multidimensionelt signal i additive underkomponenter. Denne metode anvendes under den antagelse, at underkomponenterne er ikke-Gaussiske signaler, og at de er statistisk uafhængige af hinanden. ANC er et særligt tilfælde af blind signaladskillelse . Et typisk eksempel på en applikation er opgaven med et cocktailparty - når folk til en larmende fest skelner samtalepartnerens stemme på trods af høj musik og støj fra mennesker i rummet: hjernen er i stand til at filtrere lyde og fokusere på en kilde (modpartens stemme) i realtid.
Uafhængig komponentanalyse forsøger at dekomponere et multipelt signal til uafhængige ikke-Gaussiske signaler. For eksempel er en lyd normalt et signal, der består af tilføjelse i hvert øjeblik af enkelte t-signaler, der kommer fra flere kilder. Spørgsmålet er, om det er muligt at adskille disse kilder og adskille dem fra det generelle signal. Hvis antagelsen om statistisk uafhængighed er korrekt, vil blind adskillelse af de uafhængige komponenter i det blandede signal give meget gode resultater. Metoden bruges også til at analysere signaler, der ikke må blandes.
En simpel anvendelse af ANC er det "støjende parti problem", når samtalepartnerne hører hinanden, isolerer samtalepartnerens stemme fra det generelle signal, bestående af støjen fra samtidig talende mennesker i lokalet og en larmende gade uden for vinduet. Normalt forenkles opgaven ved at antage, at der ikke er nogen tidsforsinkelse eller ekko. Bemærk, at det filtrerede og forsinkede signal er en kopi af den afhængige komponent, og så er antagelsen om statistisk uafhængighed ikke overtrådt.
Det er også vigtigt at overveje, at hvis kilder præsenteres, er der i det mindste behov for observationer (f.eks. mikrofoner, hvis det observerede signal er lyd) for at detektere de originale signaler. I dette tilfælde er matrixen kvadratisk ( , hvor er inputdimensionen for dataene og er modellens dimension). Ellers opnår og studerer vi det underbestemte ( ) eller overbestemte ( ) tilfælde.
ANC metoden - blandet signalseparation, baseret på to antagelser og tre effekter af blandede signalkilder, hvilket giver rigtig gode resultater. De to antagelser er:
De tre effekter af en blandet signalkilde er:
Disse principper danner det grundlæggende grundlag for ANC. Hvis de signaler, vi var i stand til at udvinde fra blandingen, er uafhængige, ligesom de originale signaler, og har ikke-Gaussiske histogrammer, eller har lav kompleksitet, som kildesignalet, skal de være kildesignaler [2] [3] .
ANC finder uafhængige komponenter (kaldet faktorer, latente variabler eller kilder) ved at maksimere den statistiske uafhængighed af de estimerede komponenter. Du kan vælge en af mange måder at definere en erstatning for uafhængighed, og dette valg vil bestemme formen på ANC-algoritmen. De to bredeste definitioner af ANC-uafhængighed er:
ANC-familien af algoritmer til minimering af gensidig information (MMI) bruger mål som Kullback -Leibler divergens og maksimal entropi . ANC-familien af ikke-Gaussiske maksimerende algoritmer bruger kurtosis og negentropi .
Typiske ANC-algoritmer har en tendens til at bruge følgende metoder:
Dekorrelation og dimensionalitetsreduktion kan opnås ved principiel komponentanalyse eller enkeltværdinedbrydning . Dekorrelation giver metoden sådanne betingelser, når alle dimensioner behandles ens og er indstillet a priori , før algoritmen køres. Velkendte algoritmer til ANC: infomax , FastICA , JADE , kernel uafhængig komponentanalyse og mange andre. Generelt vil ANC ikke være i stand til at bestemme det faktiske antal signalkilder, den eneste korrekte rækkefølge eller skala (inklusive tegn) af signalerne.
ANC er vigtigt for blind signaladskillelse og har mange praktiske anvendelser. Metoden er nært beslægtet med søgningen (eller endda et særligt tilfælde af søgningen) efter faktoriel kodning af data, det vil sige en ny vektorrepræsentation af hver datavektor på en sådan måde, at den er entydigt kodet af den resulterende kodevektor (tabsfri kodning), mens kodekomponenterne er statistisk uafhængige.
Lineær analyse af uafhængige komponenter kan opdeles i det støjende tilfælde og det støjende tilfælde, hvor støjende ANC er et hyppigt tilfælde af støjende ANC. Ikke-lineær ANC bør betragtes som en separat sag.
Dataene er repræsenteret af den observerede tilfældige vektor og de skjulte komponenter af den tilfældige vektor . Opgaven med at konstruere algoritmen er at transformere de observerede data ved hjælp af en statisk transformation til en observeret vektor af maksimalt uafhængige komponenter målt ved en eller anden uafhængighedsfunktion .
Komponenterne i den observerede tilfældige vektor genereres som summen af uafhængige komponenter , :
vejes af vægte .
Den samme genererende model kan skrives i vektorform som , hvor den observerede tilfældige vektor er repræsenteret af basisvektorerne . Basisvektorerne danner kolonnerne i blandingsmatrixen, og den genererende formel kan skrives som , hvor .
Givet en model og implementering af en tilfældig vektor , er opgaven at evaluere både blandingsmatrixen og kilderne . Dette gøres ved adaptivt at beregne vektorerne og etablere en omkostningsfunktion, der enten maksimerer ikke-Gaussianiteten af den beregnede eller minimerer den gensidige information. I nogle tilfælde kan a priori viden om kildens sandsynlighedsfordeling anvendes i omkostningsfunktionen.
De originale kilder kan udvindes ved at multiplicere de observerede signaler med det omvendte af blandingsmatrixen , som også er kendt som den ikke-blandende matrix. Her antages blandingsmatrixen at være kvadratisk ( ). Hvis antallet af basisvektorer er større end dimensionen af de observerede vektorer , er problemet overbestemt , men forbliver løseligt ved hjælp af en pseudoinvers matrix .
Lineær ANC med støjMed den yderligere antagelse af nul middelværdi og ukorreleret Gaussisk støj , antager ANC-modellen formen .
Ikke-lineær ANCBlandingen af kilder behøver ikke være lineær. Ved at bruge en ikke-lineær blandingsfunktion med parametre vil den ikke-lineære ANC-model være .
Uafhængige komponenter kan skelnes op til permutation og skalering af kilder. Denne sondring kræver, at:
En særlig variant af ANC er Binær ANC , hvor både signalkilder og monitorer er i binær form, og monitorobservationerne er en disjunktiv blanding af binære uafhængige kilder. Problemet har vist sig at have applikationer på mange områder, herunder medicinsk diagnostik , multi-cluster-tildeling, og internetressourcestyring.
Lad være et sæt binære variabler fra monitorer og være et sæt binære variabler fra kilder. Kilde-monitor-relationer er repræsenteret af den (ukendte) blandede matrix , hvor det angiver, at signalet fra den i -te kilde kan observeres af den j -te monitor. Systemet fungerer således: til enhver tid, hvis kilden er aktiv ( ) og den er forbundet til en monitor ( ), vil monitoren observere noget aktivitet ( ). Formelt har vi:
hvor er en boolsk AND ( eng. AND ), og er en boolsk OR ( eng. OR ). Bemærk, at støjen ikke er modelleret eksplicit, men behandles som uafhængige kilder.
Problemet beskrevet ovenfor kan løses heuristisk [4] (forudsat at variablerne er kontinuerte) ved at anvende FastICA- metoden på binære observerede data for at opnå en blandet matrix (reelle værdier opnået), og derefter anvende afrundingsteknikken for at opnå binære værdier. Denne tilgang har vist sig at være meget unøjagtig.
En anden metode er at bruge dynamisk programmering - matrixen opdeler rekursivt observationerne i submatricer og inferensalgoritmen køres på disse submatricer. Nøgleobservationen, der fører til denne algoritme, er submatrixen af matrixen , hvor den svarer til den upartiske matrix af skjulte komponentobservationer, der ikke har nogen forbindelse med den -th monitor. Eksperimentelle resultater [5] viser, at denne tilgang er nøjagtig ved et moderat støjniveau.
Apparatet til den generaliserede binære ANC [6] introducerer en bredere beskrivelse af problemet, der ikke kræver nogen viden om den genererende model. Med andre ord forsøger denne metode at dekomponere kilden i uafhængige komponenter (så meget som muligt for at skabe en algoritme uden at miste nogen information) uden forudgående antagelser om anvendelsen af den metode, hvorved den blev opnået. Selvom dette problem er ret vanskeligt, kan det løses nøjagtigt ved hjælp af branch and bound-metoden eller nøjagtigt afgrænset ovenfra ved at gange en matrix med en vektor.
Blandinger af signaler har en tendens til at have en Gaussisk sandsynlighedstæthed, og kildesignaler har en tendens til at have en ikke-Gaussisk sandsynlighedstæthed. Hver signalkilde kan udvindes fra et sæt signalblandinger ved at beregne skalarproduktet af vægtvektoren og signalblandingen, hvorpå dette skalarprodukt giver en ortogonal projektion af signalblandingen. Næste opgave er at finde vægtvektoren. En metode er at finde den bedste projektion [2] [7] .
Søgningen efter den bedste projektion søger efter én projektion pr. trin, idet det antages, at det udtrukne signal er så ikke-Gaussisk som muligt. Dette er i modsætning til ANC, som typisk udtrækker M signaler samtidigt fra M blandinger af signaler, hvilket kræver evaluering af den ikke-blande matrix. En praktisk fordel ved at finde den bedste projektion i forhold til ANC er, at mindre end M signaler kan udtrækkes, hvis det kræves, hvor hver signalkilde ekstraheres fra en blanding af M signaler ved hjælp af en M -element vektor af vægte.
Vi kan bruge kurtosisfaktoren til at udtrække et multikildesignal ved at finde de korrekte vægtvektorer ved hjælp af den bedste projektionssøgning.
Kurtosekoefficienten for signalets sandsynlighedstæthed for en endelig prøve beregnes som
hvor er prøvegennemsnittet af de ekstraherede signaler. Konstanten 3 sikrer, at Gaussiske signaler har nul kurtose, super-Gaussiske signaler har positiv kurtose, og sub-Gaussiske signaler har negativ kurtose. Nævneren er lig med variansen og sikrer, at den målte kurtosisfaktor opnår variansen af signalet. Målet med at finde den bedste projektion er at maksimere kurtosisfaktoren og gøre det ekstraherede signal så unormalt som muligt.
Ved at bruge kurtosis som et mål for ikke-normalitet, kan vi nu teste, hvor meget kurtosis af et signal , ekstraheret fra et sæt af M blandinger , ændres, når vægtvektoren roterer omkring oprindelsen. I betragtning af, at hver signalkilde er super-gaussisk, kan vi forvente
For en blanding af signaler fra forskellige kilder kan vi bruge Gram-Schmidt Orthogonalization Kurtosis (GNR) til at udtrække signalerne. Givet en blanding af M signaler i et M -dimensionelt rum, projicerer GNR disse datapunkter ind i ( M-1 )-dimensionelt rum ved hjælp af en vægtvektor. Vi kan garantere uafhængigheden af de udtrukne signaler ved hjælp af OGNR.
For at finde den korrekte værdi kan vi bruge gradient descent- metoden . Først og fremmest slipper vi for korrelationen og konverterer til en ny blanding , der har enhedsvarians og . Denne proces kan udføres ved at anvende singulære værdinedbrydning på ,
Skaler hver vektor og sæt . Signalet fremhævet af den vægtede vektor er lig med . Hvis vægtvektoren w har enhedslængde, dvs. , så kan kurtosisfaktoren omskrives som:
Opgraderingsproces for :
hvor er en lille konstant for at sikre, at konvergerer til den optimale løsning. Efter hver opdatering normaliserer vi både sættet og gentager opdateringsprocessen, indtil den konvergerer. Vi kan også bruge en anden algoritme til at opdatere vægtvektoren .
En anden tilgang er at bruge negentropi [8] i stedet for kurtosis-koefficienten. Negentropi er robust med hensyn til kurtosis, fordi kurtosis er meget følsom over for outliers. Negentropimetoden er baseret på en vigtig egenskab ved den gaussiske fordeling - en normal stokastisk variabel har den højeste entropi blandt alle kontinuerte stokastiske variable med samme varians. Dette er også grunden til, at vi ønsker at finde de mest ikke-Gaussiske variable. Et simpelt bevis kan findes i artiklen differentialentropi .
y er en Gaussisk stokastisk variabel af en eller anden kovariant matrix,
Tilnærmelsen for negentropien er
Beviset kan findes på side 131 i bogen Analysis of Independent Components af Aapo Hyvärinen, Juha Karhunen og Erkki Oja [3] . Denne tilnærmelse lider også af de samme problemer som kurtosisfaktoren (følsomhed over for outliers). Andre tilgange er også blevet udviklet [9]
Valg og
ogANC er i det væsentlige en multivariat parallel version af at finde den bedste projektion. Mens søgningen efter den bedste projektion udtrækker en række signaler fra et af en blanding af M signaler, udtrækker ANC M signaler parallelt. Dette fører til større ANC-stabilitet sammenlignet med at finde den bedste fremskrivning [2] .
Den bedste projektionssøgningsmetode bruger Gram-Schmidt- ortogonalisering til at sikre uafhængigheden af de udtrukne signaler, mens ANC bruger infomax- og maksimal sandsynligheds-estimering for at sikre uafhængigheden af det ekstraherede signal. Abnormiteten af det ekstraherede signal opnås ved hjælp af en passende model.
ANC-processen baseret på infomax , kort sagt: givet en blanding af signaler og et sæt identiske uafhængige distributionsfunktioner søger vi en ikke-blande matrix , der maksimerer den fælles entropi af signaler , hvor er signalerne samplet af . Givet en optimal , har signalerne maksimal entropi og er derfor uafhængige, hvilket sikrer, at de valgte signaler også er uafhængige. Funktionen er reversibel og er en signalmodel. Bemærk, at hvis sandsynlighedstætheden af signalkildemodellen svarer til sandsynlighedstætheden for det udtrukne signal , maksimerer en maksimering af den fælles entropi også mængden af gensidig information mellem og . Af denne grund er brugen af entropi til at udtrække uafhængige signaler kendt som infomax .
Overvej entropien af en vektorvariabel , hvor er et sæt signaler adskilt af en ikke-blandende matrix . For et endeligt sæt værdier valgt fra en sandsynlighedstæthedsfordeling kan entropien estimeres som:
Den fælles sandsynlighedstæthed kan påvises at være relateret til den fælles sandsynlighedstæthed af de ekstraherede signaler ved hjælp af en multivariat form:
hvor er den jakobiske matrix . Vi har , og er sandsynlighedsdensiteten taget for signalkilder , derfor,
derfor,
Vi ved, at når , er en ensartet fordeling og er maksimeret. Fordi
hvor er den absolutte værdi af determinanten for den ikke-blandende matrix . Derfor,
så,
da , og maksimering ikke påvirker , kan vi maksimere funktionen
for at få uafhængigheden af det udtrukne signal.
Hvis der er M marginale sandsynlighedstætheder af modellen, er de fælles sandsynlighedstætheder uafhængige og bruger en super-gaussisk sandsynlighedstæthedsmodel for signalkilder , så får vi
I sum kan vi, givet den observerede signalblanding , det tilsvarende sæt af udtrukne signaler og signalkildemodellen , finde den optimale ikke-blande matrix og gøre de ekstraherede signaler uafhængige og ikke-Gaussiske. I lighed med situationen med at finde den bedste projektion, kan vi bruge gradient descent-metoden til at finde den optimale løsning til den ikke-blande matrix.
Maximum likelihood estimering ( MLE ) er et standard statistisk værktøj til at finde parameterværdier (for eksempel ikke-blandende matrix ), der giver den bedste tilpasning af nogle data (for eksempel ekstraherede signaler ) for en given model (for eksempel fælles sandsynlighedstæthed (PT) signalkilder) [2] .
Maximum likelihood - modellen inkluderer en sandsynlighedstæthedsspecifikation, som i dette tilfælde er sandsynlighedstætheden af de ukendte kildesignaler . Når man bruger maksimum sandsynlighed , er målet at finde en ikke-blandende matrix, der giver udtrukne signaler med en fælles sandsynlighedstæthed, der er så lig som muligt med den fælles sandsynlighedstæthed for de ukendte kildesignaler .
Det maksimale sandsynlighedsestimat er baseret på den antagelse, at hvis sandsynlighedstæthedsmodellen og parametermodellen er korrekte, så skal der opnås en høj sandsynlighed for , at dataene faktisk er observerbare. Omvendt, hvis det er langt fra de korrekte værdier af parametrene, skal man forvente en lav sandsynlighed for at observere data.
I estimering af maksimal sandsynlighed henviser vi til sandsynligheden for de observerede data for et givet sæt af modelparameterværdier (f.eks. sandsynlighedstæthed og matrix ) som sandsynligheden for modelparameterværdierne givet af de observerede data.
Vi definerer matrixsandsynlighedsfunktionen :
Dette er lig med sandsynlighedstætheden i , fordi .
Så, hvis vi vil finde , så er det mest sandsynligt at have genereret observerede blandinger fra ukendte signalkilder med en sandsynlighedstæthed , så mangler vi kun at finde , hvilket maksimerer sandsynligheden . Den unmixing matrix, der maksimerer lighed, er kendt som det maksimale sandsynlighedsestimat af den optimale unmixing matrix.
En almindelig praksis er at bruge log- sandsynligheden , da den er den nemmeste at beregne. Da logaritmen er en monoton funktion, maksimerer den matrix , der maksimerer funktionen , også dens logaritme . Dette giver dig mulighed for at tage logaritmen i ligningen ovenfor, som giver logaritmen for sandsynlighedsfunktionen
Hvis vi erstatter den meget anvendte højkurtosis sandsynlighedstæthedsmodel med signalkilder , får vi
Matrixen , der maksimerer denne funktion, er den maksimale sandsynlighedsestimator .
En tidlig generel ramme for uafhængig komponentanalyse blev foreslået af Jenny Herault og Bernard Anse i 1984 [10] , efterfulgt af Christian Jutten i 1985 [11] [12] [13] . Denne metode blev tydeligst forklaret af Pierre Caumont i 1994 [14] . I 1995 foreslog Tony Bell og Terry Sejnowski en hurtig og effektiv ANC-algoritme baseret på infomax- princippet introduceret af Ralph i 1987.
Mange algoritmer, der implementerer ANC, er tilgængelige og er beskrevet i den relevante litteratur. FastICA-algoritmen udviklet af Aapo Hyvärinen og Erkki Oja er meget udbredt, herunder i fremstillingsapplikationer. Den bruger kurtosisfaktoren som en funktion af prisen. Andre eksempler er mere relateret til blind signaladskillelse , som er baseret på en mere generel tilgang. For eksempel kan man udelade antagelsen om uafhængighed og adskille parvis korrelerede signaler og dermed undgå statistisk "afhængige" signaler. Sepp Hochreiter og Jürgen Schmidhuber har vist, hvordan man opnår en ikke-lineær ANC eller implementerer kildeadskillelse, hvis de er et biprodukt af regularisering (1999) [15] . Deres metode kræver ikke indiskutabel og streng viden om antallet af uafhængige kilder.
ANC kan udvides til at analysere ikke-fysiske signaler. For eksempel er ANC blevet brugt til at opdage diskussionsemner i nyhedsarkiver.
Nogle af ANC-applikationerne er anført nedenfor [2] :
Machine learning og data mining | |
---|---|
Opgaver | |
At lære med en lærer | |
klyngeanalyse | |
Dimensionalitetsreduktion | |
Strukturel prognose | |
Anomali detektion | |
Grafer sandsynlighedsmodeller | |
Neurale netværk | |
Forstærkende læring |
|
Teori | |
Tidsskrifter og konferencer |
|