Appendice A
Appendice A
Appendice A
Appendice A
Analisi ICA
Analisi ICA
Analisi ICA
Analisi ICA
I segnali analizzati durante questo lavoro di tesi sono prettamente biomedici. Generalmente la trattazione di questo tipo di segnali prevede l’uso della tecnica
Indipendent Component Analisys (ICA).
Essa ipotizza che ogni sensore usato misuri un mix di segnali di cui non sono note le sorgenti, né tanto meno il peso che un segnale ha sull’altro. L’estrazione delle sorgenti originali si basa sull’ipotesi che esse siano statisticamente indipendenti; questo problema è dettoBlind Separation Source (BSS)
che consiste nel determinare i segnali originali, ovvero lesorgenti
, dopo che essi sono stati sottoposti ad un mixing.Un esempio in cui risulta d’aiuto la tecnica ICA è quello del
cocktail party
problem
(Fig.1):In questo caso l’obbiettivo è separare le voci dei singoli partecipanti ad una festa in presenza di rumore di fondo, facendo uso delle registrazioni ottenute da diversi microfoni. Tali registrazioni sono un mix istantaneo, ottenuto con un processo non noto, di tutte le voci dei partecipanti alla festa. Il problema che si pone è dato dal fatto che non sono noti né i processi di “mescolamento” né le voci sorgenti.
Usando gli stessi concetti le voci possono essere generalizzate a segnali-sorgente che, in biomedica, possono essere segnali EEG o ECG.
I segnali sorgente saranno indicati come
s
1(t)…s
N(t)
mentre i segnali acquisiti sarannox
1(t)…x
N(t)
. Nel caso di tre sorgenti e tre sensori:(1)
) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( 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 + + = + + = + + =
ovvero in forma compatta:
(2)
∑
= = 3 1 ) ( ) ( j j ij i t a s t x con i=1,2,3In questa equazione sono incognite sia gli
a
ij che glis
i(t)
. Generalizzando questo esempio a quello di N componenti si ottiene che:(3)
{
}
{
}
T N T N s s s x x x ,..., ,..., 1 _ 1 _ = =usando la notazione appena introdotta il sistema (3) diventa:
(4) x_ = As_
in cui A A A A è la
matrice di mescolamento
che indica come le sorgenti sono state mixate.La soluzione del problema richiede il calcolo di una matrice di trasformazione W W W tale che: W
(5) u_ =Wx_
dove il vettore uuuu rappresenta un’approssimazione delle sorgenti originarie. La matrice appena introdotta WWWW è chiamata
matrice di unmixing
ed è una stima dell’inversa della matrice AAAA dato che:(6) u_ =W x_ =WAs_
(7) WA= I quindi: (8) =
( )
−1 A W ottenendo: (9) u_ =s_Nonostante questo il problema non è ancora risolto perché la matrice AAAA non è nota.
Al fine di determinare le sorgenti incognite sono necessarie alcune assunzioni:
• Le sorgenti sono statisticamente indipendenti.
• Le distribuzioni delle sorgenti non possono essere gaussiane.
• Il numero delle sorgenti è uguale al numero d’osservazioni.
L’indipendenza statistica è definita in termini statistici e si basa sul fatto che, date due variabili aleatorie
x
ey
, esse sono statisticamente indipendenti solo se la loro densità di probabilità congiuntap
x,y può esserefattorizzata come prodotto delle rispettive densità
p
x ep
y. Si può affermare che si ha indipendenza statistica tra n variabili aleatorie se:(10)
∏
= = n i i n x x x x p x p n 1 1 ,.., ( ,..., ) ( ) 1 L’indipendenza statistica implica anche la proprietà per cui:(11) E
{
g(x)h(y)} { } { }
=E g(x) E h(y)dove
g
eh
sono due generiche funzioni integrabili edE
è l’aspettazione statistica.Il motivo per cui le sorgenti non possono avere una distribuzione gaussiane, invece, deriva dal fatto che la ricerca dall’indipendenza statistica comporta il calcolo dei momenti con ordine superiore al secondo che descrivano la distribuzione statistica della variabile per cui sono stati calcolati. Tali momenti sono nulli per le variabili gaussiane e impedirebbero quindi qualsiasi separazione.
L’obbligo, infine, di avere un numero di sorgenti pari al numero di sensore è necessario per ottenere una matrice di mescolamento quadrata che semplifica la soluzione del problema.
È bene ricordare che due variabili aleatorie
x
ey
sonoincorrelate
se la loro covarianza è nulla:(12) cov(x,y)=Cxy =E
{
(x−mx)(y−my)}
=0dove
m
xm
y sono i valori medi. La mutua correlazione invece è:(13) rxy =E
{ } { } { }
xy =E x E y =mxmyLa stessa relazione vale anche per i vettori formati da variabili aleatorie incorrelate, ma in questo caso la covarianza e la mutua correlazione sono formate da matrici: (14) ( )( ) 0 _ _ _ _ = − − = T y x xy E x m y m C (15) x y T T xy E xy E x E y m m R _ _ _ _ _ = = =
Un’operazione necessaria prima della ricerca delle componenti indipendenti è lo
sbiancamento
; questa procedura mira a ridurre la complessità di calcolo e il numero di parametri da usare nella ricerca della matrice di mixing.Lo sbiancamento di variabili prevede una decorrelazione seguita da un’operazione di
scaling
. Dato un vettorez
composto da N variabilialeatorie, l’operazione appena citata porta ad una trasformazione lineare _
_
x V
z= . La matrice VVVV è quindi quella di trasformazione lineare ed è ricavata
usando la decomposizione a valori singolari della matrice di covarianza dei dati:
(16)
{ }
T TEDE xx
E =
in cui EEEE è la matrice ortogonale degli autovettori e DDD è la matrice diagonale D degli autovalori. La matrice di sbiancamento risulta essere quindi:
(17) T
E ED
V = −1 2
Si ottiene così una nuova matrice di mescolamento ortogonale: A~= AV Questo procedimento consente di ridurre i gradi di libertà grazie all’uso di una matrice diagonale.
La ricerca delle componenti indipendenti si basa sul
teorema del limite
centrale
che afferma che “la densità di probabilità della somma di variabilialeatorie, indipendenti tra loro ed aventi stessa densità di probabilità, tende ad una distribuzione gaussiana al crescere del numero delle variabili”. Si può quindi dedurre che la somma di due variabili aleatorie ha una distribuzione più gaussiana delle singole distribuzioni. A seguito di questo
si può aggiungere che il risultato ottenuto da un mescolamento simile a quello già citato abbia una distribuzione più gaussiana di quella relativa ai segnali di partenza.
La stima delle componenti indipendenti può quindi avvenire per inversione del modello generativo (4):
(18) s = A−1x
S’introduce
y
che rappresenta una delle componenti indipendenti da determinare in cuib
è un vettore non ancora noto:(19) = =
∑
i i i T x b x b y ma dato che: (4) x_ = As_si può scrivere che:
(20) = =
∑
= = =∑
i i i i T T i i T s q s q s A b x b x b yin cui
q
tiene conto del fatto chey
è combinazione lineare delle sorgenti; si può quindi dire chey
è più gaussiana delle variabili sorgentes
i.Come detto in precedenza
q
non è noto a priori, ma è possibile far variareb
fino ad ottenere un valore tale da massimizzare la non gaussianità dix
bT . Risulta a questo punto importante l’utilizzo di una misura quantitativa
della gaussianità di una variabile in quanto indice della sua indipendenza statistica; di norma per questo scopo viene usato
kurtosis
che per una variabile aleatoriay
: (21){ }
4{ }
2 2 ) ( 3 ) (y E y E y kurt = −La kurtosis è nulla solo per le variabili che possiedono una distribuzione gaussiana; per questo motivo è usata come indicatore della vicinanza della distribuzione sotto analisi alla gaussianità, ma dato che il nostro scopo è massimizzare la non gaussianità si deve cercare di massimizzare in valore assoluto la kurtosis.
Un tipico medito d’impiego della kurtosis è considerarla come una funzione di costo (J(y)) e successivamente applicare un algoritmo di discesa del gradiente e così calcolare un massimo o un minimo. In questo procedimento è sfruttato il fatto che la kurtosis è n operatore pseudo-lineare:
(22) ) ( ) ( ) ( ) ( ) ( 4 2 1 2 1 y kurt y kurt y kurt y kurt y y kurt
α
α
= + = +Tuttavia quest’indice non si è dimostrato molto robusto per la stima dalla gaussianità nei casi reali che sono, di norma, affetti da molte fluttuazioni, per questo motivo si usano anche altri estimatori. A questo scopo viene introdotta l’
entropia
di una variabile come valore associato al grado d’informazione associato alla variabile stessa ed alla lunghezza necessaria affinché essa venga rappresentata adeguatamente. L’entropia è tanto maggiore quanto più la variabile è casuale.In particolare l’
entropia differenziale di Shannon
associata ad una variabile aleatoriay
è:(23) H(y)=−
∫
py(y)log(py(y))dydove py(y) è la densità di probabilità. Si può quindi affermare che le variabili a distribuzione gaussiana hanno un’entropia maggiore, questo permette l’uso d questa grandezza quale misura della non-gaussianità. Al fine di ottenere un’informazione più immediata si introduce la
neg-entropia
che è una versione normalizzata dell’entropia di Shannon:in cui
y
gauss è una variabile gaussiana con la stessa varianza diy
. La neg-entropia risulta non negativa o nulla nel caso di variabili a distribuzione gaussiana. Purtroppo però essa non è di semplice determinazione in quanto è necessario conoscere la densità di probabilità della variabile in questione, quindi si fa uso di stime quali quella che utilizza la kurtosis:(25)
{ }
3 2 2 ) ( 48 1 12 1 ) (y E y kurt y J ≈ +dove
y
è una variabile a varianza unitaria a valor medio nullo. Essa fa però uso della kurtosis che, come già detto, non è di semplice determinazione; questo porta all’uso di generalizzazioni che si basano su funzioni non polinomiali che crescono più lentamente di un’esponenziale di terzo o quarto grado, il che consente una stima più robusta delle fluttuazioni. Si può allora introdurre una nuova formulazione per la neg-entropia:(26)
∑
{
} {
}
= − ≈ p i i i i E G y E G k y J 1 2 ) ) ( ) ( ( ) (ν
dove Gi sono le funzioni polinomiali non quadratiche, υ è una variabile gaussiana a valor medio nullo e varianza unitaria, mentre
k
i sono dellecostanti positive. Da una scelta opportuna delle Gi si può arrivare ad ottenere delle approssimazioni molto buone della neg-entropia.
Un altro approccio per la stima della non-gaussianità è quello basato sulla
muta informazione.
Essa è una misura della dipendenza tra variabili casualied è sempre positiva o al massimo nulla per variabili statisticamente indipendenti.
Se si considerano
m
variabili aleatoriey
1…y
m si può definire mutua informazione tra le variabili in relazione:(27)
∑
= − = m i i m H y H y y y I 1 1,..., ) ( ) ( ) (dove y è il vettore delle
m
variabili aleatorie,H(y
i),
richiamando i concetti legati all’entropia, è la lunghezza della codifica per ley
i se considerate separatamente mentre H(y)è la lunghezza dalla codifica per ley
iconsiderate assieme. A seguito di questo si può aggiungere che si ottiene una riduzione delle codifica considerando le variabili assieme.
Al fine di calcolare le componenti indipendenti si introduce a questo punto un nuova definizione dell’entropia differenziale permette di scrivere la relazione tra l’entropia di x e quella di y :
dove
f
è una trasformazione lineare che lega le variabili casuali x ed y , mentreJf
è la matrice jacobiana della trasformazione lineare.Introducendo una nuova trasformazione invertibile y=Mx e sostituendola
in (28) si ottiene: (29) H(y)=H(x)+logdetM integrando la (29) e la (30) si giunge a: (30)
∑
= − − = m i i m H y H x M y y I 1 1,..., ) ( ) ( ) logdet (A questo punto ricordando che l’entropia e la neg-entropia differiscono solo per il segno e una costante si può riscrivere la (24) come:
(31) = −
∑
i i m t J y y y I( 1,..., ) cos ( )Questa ultima equazione permette tramite la trasformazione lineare invertibile M M M M di minimizzare la mutua informazione il che comporta l’ottenimento delle direzioni lungo cui la neg-entropia è massima.
Un ulteriore algoritmo che permette di massimizzare una funzione costo in modo da ottenere una misura della non-gaussianità è quello
FastICA
. Il suosviluppo inizia dal considerare una sola componente indipendente cercando quindi la non-gaussianità di xbT .
La massimizzazione della neg-entropia di bTx è ottenibile ottimizzando,
come già detto, la quantità E
{
G(bTx)}
:(32) E
{
xg(bTx)}
=β
b =0dove
g
è la derivata delle funzioni non quadratiche usate nella (27). Indicando conF
il membro a sinistra e risolvendo per esempio col metodo di Newton si ottiene:(33) JF(b)=E
{
xxTg'(bTx)}
−β
Idove JF(b)è la matrice jacobiana che deve essere invertita, ma per far ciò
è necessario operare alcune semplificazioni che permettano di lavorare su una mole ragionevole di dati.
Un’approssimazione usata comunemente è:
(34) E