Download - Jérémie Mary Mail : [email protected] Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Transcript
Page 1: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Jérémie Mary

Mail : [email protected]

Page 2: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Independant Component Analysis

Problème :

On observe grâce à plusieurs capteurs des sources qui sont « mélangées ».

Le mélange à lieu par l’intermédiaire d’une matrice inconnue : la matrice de mélange.

nnnn1

n

n

n s

s

s

aa

aa

aa=

x

x

x

.

.

.

....

....

..

.

.

.

2

1

2 21

1 11

2

1

Page 3: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Exemple d’acquisition

Problème :

Deux micros enregistrant une personne parlant dans la rue.

Objectif : isoler la parole des sons parasites.

Page 4: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Signal après Traitement

Utilisation de FastICAhttp://www.cis.hut.fi/projects/ica/fastica/

And taken by light in her arms at long and dear last     I may without failSuffer the first vision that set fire to the stars.Dylan Thomas – Deaths and Entrances

Page 5: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Indépendance

Deux variables aléatoires X et Y sont indépendantes ssi : P(X=x et Y=y) = P(X=x) . P(Y=y)

définition inutilisable directement

Des variables indépendantes sont toujours décorrélées (covariance nulle) attention, l'inverse n'est pas toujours vrai :

E(XY) – E(X) E(Y) = 0

=> Permet une simplification de la recherche des composantes mais peu intéressante en pratique car il existe trop de possibilités de décorréler des variables.

Page 6: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Theorem Central Limit

Soit (Xn) une suite de variables aléatoires indépendantes identiquement distribuées, appartenant à L² (i.e. possédant une variance finie). On pose :

Alors la suite (Yn) converge en loi vers une variable aléatoire de loi N(0,1) (la loi normale centrée réduite). En d'autres termes :

Page 7: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

ICA : Principe

Les sommes de variables aléatoires indépendantes ont tendance à devenir gaussiennes (cf TCL).

L’idée est de rechercher des sources les moins gaussiennes possibles. En effet un mélange étant une combinaison de plusieurs sources supposées indépendantes, le mélange à tendance à être plus proche d’une gaussienne que les sources. Il faut donc un critère pour mesurer la « gaussiannité » d’une variable aléatoire.

Tests d’adéquationKurtosisNegentropieMinimisation de l’information mutuelle

Attention, dans le cas ou les sources sont elles mêmes gaussiennes cette technique est complètement inadaptée (à l’heure actuelle avec l’ICA, ont sait traiter les cas ou une seule des sources est gaussienne)

Page 8: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Kurtosis

Le kurtosis d’une variable aléatoire X est défini par :Kurt(X)=E(X4) - 3E(Y²)2

Si X et Y v.a. indépendantes,Kurt(X+Y) = Kurt(X)+Kurt(Y)

Kurt(α X) = α4 Kurt(X)

Le kutosis d’une variable gaussienne est 0.

Kurt > 0 : supergaussian

Kurt < 0 : subgaussian

Page 9: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Kurtosis en pratique

Le but est de trouver l’inverse de la matrice de mélange pour identifier les sources. On procède source par source.On note x le vecteur des observations (micros)On cherche un vecteur w tel que :s=wTx ait le kurtosis le plus différent de 0 possible

On part d’un vecteur w pris au hasard

On calcule la direction ou le kurtosis croit le plus vite s’il est positif ou décroit le plus vite s’il est négatif. Par des technique de type « gradient », on peut trouver un optimum local. On a alors identifié une source.

On recommence…

Problème l’estimateur du kurtosis sur un échantillon est très sensible aux points aberrants, ce qui en fait une mesure peu robuste de la non-gaussianité

Page 10: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

NegentropieL’entropie (mesure du bordel) d’une variable aléatoire est définie par :

Une variable aléatoire gaussienne à l’entropie la plus grande parmis toutes les variables aléatoires possédant la même variance.

On définit donc la negentropie pour caractériser le caractère non gaussien d’une variable par :

ou ygauss est une variable gaussienne de même covariance que y.

Difficile a estimer (il faut une estimation de la fonction de répartition)

