Analyse en Composantes Principales

Transcription

Analyse en Composantes Principales
Analyse en Composantes Principales
(ACP)
Principal Component Analysis (PCA)
Nicolas Stoiber
Dynamixyz
Contexte : traitement du signal
• Problématique: comment, dans ce contexte,
représenter des entités, des objets.
• Objectif: réaliser des opérations de haut-niveau, i.e
traiter, comparer, retrouver, classifier ces objets
• Dans le cadre de ce cours: les signaux sont des
images.
Nicolas Stoiber @ Dynamixyz
2
Contexte : traitement d’images
• Quid de la représentation d’entités/d’objets :
« Paramétrisation » du problème
Intensité (luminance) des pixels
composant l’objet
Coefficients RGB des pixels
composant l’objet
Nicolas Stoiber @ Dynamixyz
3
Formalisation mathématique
• Paramétrisation canonique :
Intensité (luminance) des pixels
composant l’objet
Vecteur dans un espace vectoriel
de dimension MxN
v 
M
N
Nicolas Stoiber @ Dynamixyz
N M
4
Formalisation mathématique
• Formalisation mathématique canonique :
– Trop de dimensions
• « Fléau de la dimension » (http://en.wikipedia.org/wiki/Curse_of_dimensionality)
• Occupation mémoire, stockage
• Temps de calcul
– Redondance des variables
• Dilution de l’information
– Paramétrisation pas forcément adaptée à la tâche
• Ne fait pas ressortir d’information pertinente, de haut-niveau
Nicolas Stoiber @ Dynamixyz
5
Formalisation mathématique
• Solution -> Transformation
– Changement d’espace de représentation d’entités image.


y  T (x )
Exemples
• Changement de repère
•
•
•

 
y  R.x  t


y  L.x
Transformations linéaires


Transformations non-linéaires y  T (x )

Transformations non-analytiques
y  ...
Nicolas Stoiber @ Dynamixyz
6
Transformations
• Exemple : Transformée de Hough :
Nicolas Stoiber @ Dynamixyz
7
Transformations
• Exemple : Transformée de Hough :
– Information de haut-niveau (angle, rayon)
– Adaptée au problème (détection de lignes dans une image)
Nicolas Stoiber @ Dynamixyz
8
Transformations
• Transformations explicites :
– La transformation est une procédure/formule définie
explicitement, indépendamment des données particulières
du problème.
Exemple: Transformée de Hough
Nicolas Stoiber @ Dynamixyz
9
Transformations
• Transformations explicites :
– Exemple : Transformée de Fourier
y1
y2
yk

y

x
Nicolas Stoiber @ Dynamixyz
10
Transformations
• Transformations explicites :
– Exemple : Transformée de Fourier
Nicolas Stoiber @ Dynamixyz
11
Transformations
• Transformations explicites :
– Exemple : Transformée en ondelettes : Gabor
Nicolas Stoiber @ Dynamixyz
12
Transformations
• Transformations explicites :
– Exemple : Transformée en ondelettes : Haar
Nicolas Stoiber @ Dynamixyz
13
Transformations
• Transformations explicites :
– Exemple non analytique: Histogramme
Nicolas Stoiber @ Dynamixyz
14
Transformations
• Chaque transformation fait ressortir certaines
caractéristiques du signal
– Fourier fait ressortir des fréquence spatiale
– Hough fait ressortir la présence de points alignés
–…
• C’est suffisant pour des entités simples (ex: lignes),
pour lesquelles on détermine facilement les
caractéristiques importantes.
Nicolas Stoiber @ Dynamixyz
15
Transformations
• Quid d’objets plus complexes ?
– Cas pratiques: on ne sait pas dire trivialement quelles
composantes du signal sont pertinentes
?
Nicolas Stoiber @ Dynamixyz
16
Transformations
• Quid d’objets plus complexes ?
– Cas pratiques: on ne sait pas dire trivialement quelles
composantes du signal sont pertinentes
– On peut par contre en fournir des exemples !
Nicolas Stoiber @ Dynamixyz
17
Transformations
• Transformations implicites :
– Objectif : Calculer une transformation de passage dans un
espace de représentation pertinent pour le problème
– Méthode: Déterminer automatiquement cette
transformation à partir d’exemples du problème (les
« données »).
Nicolas Stoiber @ Dynamixyz
18
Analyse en composantes principales
• C’est une transformation implicite
• Elle poursuit les objectifs suivants:
– Transformation linéaire
– Suppression des corrélations entre variables
– Concentration de l’information sur un nombre réduit de
variables.
Nicolas Stoiber @ Dynamixyz
19
Analyse en composantes principales
• Exemple : courbe taille/poids
Nicolas Stoiber @ Dynamixyz
20
Analyse en composantes principales
• Exemple : courbe taille/poids
– Chaque point est un exemple
– Données réelles souvent très corrélées
X2 (poids)
X1 (taille)
Nicolas Stoiber @ Dynamixyz
21
Analyse en composantes principales
• Corrélation importante
• Redondance d’information
• Dynamique importante sur toutes les variables
Non optimal
X2 (poids)
X1 (taille)
Nicolas Stoiber @ Dynamixyz
22
Analyse en composantes principales
• Peut-on imaginer une meilleure paramétrisation ?
Y1
« Corpulence »
X2 (poids)
Y2
X1 (taille)
Nicolas Stoiber @ Dynamixyz
23
Analyse en composantes principales
• Peut-on imaginer une meilleure paramétrisation ?
– A partir d’une représentation initiale [X1, …, XN], trouver
une représentation [Y1, …, YN] telles que les variables sont
décorrélées.
Nicolas Stoiber @ Dynamixyz
24
Analyse en composantes principales
• Matrice de covariance sur un jeu de données X :
  1,1  1, 2   1, N 




2, 2
2, 2
X
T


M C  X.X 
 

 


 N ,1    N , N 
• On cherche les Y tels que :
0 
0 
 1,1
 0 

0

2, 2

M CY  Y.YT  

0 
0 


0

0

N ,N 

Nicolas Stoiber @ Dynamixyz
25
Analyse en composantes principales
• C’est une diagonalisation de matrice
– Existe toujours en vertu du théorème spectral (matrice de
covariance est symétrique semi-définie positive, réelle).
– Les valeurs propres sont positives ou nulles, et les vecteurs
propres sont orthonormés.
M  P.M .P
X
C
Y
C
T
– Les variables Y = P.X sont décorrélées.
Nicolas Stoiber @ Dynamixyz
26
Analyse en composantes principales
0 
0 
 1,1
 0 

0

2, 2

M CY  PT .M CX .P  

0 
0 


0

0

N ,N 

• Les vecteurs propres forment la matrice de passage P
• Les valeurs propres sont les covariance des nouvelles
variables Yi.
Nicolas Stoiber @ Dynamixyz
27
Analyse en composantes principales
• Compression :
– On peut ordonner les nouvelles variables Yi selon le
valeurs propres (indiquent « l’importance » de ces
variables en terme de variation).
– Les dernières variables Yi (faible valeur propre), présentent
peu de variation -> On peut les supprimer
Nicolas Stoiber @ Dynamixyz
28
Analyse en composantes principales
• Compression :
– Exemple visuel :
Y1
X2
Y2
X1
Nicolas Stoiber @ Dynamixyz
29
Analyse en composantes principales
• Compression :
– Intérêt : transmission/stockage de K images (avec
K=beaucoup) de N pixels chacune -> K.N valeurs à
transmettre.
– Si les images présentent de fortes corrélation, il est
interessante de faire une PCA pour trouver un meilleur
espace de représentation.
– En conversant P<<N composantes, le nombre de valeurs à
transmettre est P.K + P.N
Nicolas Stoiber @ Dynamixyz
30
Analyse en composantes principales
• Compression :
– Valeurs crédibles:
• P = 10, N=2500, K=200
– Stockage naïf : K.N = 500 000 valeurs
– Stockage PCA : 27 000, soit 5% de K.N
-> taux de compression de 95%
Nicolas Stoiber @ Dynamixyz
31
Analyse en composantes principales
• Interprétation géométrique d’une PCA tronquée :
X
2
Y2
X1
– Une PCA tronquée identifie le sous-espace linéaire qui
minimise l’erreur de projection (quadratique).
– « Projection optimale au sens des moindres carrés »
Nicolas Stoiber @ Dynamixyz
32

Documents pareils