Ing. Simone SCARDAPANE Circuiti e Algoritmi per l Elaborazione dei Segnali Anno Accademico 2012/2013
Indice della Lezione 1. Analisi delle Componenti Principali 2. Auto-Associatori 3. Analisi delle Componenti Indipendenti 2
Estrazione delle Features Finora abbiamo visto varie tipologie di reti neurali e di algoritmi di apprendimento. Le performance di un sistema di classificazione e/o filtraggio adattativo dipendono però dalle feature che sono state scelte precedentemente: y M x N Feature extraction Classification In questa lezione vedremo due algoritmi molto noti per questo compito: Principal Component Analysis (PCA) ed Independent Component Analysis. 3
Caratteristiche Desiderate Uno step di feature extraction mappa uno spazio N-dimensionale, detto input space, in uno spazio M-dimensionale, detto output space, con in generale M N. Quali sono tipicamente le caratteristiche richieste a tale algoritmo? 1. Deve preservare quanto più possibile il «contenuto informativo originale» dei nostri dati. 2. L output space deve comporsi di feature il più possibili decorrelate fra loro. 3. Deve cercare di scegliere un M il più piccolo possibile. PCA ed ICA trovano trasformazioni lineari ottime nel senso descritto da questi tre punti sotto diverse assunzioni. 4
PCA La PCA, anche nota come Trasformata di Karuhunen-Loève o Trasformata di Hotteling, cerca una trasformazione y = Wx tale che: 1. La prima direzione dello spazio di output (prima componente principale) abbia la massima varianza possibile (fra tutte le possibili trasformazioni lineari). 2. La seconda componente principale abbia la massima varianza possibile fra tutte le direzioni ortogonali alla prima componente principale. 3. E così via 5
Normalizzazione Consideriamo uno spazio di input x R N, di cui conosciamo Q esempi x Q i i=1. Supponiamo che lo spazio di input sia interamente caratterizzato dalla densità di probabilità p x x, x R N. Per semplicità supponiamo inoltre che E x = 0. In pratica questo si può ottenere calcolando la media empirica x = 1 Q medio ai valori osservati: z = x x Q i=1 x i e sottraendo il valor La matrice di covarianza è data quindi da R xx = E{xx T }. Ai fini pratici può essere approssimata come: R xx = 1 Q T x Q 1 i x i i=1 6
Definizione di PCA Consideriamo la matrice dei dati X = x 1,, x Q T. La prima componente principale deve soddisfare: w 1 = arg max w =1 Var{wT X} Sottraiamo ora la prima componente principale dai nostri dati: X = X w 1 w 1 T X La seconda componente principale deve quindi soddisfare: E così via iterativamente. w 2 = arg max w =1 Var{wT X} 7
Componenti Principali Si dimostra che la trasformazione cercata corrisponde ad una diagonalizzazione della matrice di covarianza. Consideriamo gli N autovalori di R xx : R xx w k = λ k w k, k = 1,2,, N Ordiniamo gli autovalori in ordine decrescente λ 1 λ 2 λ N. Inoltre per le caratteristiche di R xx ogni autovettore è normalizzato, ovvero: w k 2 = 1, k = 1,2,, N Costruiamo la matrice W = w 1,, w N T. Questa è esattamente la matrice che diagonalizza la covarianza: R yy = WR xx W T 8
Formule di Analisi e Sintesi La trasformazione cercata è quindi (formula di analisi): y = W T x Per l ortogonalità diw(formula disintesi): La decomposizione: x = Wy R xx = W T R yy W viene detta eigendecomposition della matrice R xx e può essere calcolata efficientemente. 9
Eigendecomposition Il metodo più semplice per cercare gli autovalori è risolvere il polinomio caratteristico: (R xx λ k I N )w k = 0 Se w k 0, la matrice (R xx λ k I N ) è singolare, ovvero dobbiamo risolvere: det(r xx λ k I N ) = 0 Un altra possibilità è il metodo della potenza. Dato un vettore casuale v, la sequenza: 2 v R xx v R xx v, R xx 2 v, R xx 3 v R xx 3 v R xx Converge quasi sicuramente all autovettore associato all autovalore maggiore (se non è nullo). Questa tecnica è a base di molti metodi più avanzati (algoritmo QR ). 10
Matrice di Correlazione La PCA è fortemente dipendente da un fattore di scala: direzioni con ordini di grandezza diverse possono influire diversamente sulla determinazione delle componenti principali. In questo caso in generale si preferisce lavorare su dati standardizzati. Si calcola quindi la varianza empirica dei dati σ e si normalizzano i dati come: z = x x σ Trovare i componenti principali di z equivale a diagonalizzare la matrice di correlazione dix: R ij = C ij C ii C jj In generale le componenti principali saranno differenti. 11
Riduzione di Dimensionalità La varianza totale delle N componenti principali è data dalla somma degli autovalori di R xx : N i=1 σ i 2 = N i=1 λ i Supponendo di volere mantenere al massimo una frazione p della varianza, si scelgono le sole K principali componenti tali che K λ i = p. La trasformazione y = W K T x esegue quindi una riduzione di dimensionalità da N a K. Incorriamo in un errore dato da: i=1 e = N i=k+1 w i y i 12
Ripasso di Teoria dell Informazione Siano X e Y due variabili casuali (supposte discrete) con associate funzioni di probabilità P X = x = P(x) e P Y = y = P(y). L entropia di X si definisce come: H X = P x log P x x X L entropia cumulativa di X ed Y è data da: H X, Y = x X,y Y P x, y log P x, y L entropia condizionale di X dato Y: H X Y = H X, Y H(Y) 13
Contenuto Informativo Rimane da discutere l effettivo valore a livello informativo della PCA. Supponiamo che x = s + r, dove s è il segnale desiderato e r del rumore. Se assumiamo che s N(μ s, Σ) e r N(μ r, I), dove I è la matrice identità Allora la trasformazione y = Wx massimizza la mutua informazione fra s ed y: I s; y = H s H(s y) Risultati simili valgono anche sotto assunzioni meno stringenti (che portano ad una massimizzazione di upper bounds sulla mutua informazione). 14
Autoencoder La tecnica della PCA è strettamente legata ad una tipologia di rete neurale detta autoencoder: x 1 x 1 x 2 x 2 x N x N x N x N y M 15
Autoencoder /2 Un autoencoder viene allenato a riprodurre in output ciò che riceve in input. Dopo l allenamento, il layer nascosto può essere visto come una trasformazione dell input. Sia N la dimensione dell input e M il numero di nodi nel layer nascosto. Se M < N, l autoencoder esegue una compressione dell informazione contenuta nel segnale in ingresso. Se i neuroni nel layer nascosto sono lineari, ovvero y = Wx, al termine dell allenamento i rispettivi pesi determinano una base alternativa per lo spazio determinato dai primi M componenti principali di X. In generale, le due basi saranno diverse: in particolare, i vettori ottenuti tramite autoencoder non sono vincolati ad essere ortogonali. Nel caso di neuroni non lineari, l autoencoder esegue una versione non lineare e multimodalle della PCA. 16
Independent Component Analysis L utilità della PCA per classificazione risiede nell assunzione che le direzioni di massima varianza nell input siano quelle massimamente informative a livello di output. Questa assunzione in certi contesti potrebbe non risultare corretta o, comunque, non ottimale: ad esempio nel caso di misture di processi altamente non-gaussiani. L Independent Component Analysis (ICA) cerca invece una trasformazione lineare che massimizzi l indipendenza statistica in uscita, ovvero rimuove le dipendenze statistiche di ogni ordine. Le applicazioni delle ICA sono molteplici e includono l analisi e la compressione dei dati, la stima Bayesiana, la localizzazione di sorgenti, la separazione e deconvoluzione cieca (o blind) di sorgenti. 17
PCA vs ICA La PCA cerca una trasformazione tramite matrice diagonale, mentre nella ICA le basi dello spazio possono essere non ortogonali. La ICA elimina dipendenze statistiche di ordine superiore al secondo, diversamente dalla PCA. Le componenti in uscita dalla PCA sono decorrelate fra loro: E y 1 n y 2 n = E y 1 n E y 2 n = 0 Mentre le componenti in uscita dalla ICA rispettano la condizione più forte di indipendenza (coincidente alla decorrelazione solo nel caso di misture di Gaussiane): p y 1 n, y 2 n = p y 1 n p(y 2 n ) La PCA permette una compressione dei dati che non avviene nell ICA. Inoltre, la PCA permette un ordinamento a livello di importanza delle componenti in uscita (dato dai relativi autovalori). 18
Definizione di ICA Consideriamo M sorgenti s[n] ed N segnali ricevuti x[n], legati dalla relazione: x n = As[n] Dove A R N M (con N M) viene detta matrice di mistura. Note T realizzazioni di x[n], si desidera stimare tale matrice insieme alle sorgenti s[n]. Le assunzioni di base sono che le sorgenti: 1. Siano tutte indipendenti. 2. Al massimo una sia Gaussiana. 3. Non ci sia rumore (può essere rilassata in algoritmi più avanzati). 4. La media delle osservazioni sia nulla. La seconda assunzione dipende dal fatto che misture lineari di variabili Gaussiane linearmente indipendenti restano linearmente indipendenti. 19
Ambiguità della ICA Nella definizione della ICA esistono due tipi di ambiguità: 1. Non è possibile recuperare la varianza reale delle sorgenti originarie. Sia Λ una matrice diagonale, abbiamo che: x n = WΛ 1 Λs[n] Da cui deriva anche che il segno delle sorgenti originarie non è recuperabile. 2. Similmente, l ordine delle sorgenti non può essere stabilito. Sia P una matrice di permutazione, abbiamo che: x n = WP 1 Ps[n] Fortunatamente queste limitazioni raramente sono problematiche nelle applicazioni pratiche. 20
Whitening Una tecnica di pre-processamente utile nel caso della ICA è «sbiancare» le osservazioni, ovvero trasformarle linearmente in modo che siano decorrelate ed abbiamo varianza unitaria. Consideriamo nuovamente la eigendecomposition XX T = WDW T. Si dimostra che la trasformazione cercata è data da: Otteniamo quindi: x = WD 1 2W T x x = WD 1 2W T As = As La buona notizia è che ora A è ortogonale. 21
Infomax Infomax è un algoritmo per il calcolo della ICA che si basa sul principio di minimizzazione della mutua informazione: 1. Si inizializza W 0 casualmente. 2. W t+1 = W t + η t I f S S T W t 3. Si ripete il passo (2) fino a convergenza. Dove abbiamo che: t è il generico passo temporale. η t specifica il passo degli aggiornamenti (tipicamente decrescente con t). f(s) è una funzione nonlineare dipendente dalla distribuzione, ad esempio: f Y = tanh Y 22
Grazie per l attenzione. Domande? 23