dyyyfYH )log()()(

)()()( yHyHyJ gauss

Page 11: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Estimation de la Negentropie

Classiquement (Jones et Sibson, 1987) : J(y) ≈ 1/12 E(y3)2 + 1/48 kurt(y)2

=> mêmes problèmes que le kurtosis

Existe des estimateurs robustes (Hyvarinen 1998) :J(y) ≈ (E[G(y)] - E[G(υ)] )2

avec υ suivant une N(0,1) et G une fonction bien choisie : G1(y) = y4 on retrouve l’estimateur classique G2(y) = 1/a log ( cosh (a y)) avec 1 < a < 2 G3(y) = - exp(-y²/2)

Page 12: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

PréprocessingCentrage des données (pour simplifier l’écriture des algorithmes), consiste simplement à soustraire aux données leur moyenne aux données (composante par composante).

Whitening (blanchiment), il s’agit d’une transformation linéaire des données acquises x pour obtenir un vecteur de données x’ non corrélées et de variance 1. i.e. E(x’x’T) = IUne technique possible est d’écrire la matrice de covariance E(xxT) et de la diagonaliser. E(xxT) =EDET avec E matrice orthonormale et D diagonale. On prend alors x’=E D-1/2 ET xL’intérêt est que la matrice de mélange dans le nouvel espace est forcément orthogonale (seulement n(n-1)/2 degrés de liberté ).On peut également en profiter pour supprimer les petites valeurs propres, ce qui réduit souvent le bruit dans les données.

Application de filtres… Très important si on a des idées sur ce que l’on cherche. En particulier penser à utiliser des filtres passe bande si on a affaire à des signaux temporels pour les quels on a une idée de la fréquence des sources.

Page 13: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

FastICA pour une seule source

But : trouver s=wTx soit le moins gaussien possible. La mesure utilisée est l’approximation de la negentropie avec une fonction G. On note g la dérivée de G.

Choisir un vecteur w (par exemple au hasard)

Poser w+ = E(x g(wT x) ) – E(g’(wT x)) w

Poser w = w+ / || w+ ||

Convergence ?non

oui

fin

Page 14: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

FastICA pour l’identification de plusieurs sources

Si on se contente de lancer plusieurs fois l’optimisation a partir de positions aléatoires de w, on risque de trouver plusieurs fois la même source. Pour éviter cela, on décorrèle les wi pendant leur recherche.

Approche par déflation ci contre

Existe une méthode symétriquequi ne privilégie pas les premiers vecteurs

Choisir les wi (par exemple au hasard)

Poser wi+ = E(x g(wi

T x) ) – E(g’(wiT x)) wi

Poser wi = wi+ / || wi

+ ||

Convergence ?non

oui

fin

Poser wi+1= wi+1 – Σj=1..p wTi+1wjwj

Normaliser wi

Page 15: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Analyse du cerveau

Données brutes :

Page 16: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Débruitage d’images On découpe l’image en série de petites fenêtres qui seront considérées comme étant les observations. On extrait les composantes indépendantes puis on procède par seuillage (on enlève ainsi les bruits gaussiens) :

Image initiale Image bruitée

Débruitage ICA Débruitage « standard »

Page 17: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Limitations actuelles

Il faut a peu près autant de capteurs que de sources dans les données. Impossible à partir d’un seul capteur.

Ne sert à rien si les données sont constituées de mélanges de gaussiennes. (dans de cas utiliser EM)

Grosses difficultés si le mélange n’est pas linéaire ou que la matrice de mélange est dynamique (évolue au cours du temps)

Page 18: Jérémie Mary Mail : mary@lri.fr Independant Component Analysis Problème : On observe grâce à plusieurs capteurs des sources qui sont « mélangées ». Le.

Main Sources

FastICA home page

Vigário, R., Jousmäki, V., Hämäläinen, M., Hari, R., and Oja, E. (1998). Independent component analysis, for identification of artifacts in magnetoencephalographic recordings. In Advances in Neural Information, Processing Systems, volume 10, pages 229–235.MIT Press.

Aapo Hyvärinen and Erkki Oja, Independent Component Analysis:Algorithms and Applications, Neural Networks, 13(4-5):411-430, 2000

Hyvärinen, A. (1999d). Sparse code shrinkage: Denoising of nongaussian data by maximum likelihood estimation.Neural Computation, 11(7):1739–1768.