Independent Component Analysis ( ICA ) , även kallad Independent Component Analysis ( OLS ) , är en beräkningsmetod inom signalbehandling för att separera en flerdimensionell -signal i additiva delkomponenter. Denna metod tillämpas under antagandet att delkomponenterna är icke-Gaussiska signaler och att de är statistiskt oberoende av varandra. ANC är ett specialfall av blind signalseparation . Ett typiskt exempel på en applikation är uppgiften för ett cocktailparty - när människor på en bullrig fest urskiljer samtalspartnerns röst, trots hög musik och ljudet från människor i rummet: hjärnan kan filtrera ljud och fokusera på ett källa (motpartens röst) i realtid.
Oberoende komponentanalys försöker dekomponera en multipelsignal till oberoende icke-Gaussiska signaler. Till exempel är ett ljud vanligtvis en signal som består av att enstaka t-signaler som kommer från flera källor adderas i varje ögonblick. Frågan är om det är möjligt att separera dessa källor, separera dem från den allmänna signalen. Om antagandet om statistiskt oberoende är korrekt kommer blind separation av de oberoende komponenterna i den blandade signalen att ge mycket goda resultat. Metoden används också för att analysera signaler som inte får blandas.
En enkel tillämpning av ANC är "det bullriga partiproblemet", när samtalspartnerna hör varandra, isolerar samtalspartnerns röst från den allmänna signalen, bestående av bruset från samtidigt pratande personer i rummet och en bullrig gata utanför fönstret. Vanligtvis förenklas uppgiften genom att anta att det inte finns någon tidsfördröjning eller eko. Observera att den filtrerade och fördröjda signalen är en kopia av den beroende komponenten, och då kränks inte antagandet om statistiskt oberoende.
Det är också viktigt att tänka på att om källor presenteras behövs åtminstone observationer (t.ex. mikrofoner, om den observerade signalen är ljud) för att detektera de ursprungliga signalerna. I det här fallet är matrisen kvadratisk ( , där är indatadimensionen för datan och är modellens dimension). Annars får vi och studerar det underbestämda ( ) eller överbestämda ( ) fallet.
ANC-metoden - blandad signalseparation, baserad på två antaganden och tre effekter av blandade signalkällor, vilket ger mycket bra resultat. De två antagandena är:
De tre effekterna av en blandad signalkälla är:
Dessa principer utgör grunden för ANC. Om signalerna vi kunde extrahera från blandningen är oberoende, som de ursprungliga signalerna, och har icke-Gaussiska histogram, eller har låg komplexitet, som källsignalen, måste de vara källsignaler [2] [3] .
ANC hittar oberoende komponenter (kallade faktorer, latenta variabler eller källor) genom att maximera det statistiska oberoendet för de uppskattade komponenterna. Du kan välja ett av många sätt att definiera ett substitut för oberoende, och detta val kommer att avgöra formen på ANC-algoritmen. De två bredaste definitionerna av ANCs oberoende är:
ANC-familjen av algoritmer för minimering av ömsesidig information (MMI) använder mått som Kullback -Leibler-divergens och maximal entropi . ANC-familjen av icke-Gaussiska maximerande algoritmer använder kurtosis och negentropi .
Typiska ANC-algoritmer tenderar att använda följande metoder:
Dekorrelation och dimensionalitetsreduktion kan erhållas genom principiell komponentanalys eller singularvärdesuppdelning . Dekorrelation förser metoden med sådana villkor när alla dimensioner behandlas lika och sätts a priori innan algoritmen körs. Välkända algoritmer för ANC: infomax , FastICA , JADE , kärnoberoende komponentanalys och många andra. I allmänhet kommer ANC inte att kunna bestämma det faktiska antalet signalkällor, den enda korrekta ordningen eller skalan (inklusive tecken) för signalerna.
ANC är viktigt för blindsignalseparering och har många praktiska tillämpningar. Metoden är nära relaterad till sökningen (eller till och med ett specialfall av sökningen) efter faktoriell kodning av data, det vill säga en ny vektorrepresentation av varje datavektor på ett sådant sätt att den kodas unikt av den resulterande kodvektor (förlustfri kodning), medan kodkomponenterna är statistiskt oberoende.
Linjär analys av oberoende komponenter kan delas in i det bullriga fallet och det bullriga fallet, där bullrig ANC är ett frekvent fall av bullrig ANC. Icke-linjär ANC bör betraktas som ett separat fall.
Data representeras av den observerade slumpmässiga vektorn och de dolda komponenterna av den slumpmässiga vektorn . Uppgiften med att konstruera algoritmen är att transformera de observerade data med hjälp av en statisk transformation till en observerad vektor av maximalt oberoende komponenter mätt med någon oberoende funktion .
Komponenterna i den observerade slumpmässiga vektorn genereras som summan av oberoende komponenter , :
vägs av vågar .
Samma genererande modell kan skrivas i vektorform som , där den observerade slumpmässiga vektorn representeras av basvektorerna . Basvektorerna bildar kolumnerna i blandningsmatrisen och den genererande formeln kan skrivas som , där .
Givet en modell och implementering av en slumpmässig vektor är uppgiften att utvärdera både blandningsmatrisen och källorna . Detta görs genom att adaptivt beräkna vektorerna och etablera en kostnadsfunktion som antingen maximerar icke-Gaussianiteten hos den beräknade eller minimerar den ömsesidiga informationen. I vissa fall kan a priori kunskap om källsannolikhetsfördelningen användas i kostnadsfunktionen.
De ursprungliga källorna kan extraheras genom att multiplicera de observerade signalerna med inversen av blandningsmatrisen , som också är känd som den icke-blandande matrisen. Här antas blandningsmatrisen vara kvadratisk ( ). Om antalet basvektorer är större än dimensionen av de observerade vektorerna är problemet överbestämt , men förblir lösbart med hjälp av en pseudoinvers matris .
Linjär ANC med brusMed det ytterligare antagandet om noll medelvärde och okorrelerat Gaussiskt brus , tar ANC-modellen formen .
Icke-linjär ANCBlandningen av källor behöver inte vara linjär. Med hjälp av en icke-linjär blandningsfunktion med parametrar kommer den icke-linjära ANC-modellen att vara .
Oberoende komponenter kan särskiljas upp till permutation och skalning av källor. Denna distinktion kräver att:
En speciell variant av ANC är Binary ANC , där både signalkällor och monitorer är i binär form, och monitorobservationerna är en disjunktiv blandning av binärt oberoende källor. Problemet har visat sig ha tillämpningar inom många områden, inklusive medicinsk diagnostik , multiklustertilldelning, och Internetresurshantering.
Låt vara en uppsättning binära variabler från monitorer och vara en uppsättning binära variabler från källor. Käll-monitorrelationer representeras av den (okända) blandade matrisen , där det indikerar att signalen från den i : te källan kan observeras av den j : te monitorn. Systemet fungerar så här: när som helst, om källan är aktiv ( ) och den är ansluten till en monitor ( ), kommer monitorn att observera viss aktivitet ( ). Formellt har vi:
där är ett booleskt AND ( eng. AND ), och är ett booleskt ELLER ( eng. OR ). Observera att bruset inte är explicit modellerat, utan behandlas som oberoende källor.
Problemet som beskrivs ovan kan lösas heuristiskt [4] (förutsatt att variablerna är kontinuerliga) genom att tillämpa FastICA- metoden på binära observerade data för att erhålla en blandad matris (verkliga värden erhållna), och sedan tillämpa avrundningstekniken för att erhålla binära värden. Detta tillvägagångssätt har visat sig vara mycket felaktigt.
En annan metod är att använda dynamisk programmering - matrisen delar upp observationerna rekursivt i submatriser och slutledningsalgoritmen körs på dessa submatriser. Den viktigaste observationen som leder till denna algoritm är submatrisen av matrisen , där den motsvarar den opartiska matrisen av dolda komponentobservationer som inte har någon koppling till den -th monitorn. Experimentella resultat [5] visar att detta tillvägagångssätt är korrekt vid en måttlig ljudnivå.
Apparaten för den generaliserade binära ANC [6] introducerar en bredare beskrivning av problemet som inte kräver någon kunskap om den genererande modellen. Med andra ord, denna metod försöker bryta ner källan i oberoende komponenter (så mycket som möjligt för att skapa en algoritm utan att förlora någon information) utan föregående antaganden om tillämpningen av metoden genom vilken den erhölls. Även om detta problem är ganska svårt, kan det lösas exakt med hjälp av förgrening och bindningsmetoden eller exakt begränsat ovanifrån genom att multiplicera en matris med en vektor.
Blandningar av signaler tenderar att ha en Gaussisk sannolikhetstäthet, och källsignaler tenderar att ha en icke-Gaussisk sannolikhetstäthet. Varje signalkälla kan extraheras från en uppsättning signalblandningar genom att beräkna skalärprodukten av viktvektorn och signalblandningen på vilken denna skalära produkt ger en ortogonal projektion av signalblandningen. Nästa uppgift är att hitta viktvektorn. En metod är att hitta den bästa projektionen [2] [7] .
Sökningen efter den bästa projektionen söker efter en projektion per steg, förutsatt att den extraherade signalen är så icke-Gaussisk som möjligt. Detta i motsats till ANC, som vanligtvis extraherar M signaler samtidigt från M blandningar av signaler, vilket kräver utvärdering av den icke-blandande matrisen. En praktisk fördel med att hitta den bästa projektionen jämfört med ANC är att mindre än M signaler kan extraheras om så krävs, där varje signalkälla extraheras från en blandning av M signaler med hjälp av en M -elementvektor av vikter.
Vi kan använda kurtosisfaktorn för att extrahera en signal med flera källor genom att hitta rätt viktvektorer med bästa projektionssökning.
Kurtos-koefficienten för signalens sannolikhetstäthet för ett ändligt sampel beräknas som
var är sampelmedelvärdet för de extraherade signalerna. Konstanten 3 säkerställer att Gaussiska signaler har noll kurtos, super-Gaussiska signaler har positiv kurtos och sub-Gaussiska signaler har negativ kurtos. Nämnaren är lika med variansen och säkerställer att den uppmätta kurtosfaktorn erhåller variansen för signalen. Målet med att hitta den bästa projektionen är att maximera kurtosfaktorn och göra den extraherade signalen så onormal som möjligt.
Genom att använda kurtosen som ett mått på icke-normalitet kan vi nu testa hur mycket kurtosen för en signal , extraherad från en uppsättning av M blandningar , ändras när viktvektorn roterar runt ursprunget. Med tanke på att varje signalkälla är supergaussisk, kan vi förvänta oss
För en blandning av signaler från olika källor kan vi använda Gram-Schmidt Orthogonalization Kurtosis (GNR) för att extrahera signalerna. Givet en blandning av M signaler i ett M - dimensionellt utrymme, projicerar GNR dessa datapunkter in i ( M-1 )-dimensionellt utrymme med hjälp av en viktvektor. Vi kan garantera oberoendet för de extraherade signalerna med hjälp av OGNR.
För att hitta rätt värde kan vi använda metoden gradient descent . Först och främst blir vi av med korrelationen och konverterar till en ny blandning som har enhetsvarians och . Denna process kan göras genom att tillämpa singularisvärdesuppdelningen på ,
Skala varje vektor och ställ in . Signalen som markeras av den viktade vektorn är lika med . Om viktvektorn w har enhetslängd, d.v.s. kan kurtosfaktorn skrivas om som:
Uppgraderingsprocessen för :
där är en liten konstant för att säkerställa att konvergerar till den optimala lösningen. Efter varje uppdatering normaliserar vi både uppsättningen och upprepar uppdateringsprocessen tills den konvergerar. Vi kan också använda en annan algoritm för att uppdatera viktvektorn .
Ett annat tillvägagångssätt är att använda negentropi [8] istället för kurtos-koefficienten. Negentropi är robust med avseende på kurtos eftersom kurtosen är mycket känslig för extremvärden. Negentropimetoden bygger på en viktig egenskap hos den Gaussiska fördelningen - en normal stokastisk variabel har den högsta entropin bland alla kontinuerliga stokastiska variabler med samma varians. Detta är också anledningen till att vi vill hitta de mest icke-Gaussiska variablerna. Ett enkelt bevis finns i artikeln differentiell entropi .
y är en gaussisk slumpvariabel av någon kovariant matris,
Uppskattningen för negentropin är
Beviset finns på sidan 131 i boken Analys av oberoende komponenter av Aapo Hyvärinen, Juha Karhunen och Erkki Oja [3] . Denna approximation lider också av samma problem som kurtosfaktorn (känslighet för extremvärden). Andra metoder har också utvecklats [9]
Val och
ochANC är i huvudsak en multivariat parallell version av att hitta den bästa projektionen. Medan sökningen efter den bästa projektionen extraherar en serie signaler från en av en blandning av M signaler, extraherar ANC M signaler parallellt. Detta leder till större ANC-stabilitet jämfört med att hitta den bästa projektionen [2] .
Den bästa projektionssökningsmetoden använder Gram-Schmidt- ortogonalisering för att säkerställa oberoendet av de extraherade signalerna, medan ANC använder infomax- och maximal sannolikhetsuppskattning för att säkerställa oberoendet av den extraherade signalen. Avvikelsen hos den extraherade signalen uppnås med hjälp av en lämplig modell.
ANC-processen baserad på infomax , kort sagt: givet en blandning av signaler och en uppsättning identiska oberoende distributionsfunktioner letar vi efter en icke-blandningsmatris som maximerar den gemensamma entropin av signaler , där är signalerna samplade av . Givet en optimal , har signalerna maximal entropi och är därför oberoende, vilket säkerställer att de valda signalerna också är oberoende. Funktionen är reversibel och är en signalmodell. Observera att om sannolikhetstätheten för signalkällmodellen motsvarar sannolikhetstätheten för den extraherade signalen , maximerar maximering av den gemensamma entropin också mängden ömsesidig information mellan och . Av denna anledning är användningen av entropi för att extrahera oberoende signaler känd som infomax .
Betrakta entropin för en vektorvariabel , där är en uppsättning signaler separerade av en icke-blandande matris . För en ändlig uppsättning värden valda från en sannolikhetstäthetsfördelning kan entropin uppskattas som:
Den gemensamma sannolikhetstätheten kan visas vara relaterad till den gemensamma sannolikhetsdensiteten för de extraherade signalerna med hjälp av en multivariat form:
var är den jakobiska matrisen . Vi har , och är sannolikhetstätheten tagen för signalkällor , därför,
det är därför,
Vi vet att när , är en enhetlig fördelning och är maximerad. Eftersom det
där är det absoluta värdet av determinanten för den icke-blandande matrisen . Det är därför,
så,
eftersom , och maximering inte påverkar , kan vi maximera funktionen
för att få den extraherade signalens oberoende.
Om det finns M marginella sannolikhetstätheter i modellen, de gemensamma sannolikhetstätheterna är oberoende och använder en super-Gaussisk sannolikhetstäthet modell för signalkällor , då får vi
Sammanfattningsvis, med tanke på den observerade signalblandningen , motsvarande uppsättning extraherade signaler och signalkällmodellen , kan vi hitta den optimala icke-blandande matrisen och göra de extraherade signalerna oberoende och icke-Gaussiska. I likhet med situationen med att hitta den bästa projektionen kan vi använda metoden för gradientnedstigning för att hitta den optimala lösningen på den icke-blandande matrisen.
Maximum likelihood estimering ( MLE ) är ett standardstatistiskt verktyg för att hitta parametervärden (till exempel icke-blandande matris ) som ger den bästa passformen av vissa data (till exempel extraherade signaler ) för en given modell (till exempel gemensam signalkällor för sannolikhetstäthet (PT ) [2] .
Maximal likelihood- modellen inkluderar en sannolikhetstäthetsspecifikation, som i detta fall är sannolikhetstätheten för de okända källsignalerna . När man använder maximal sannolikhet är målet att hitta en icke-blandningsmatris som ger extraherade signaler med en gemensam sannolikhetstäthet som är så lik den gemensamma sannolikhetsdensiteten för de okända källsignalerna som möjligt .
Den maximala sannolikhetsuppskattningen är baserad på antagandet att om sannolikhetstäthetsmodellen och parametermodellen är korrekta, bör en hög sannolikhet erhållas för att data verkligen är observerbara. Omvänt, om det är långt ifrån de korrekta värdena för parametrarna, bör man förvänta sig en låg sannolikhet att observera data.
I maximal sannolikhetsuppskattning hänvisar vi till sannolikheten för de observerade data för en given uppsättning modellparametervärden (t.ex. sannolikhetstäthet och matris ) som sannolikheten för modellparametervärdena som ges av de observerade data.
Vi definierar matrissannolikhetsfunktionen :
Detta är lika med sannolikhetstätheten i , eftersom .
Sedan, om vi vill hitta , då är det mest sannolikt att det har genererat observerade blandningar från okända signalkällor med en sannolikhetstäthet , då behöver vi bara hitta , vilket maximerar sannolikheten . Den avblandningsmatris som maximerar jämlikhet är känd som den maximala sannolikhetsuppskattningen av den optimala avblandningsmatrisen.
En vanlig praxis är att använda log- sannolikheten eftersom den är lättast att beräkna. Eftersom logaritmen är en monoton funktion, maximerar matrisen som maximerar funktionen också dess logaritm . Detta låter dig ta logaritmen i ekvationen ovan, vilket ger logaritmen för sannolikhetsfunktionen
Om vi ersätter den allmänt använda modellen med hög kurtosis sannolikhetstäthet för signalkällor får vi
Matrisen som maximerar denna funktion är skattaren för maximal sannolikhet .
En tidig allmän ram för oberoende komponentanalys föreslogs av Jenny Herault och Bernard Anse 1984 [10] , följt av Christian Jutten 1985 [11] [12] [13] . Denna metod förklarades tydligast av Pierre Caumont 1994 [14] . 1995 föreslog Tony Bell och Terry Sejnowski en snabb och effektiv ANC-algoritm baserad på infomax- principen som introducerades av Ralph 1987.
Många algoritmer som implementerar ANC är tillgängliga och beskrivs i relevant litteratur. FastICA-algoritmen som utvecklats av Aapo Hyvärinen och Erkki Oja används flitigt, även i tillverkningsapplikationer. Den använder kurtosisfaktorn som en funktion av priset. Andra exempel är mer relaterade till blindsignalseparation , som bygger på ett mer generellt tillvägagångssätt. Till exempel kan man utelämna antagandet om oberoende och separera parvis korrelerade signaler och därmed undvika statistiskt "beroende" signaler. Sepp Hochreiter och Jürgen Schmidhuber har visat hur man får en icke-linjär ANC eller implementerar källseparation om de är en biprodukt av regularisering (1999) [15] . Deras metod kräver inte obestridlig och rigorös kunskap om antalet oberoende källor.
ANC kan utökas för att analysera icke-fysiska signaler. Till exempel har ANC använts för att upptäcka diskussionsämnen i nyhetsarkiv.
Några av ANC-applikationerna listas nedan [2] :
Maskininlärning och datautvinning | |
---|---|
Uppgifter | |
Att lära sig med en lärare | |
klusteranalys | |
Dimensionalitetsreduktion | |
Strukturell prognos | |
Anomali upptäckt | |
Grafisk probabilistiska modeller | |
Neurala nätverk | |
Förstärkningsinlärning |
|
Teori | |
Tidskrifter och konferenser |
|