3
3
A
A
n
n
a
a
l
l
i
i
s
s
i
i
d
d
e
e
l
l
l
l
e
e
c
c
o
o
m
m
p
p
o
o
n
n
e
e
n
n
t
t
i
i
I
I
n
n
d
d
i
i
p
p
e
e
n
n
d
d
e
e
n
n
t
t
i
i
e
e
B
B
S
S
S
S
3.1 Motivazioni
’analisi delle componenti indipendenti (Indipendent Component Analysis ICA) è nata per risolvere il più generale problema di separazione ed individuazione di sorgenti nascoste (Blind Source Separation BSS). Il problema consiste nel determinare i segnali originali (sorgenti) dopo che questi sono stati sottoposti ad un’operazione di mescolamento (mixing) [1].
L
Un tipico esempio in cui si sente la necessità di utilizzare tali tecniche è il
cocktail party problem :
-In pratica si vogliono separare le singole voci dei singoli partecipanti ad una festa (eventualmente in presenza di rumore di fondo) a partire da diverse registrazioni effettuate tramite microfoni. Tali registrazioni consistono (nella più semplice delle ipotesi) in un mix istantaneo, tramite un processo sconosciuto, (di cui si tiene conto tramite i coefficienti nella figura di pagina precedente) di tutte le voci dei partecipanti alla festa. Il problema cioè consiste nel fatto che non è noto né il modo con cui queste voci vengono combinate per dare i segnali registrati nei singoli microfoni, né tanto meno sono note le singole sorgenti (cioè le voci). E’ da notare che si usa il termine mescolamento istantaneo perché si ipotizza nullo il ritardo temporale eventualmente presente nel mescolamento.
ij
a
I concetti sopra associati a segnali acustici possono essere generalizzati ed estesi a segnali-sorgente di natura del tutto generica e a situazioni in cui si acquisiscono segnali con sistemi multisensore come per esempio l’elettrocardiografia, l’elettroencefalografia e la risonanza magnetica funzionale.
3.2
Modello generativo
Per aiutarci ad inquadrare il problema e servendoci di un maggiore
formalismo si possono indicare con i segnali sorgente e con
i segnali acquisiti dai sensori (le registrazioni dei microfoni nella nostra analogia acustica).
) ( ),..., ( 1 t s t s N ) ( ),..., ( 1 t x t x N
Nel caso di tre sorgenti e tre sensori si può scrivere:
-) ( 3 ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 33 2 32 1 31 3 3 23 2 22 1 21 2 3 13 2 12 1 11 1 t s a t s a t s a t x t s a t s a t s a t x t s a t s a t s a t x + + = + + = + + = (3.1)
ovvero il modello di riferimento risulta
∑
= = 3 1 ) ( ) ( j j ij i t a s t x , i = 1, 2, 3 (3.2)dove sono incogniti sia gli a (che dipendono dal sistema fisico che provoca il mescolamento ) sia gli s .
ij
) (t i
Generalizziamo al caso di N componenti, trascurando l’indicazione temporale e usiamo una notazione matriciale, indicando rispettivamente
con
{
TN x x
x = 1,...,
}
e con s ={
s1,...,sN}
T i vettori colonna delleosservazioni e dei segnali sorgente. Il sistema (3.1) allora si può scrivere come
x = As (3.3)
dove con A si indica la matrice di mescolamento.
Il problema ha una soluzione se si riesce a trovare una matrice di trasformazione W tale per cui
u = Wx (3.4)
siano una approssimazione delle sorgenti originarie s .
-La W è detta matrice di unmixing ed è una stima dell’inversa di A. Infatti con semplici passaggi si vede che:
u = Wx= WAs (3.5)
e trovando la W tale per cui
WA = I (3.6) cioè W = (A) (3.7) −1 otteniamo s u = . (3.8)
Il problema tuttavia è solo apparentemente risolto, poiché la matrice A è incognita.
3.3 Ambiguità espresse dall’ICA
Dato il modello (3.2) si hanno alcune ambiguità di cui è bene tenere conto.
La prima consiste nel fatto che non è possibile determinare le energie delle componenti indipendenti che cerchiamo e questo deriva dal fatto che
-sia s che
A
sono incognite e ogni scalare a moltiplicare una dellecomponenti può essere cancellato dal suo reciproco:
(
i i i i i s a x λ λ∑
⎜⎜⎝⎛ ⎟⎟⎠⎞ =)
. (3.9)Quindi conviene fissare le componenti indipendenti assumendo che abbiano tutte varianza unitaria:
E
{ }
si2 =1. Anche dopo questa assunzionetuttavia resta associata un’ambiguità sul segno, poiché ogni componente può essere moltiplicata per (-1) senza che il modello venga modificato.
La seconda ambiguità riguarda l’ordine con cui vengono determinate le componenti. Infatti il modello resta ancora valido se moltiplichiamo le
componenti indipendenti per una matrice
P
di permutazione epost-moltiplichiamo la matrice
A
perP
: −1s
x =AP−1P . Quindi
AP
è la nuovamatrice di mixing, mentre
1 −
s
P sono le variabili originali ma in ordine diverso.
In genere poi, anche per ridurre la complessità del problema, si preferisce lavorare con variabili a media nulla. Per far questo si effettua un centraggio e cioè si sottrae il valore medio dalle variabili osservate, in modo tale che anche le rispettive componenti indipendenti risultino a media nulla
{ }
' ' E x x x = − (3.10){ }
s E{ }
x E{ }
x E = A−1 =A−1 . (3.11)Una volta stimate le componenti indipendenti è possibile riaggiungere i valori medi per somplice addizione:
-{ }
x E ss'= +A−1 (3.12)
3.4
Assunzioni sul modello
Per raggiungere lo scopo della separazione delle sorgenti si fanno allora alcune ipotesi sul modello [7]:
a) Le sorgenti sono assunte essere statisticamente indipendenti. b) Le sorgenti non possono avere una distribuzione gaussiana. c) Il numero delle sorgenti è uguale al numero delle osservazioni.
L’indipendenza statistica viene definita in termini probabilistici sfruttando il fatto che, date due generiche variabili aleatorie x e y, esse sono considerate indipendenti se e solo se la loro densità di probabilità congiunta ( ) può essere fattorizzata nel prodotto delle rispettive densità marginali ( , ). In altri termini si ha indipendenza statistica tra n variabili aleatorie se vale y x p , y p px ) ( ) ( 1 ,..., 1 ,..., 1
∏
= = n i i n x x x x p x p n . (3.13)L’indipendenza statistica implica anche la seguente proprietà:
}
{
g(x)h(y) E{
g(x)}
E{
h(y)}
E = (3.14)
-dove con g e h si sono indicate due generiche funzioni assolutamente integrabili, mentre E è l’ aspettazione statistica.
La seconda restrizione sul modello da noi investigato abbiamo visto riguardare la non gaussianità. Ciò risulta necessario in quanto la condizione di indipendenza implica la ricerca di momenti (di ordine superiore al secondo) che descrivono la distribuzione statistica di una variabile. Tali momenti risultano essere nulli per variabili di tipo gaussiano e determinano il fallimento di qualsiasi tentativo di separazione.
Infine l’ultima ipotesi sul modello forza la matrice di mescolamento ad essere quadrata, la qual cosa semplifica concettualmente il problema imponendo che ci siano tante componenti indipendenti quante sorgenti reali.
3.5
Incorrelazione
Due variabili aleatorie x e y si dicono incorrelate se la loro covarianza risulta nulla
cov(x,y) = Cxy = E
{
(
x−mx)
(
y−my)
}
=0 (3.15)dove e indicano i rispettivi valori medi. La mutua correlazione tra le due variabili, invece, vale:
x m my
{ } { } { }
x y xy E xy E x E y m m r = = = (3.16) essendo rxy =cxy +mxmy. 39-Per vettori di variabili aleatorie incorrelate (x e y) vale la stessa
relazione, solamente che ora la covarianza e la mutua correlazione sono una matrice
(
)
(
)
{
− −}
=0 = T y x xy E x m y m C (3.17){ }
{ }
{ }
x y T T xy E xy E x E y m m R = = = (3.18)In particolare, due variabili aleatorie indipendenti sono anche incorrelate mentre il contrario non è sempre vero. Non è quindi utile utilizzare unicamente tecniche di decorrelazione delle variabili per stimare le componenti indipendenti.
Una variabile aleatoria a media nulla e covarianza unitaria ( ) è detta bianca o sphered a causa della simmetria assunta dalla distribuzione delle variabili.
I Cx =
3.6 Sbiancamento
L’ operazione di sbiancamento non serve direttamente alla determinazione delle componenti indipendenti, ma è utilizzata per ridurre la complessità di calcolo e diminuire il numero di parametri da stimare nella ricerca della matrice di mixing.
Per sbiancare le variabili si effettua, quindi una decorrelazione seguita da un’ operazione di scaling. Dato un vettore aleatorio z formato da N variabili
aleatorie
{
TN z z
z = 1,...
}
l’operazione sopra citata è rappresentata da unatrasformazione lineare z =Vx. La matrice di trasformazione lineare V viene 40
-ricavata a partire dalla decomposizione a valori singolari della matrice di covarianza dei dati [13]
{ }
T Txx
E =EDE (3.19)
dove
E
è la matrice ortogonale di autovettori (E
={
}
T n ee ,...,1 ) e
D
è lamatrice diagonale dei suoi autovalori
D
=diag(d1,...dn). La matrice di sbiancamento risulta alloraT
E ED
V= −1/2
(3.20)
La nuova matrice di mescolamento è data da A =~ VA ed è ortogonale
come si può evincere dal fatto che
{ }
zzT =AE{ }
ssT AT =AAT =IE ~ ~ ~~ (3.21)
Il guadagno che si ha dopo aver effettuato lo sbiancamento dei dati consiste nel fatto che i gradi di libertà di una matrice ortogonale sono n(n-1)/2 rispetto agli n2 di una matrice generica. Per esempio nello spazio
bidimensionale una trasformazione ortogonale è rappresentata da una rotazione individuata da un solo parametro angolare.
3.7 Dal teorema del limite centrale alla ICA
-Un criterio usato nella ricerca delle componenti indipendenti parte dall’enunciato del teorema del limite centrale, il quale afferma che la densità di probabilità della somma di variabili aleatorie, indipendenti tra di loro e con uguali densità di probabilità, tende verso una distribuzione gaussiana al crescere del numero delle variabili. In poche parole la somma di due variabili aleatorie possiede una distribuzione che è più gaussiana delle singole distribuzioni. Cioè data la somma di k variabili indipendenti ( ),
, poiché il valor medio m e la varianza σ di crescono per
k , se si considera la variabile standardizzata y =
i z
∑
= = k i i k z x 1 k x xk xk ∞ → k k k x x k m x σ − , si scopre che la sua distribuzione tende a una gaussiana a valor medio nullo e varianza unitaria.Tornando quindi al nostro modello generativo dei dati, x=As, si nota
che un tipico mescolamento di componenti indipendenti è più vicino ad una gaussiana di quanto non lo siano i segnali di partenza.
La stima delle variabili indipendenti può essere ottenuta tramite l’inversione del modello generativo, per cui s = A−1x. Quindi anche le
componenti indipendenti sono una combinazione lineare dei segnali osservati x i .
Indicando ora con y = =
∑
i i i T x b x
b una delle componenti indipendenti
(b è un vettore da determinare) , poiché x =As, avremo che y =
∑
= i i i T x b x b = = =∑
i i i T T s q s q s Ab dove q tiene conto del fatto che y è una
combinazione lineare delle sorgenti. Quindi la componente y è più gaussiana delle variabili sorgente si ed è meno gaussiana quando uguaglia
una delle si.
-Noi non conosciamo a priori q ma possiamo variare b (controllando
come varia la distribuzione di qTs =bTx) fino a che non si trova un un
valore che massimizza la non gaussianità di bTx.
3.8 ICA e misura della nongaussianità tramite Kurtosis
Appare dunque chiaro come sia fondamentale, nel tentativo di individuare le sorgenti, avere uno stimatore che ci informi in maniera quantitativa sulla gaussianità di una variabile [3] quale indice della sua indipendenza statistica. Una tale misura quantitativa è data dalla Kurtosis che è un momento del quarto ordine e per una variabile aleatoria y è definita come:
{ }
4(
{ }
2)
2 3 ) (y E y E y kurt = − . (3.22)Per variabili a varianza unitaria kurt(y)=E
{ }
y4 −3 .La kurtosis possiede la caratteristica di essere nulla per variabili a distribuzione gaussiana, mentre è diversa da zero per quasi tutte le altre. Quindi essa può essere utilizzata per quantificare la “distanza” dalla distribuzione gaussiana e visto che il nostro scopo è quello di massimizzare la non gaussianità delle variabili a disposizione, quello che si deve fare è massimizzare in valore assoluto la kurtosis.
In particolare, variabili con kurtosis positiva vengono dette supergaussiane (come quelle che seguono una distribuzione laplaciana),
-mentre quelle con kurtosis negativa sono dette subgaussiane (come ad esempio quelle distribuite uniformemente) (figura 3.1).
Un tipico modo di procedere è quello di considerare la kurtosis come una funzione costo ( J(y) ) e poi applicare uno degli algoritmi di discesa del gradiente per determinare un massimo o un minimo opportuno, sfruttando anche il fatto che la kurtosi è un operatore pseudo-lineare per cui vale:
) ( ) ( ) ( ) ( ) ( 1 4 1 2 1 2 1 y kurt y kurt y kurt y kurt y y kurt α α = + = + Supergaussiana Gaussiana Subgaussiana
Fig. 3.1 Tipiche distribuzioni di variabili Sub-Super-Gaussiane
La kurtosi tuttavia non è molto robusta nello stimare la gaussianità nel caso di dati reali in cui è prevedibile ci siano molte fluttuazioni e per questo si cercano altri stimatori.
3.9 ICA e misura della nongaussianità tramite Neg-Entropia
-Il concetto di entropia riveste un ruolo fondamentale nella teoria dell’informazione, nella quale l’entropia di una variabile è associata al grado di informazione che essa porta e alla lunghezza della codifica necessaria per descriverne l’andamento. Più una variabile è casuale più la sua entropia è elevata, mentre variabili le cui distribuzioni sono racchiuse in pochi valori hanno una piccola entropia e conseguentemente una codifica più corta.
L’entropia differenziale di Shannon associata ad una variabile aleatoria y è definita come
∫
− = p y p y dy y H( ) y( )log( y( )) (3.23)dove py( y) è la densità di probabilità.
Ora si può dimostrare che le variabili a distribuzione gaussiana hanno l’entropia maggiore tra le variabili di uguale varianza. Perciò tale grandezza può essere utilizzata come misura della non-gaussianità. Per rendere più intuitiva tale stima si può introdurre una versione normalizzata dell’entropia di Shannon, detta neg-entropia:
) ( ) ( ) (y H y H y J = gauss − (3.24)
dove è una variabile gaussiana con la stessa varianza di . Questa grandezza fornisce un’informazione immediata sulla non-gaussianità in quanto risulta sempre non negativa o al massimo nulla in presenza di variabili a distribuzione gaussiana. Tuttavia la neg-entropia è di difficile valutazione (in quanto è necessario conoscere la densità di probabilità della
gauss
y y
-variabile) per cui si fa ricorso a delle stime come quella classica che fa uso della kurtosis secondo la relazione
{ }
3 2 2 ) ( 48 1 12 1 ) (y E y kurt y J ≈ + (3.25)dove è a varianza unitaria e a valor medio nullo. y
Risulta evidente come la (3.25) valendosi della kurtosis, che come detto è di altrettanto difficile determinazione, non sia la migliore delle stime possibili per cui si fa più spesso ricorso a generalizzazioni delle cumulanti tramite funzioni non quadratiche. Si usano cioè funzioni non polinomiali che crescono più lentamente di o (per cui la stima risulta più robusta nei confronti delle fluttuazioni) andando a valutare il valore massimo di entropia compatibile con i nostri dati. Questo approccio fornisce un limite superiore per l’entropia e una sua minimizzazione può fornire il vero minimo cercato.
3
y y4
Secondo quanto sopra detto la nuova forma della neg-entropia è:
[ [
{
} {
}
]
2 1 ( ) ( ) (∑
= − ≈ p i i i i E G y E G k y J υ (3.26)dove le sono funzioni polinomiali, non quadratiche, Gi υ è una variabile
gaussiana a valor medio nullo e varianza unitaria, mentre sono costanti positive. Scegliendo accuratamente le si possono raggiungere ottime approssimazioni della neg-entropia. Di seguito vengono riportati due esempi che offrono tale approssimazione:
i
k
i
G
-)) log(cosh( 1 ) ( 1 1 1 a y a y G = ) 2 / exp( ) ( 2 2 y y G =− − (3.27)
con 1≤ a1 ≤2 costante che influenza il passo di convergenza.
3.10 ICA tramite minimizzazione della mutua informazione
Un altro approccio per la stima della non-gaussianità è quello che fa uso della mutua informazione [4].Se consideriamo m variabili aleatorie si definisce mutua
informazione tra le m variabili la relazione
m y y ,...,1
(
)
∑
( )
( )
= − = m i i m H y H y y y I 1 1,..., (3.28)dove y è il vettore formato dalle m variabili aleatorie.
La mutua informazione è una misura della dipendenza tra le variabili causali ed è sempre positiva o al limite nulla se le variabili risultano statisticamente indipendenti. Anche a questo proposito, così come per l’entropia, richiamando concetti propri della teoria dell’informazione si può
affermare che le indicano la lunghezza della codifica per le
quando queste vengono considerate separatamente, mentre
) (yi H yi ) ( y H quando
vengono considerate assieme. La mutua informazione così definita ci dice quindi che un guadagno, in termini di riduzione di codifica, si ottiene considerando assieme le variabili piuttosto che separatamente.
-Questi concetti possono essere usati per la stima delle componenti indipendenti, che resta sempre il nostro scopo primario. Infatti possiamo sfruttare una definizione alternativa dell’ entropia differenziale
{
logdet ( ) ) ( ) (y H x E J x H = + f} (3.29)
dove è una trasformazione lineare che lega i due vettori casuali f x e y
secondo la relazione y=f(x), è la matrice Giacobiana della
trasformazione lineare ed infine la (3.29) rappresenta la relazione tra l’entropia di
f
J
x e y.
Prendendo ora una nuova trasformazione lineare invertibile y=Mx e
usando la (3.29) otteniamo: M det log ) ( ) (y =H x + H (3.30)
che indica come l’entropia differenziale fornisce valori differenti a seconda delle scale usate. Questa è la ragione per cui prima di effettuare una misura di entropia è necessario fissare la scala di x.
Il corrispondente risultato per la mutua informazione si trova sfruttando la (3.28) e la (3.29) ottenendo: . det log ) ( ) ( ) ,..., ( 1 1 =
∑
− − M = m i i m H y H x y y I (3.31)Se le sono incorrelate e hanno varianza unitaria (cioè yi
{ }
yyT =ME{ }
xxT MT =IE ) si ha:
-{ }
(
T T)
(
)
(
{ }
T) ( )
T x x E x x E M M M MI 1 det det det det
det = = = (3.32)
e ciò indica che il det(M)è costante poiché det(xxT) non dipende da M.
Ricordando poi che l’entropia e la neg-entropia differiscono solo per il segno e una costante, come si può vedere dalla (3.24), la mutua informazione può scriversi come:
) ( ) ,..., ( 1 = −
∑
i i m const J y y y I (3.33)dove la costante non dipende da M.
La (3.33) mostra che trovare un’opportuna trasformazione lineare invertibile M, che minimizza la mutua informazione, è equivalente a trovare le direzioni lungo le quali la neg-entropia è massimizzata. Abbiamo visto precedentemente che la neg-entropia rappresenta una misura della non-gaussianità e quindi stimare le componenti indipendenti, minimizzando la mutua informazione, è del tutto equivalente a stimare la massima nongaussianità.
3.11 Algoritmi FastICA
Con questo termine si indicano in generale tutti quegli algoritmi ottimizzati messi in pratica per massimizzare una funzione costo, in modo tale da ottenere una misura della nongaussianità. Alcuni di questi algoritmi particolarmente efficienti sono stati implementati da Hyvärinen e Oja [7] e
-si basano, ad esempio, sulla mas-simizzazione della (3.26) partendo sempre da dati precedentemente centrati e sbiancati.
Supponendo per semplicità di avere una sola componente indipendente, allora si deve ricercare la massimizzazione della nongassianità di bTx, come
visto nel paragrafo 3.7 e poiché i dati sono sbiancati si avrà sempre che
1 =
b . Abbiamo anche visto che la massimizzazione nella negentropia di
x
bT può essere ottenuta ottimizzando la quantità E
{
G(bTx)}
e questaottimizzazione può essere raggiunta [27] nella forma:
{
xg(b x)}
= b =0E T β (3.34)
dove g è la derivara delle funzioni non quadratiche espresse nella (3.27). Indicando la quantità a sinistra della (3.34) con F e risolvendo, ad esempio col metodo di Newton, si ottiene:
{
xx g b x}
I Eb
JF( )= T '( T ) −β (3.35)
dove JF(b) è la matrice giaccobiana che deve essere invertita. Per fare ciò
sono necessarie alcune semplificazioni che ci permettano di operare con una mole di dati ragionevole. Una buona approssimazione sembra essere
{
xx g b x} { } {
E xx E g b x} {
E g b x}
IE T '( T ) ≈ T '( T ) = '( T ) cosi che la matrice
giaccobiana diventa diagonale e facilmente invertibile. Alla fine, quindi, la regola iterativa di Newton che si ottiene risulta:
{
}
[
−β]
[
{
}
−β]
− = + ) ( ' / ) (b x b E g b x g x E b b T T (3.36) 50-Questo algoritmo può ulteriormente essere semplificato moltiplicando ambo i membri della (3.36) per β −E
{
g'(bTx)}
ottenendo un algoritmoFastICA.