Analyse de données multidimensionnelles
Analyse de données multidimensionnelles
Matthieu PUIGT
1. Introduction
7. Conclusion
Introduction (1)
Haute dimensionnalité
De nombreux problèmes en science des données, en apprentissage automatique ou en
traitement du signal/image impliquent des ensembles de données dans des
espaces de grande dimension : un espace de grande dimension : le nombre d d'entités est
supérieur au nombre n d'observations (d > n)
Exemples
Dans le domaine des soins de santé, chaque personne c'estàdire l'observation peut être décrite par sa taille, son
poids, sa température, sa tension artérielle, sa fréquence cardiaque, etc. (caractéristiques)
Dans les systèmes de recommandation de films, chaque client peut noter des centaines de films
Introduction (2)
La malédiction de la dimensionnalité
Introduction (2)
La malédiction de la
dimensionnalité Rappel : on observe n échantillons, chacun d'eux composé de d
traits Malédiction de la dimensionnalité !
Pour déduire une propriété, le nombre n d'observations doit augmenter de façon
exponentielle lorsque d augmente linéairement
Analogie
Imaginons que vous incarnez les ennemis de Mario et que vous vouliez l'attraper... ...
en 1D
Introduction (2)
La malédiction de la
dimensionnalité Rappel : on observe n échantillons, chacun d'eux composé de d
traits Malédiction de la dimensionnalité !
Pour déduire une propriété, le nombre n d'observations doit augmenter de façon
exponentielle lorsque d augmente linéairement
Analogie
Imaginons que vous incarnez les ennemis de Mario et que vous vouliez l'attraper... ...
en 2D
Introduction (2)
La malédiction de la
dimensionnalité Rappel : on observe n échantillons, chacun d'eux composé de d
traits Malédiction de la dimensionnalité !
Pour déduire une propriété, le nombre n d'observations doit augmenter de façon
exponentielle lorsque d augmente linéairement
Analogie
Imaginons que vous incarnez les ennemis de Mario et que vous vouliez l'attraper... ...
en 3D
Introduction (2)
La malédiction de la
dimensionnalité Rappel : on observe n échantillons, chacun d'eux composé de d
traits Malédiction de la dimensionnalité !
Pour déduire une propriété, le nombre n d'observations doit augmenter de façon
exponentielle lorsque d augmente linéairement
Analogie
Imaginons que vous incarnez les ennemis de Mario et que vous vouliez l'attraper...
Augmenter la dimension dans laquelle Mario peut se déplacer rend votre problème
plus dur
Présentation (3)
Propriétés supplémentaires
Heureusement!
De nombreux problèmes réels impliquent des données structurées
Présentation (3)
Propriétés supplémentaires
Heureusement!
De nombreux problèmes réels impliquent des données structurées
Présentation (3)
Propriétés supplémentaires
Heureusement!
Une introduction aux techniques d'approximation de bas rang appliquées aux matrices
1. Introduction
7. Conclusion
d
On considère n vecteurs de dimension d xi R (i {1, . . . , n}), avec d > n
(détection de haute dimension)
Nous organisons ces données sous la forme d'une matrice X de taille d × n, c'estàdire
| |
X= x1
_
...X
n
| |
d
On considère n vecteurs de dimension d xi R (i {1, . . . , n}), avec d > n
(détection de haute dimension)
Nous organisons ces données sous la forme d'une matrice X de taille d × n, c'estàdire
| |
X= x1
_
...X n
| |
n×k d×k
X est de bas rang si k < min(n, d), W R ,H R , tel que
h T —
1
| |
T
= · ..
X=W·H w1 . . . semaine .
||
h T —
k
d
On considère n vecteurs de dimension d xi R (i {1, . . . , n}), avec d > n
(détection de haute dimension)
Nous organisons ces données sous la forme d'une matrice X de taille d × n, c'estàdire
| |
X= x1
_ ...X n
| |
n×k d×k
X est de bas rang si k < min(n, d), W R ,H R , tel que
T
h 1
—
| |
T
= · ..
X=W·H w1 . . . semaine .
T
||
h k
—
T — h1 —
| |
· ..
X= w1 . . . semaine |
.
| T
h k —
= ·
= ·
je = 1
= · + ·
Clustering (Kmoyennes)
T T
X≈W·H avec tout h sont tous nuls sauf pour une valeur où elle vaut un
je
T
W contient les centroïdes et H est une matrice d'appartenance à un cluster
Débruitage
Y = X + E où X contient des modèles dominants (X de bas rang) et E non (bruit)
De nombreuses données sont approximativement de faible rang (c'estàdire des données bruitées de bas rang)
nombreuses données sont approximativement de faible rang (c'estàdire des données bruyantes de bas rang)
Directement applicable sur des matrices ou des tenseurs
Connexions avec les réseaux de neurones et le deep learning – hors du cadre de ce cours
Toute matrice de données volumineuse a tendance à être de faible rang (Udell, 2019)
Et nous vivons un déluge de données
En 2021 (source :
de sati)
500 h de vidéo
197 millions
d'emails envoyés
De nombreuses données sont approximativement de faible rang (c'estàdire des données bruitées de bas rang)
Toute matrice de données volumineuse a tendance à être de faible rang (Udell, 2019)
1. Introduction
7. Conclusion
Définition
Toute matrice d × n X peut être exprimée comme
T
X=U·S·V
où:
U est une matrice d × d avec des colonnes orthonormées (vecteurs singuliers à gauche)
p1 0 ... 0 p1 0 . . . 0 ...
0σ2 0 . . . 0 0σ2 0 . . . 0...0
. .. S= . ..
. . .
. . .
S= 0... 0 σn 0 . . . 0 σd 0 . . . 0
0... ... 0
. .
. .
. .
0 0
Machine Translated by Google
T T
Concentronsnous sur le cas des personnes grandes et maigres X = UΣV = (UΣ)V
p1 0 ...00
u11 . . . u1n u1,n+1 . . . u1d
σ2 0 . . . 0
U21 . . . u2n u2,n+1 . . . u2d .. ..
.. .. . .
. .
UΣ = 0... 0 σn 0
un1 . . . unn un,n+1 . . . et
0...
.. .. .. ..
. . . . .. ..
. .
sortie1 . . . udn ud,n+1 . . . poste
0... 0
T T
Concentronsnous sur le cas des personnes grandes et maigres X = UΣV = (UΣ)V
p1 0 ...00
u11 . . . u1n u1,n+1 . . . u1d
σ2 0 . . . 0
U21 . . . u2n u2,n+1 . . . u2d .. ..
.. .. . .
. .
UΣ = 0... 0 σn 0
un1 . . . unn un,n+1 . . . et
0...
.. .. .. ..
. . . . .. ..
. .
sortie1 . . . udn ud,n+1 . . . poste
0... 0
T T
Concentronsnous sur le cas des personnes grandes et maigres X = UΣV = (UΣ)V
u11 . . . u1n
u21 . . . u2n p1 0 ...00
.. ..
. . σ2 0 . . . 0
UΣ = .. ..
un1 . . . traiter
. .
.. ..
. . 0... 0 σn
ud1 . . . etc.
Orthonormalité
T
UUT = je, U U = je, VVT = I, V TV = I
Sois prudent! il peut y avoir des différences dans la dimension de l'identité
matrices (en particulier avec l'econ. SVD)
Bases de X
Les vecteurs dans U et V sont les bases orthonormées des lignes et colonnes de X,
respectivement
Rang
Si rang(X) = k < min(n, d), alors
σ1 ≥ σ2 ≥ . . . ≥ σk ≥ σk+1 = . . . = σmin(n,d) = 0
r T T
où M = i=1 σiui · v je
et X = UΣV est le SVD
T T T
X = σ1 · u1 · v 1 +σ2 · u2 · v 2 + . . . + σk · royaumeuni · vk
La plupart
Motifs: 2ème plus kième le plus
important
r T T
où M = i=1 σiui · v je
et X = UΣV est le SVD
T T T
X = σ1 · u1 · v 1 +σ2 · u2 · v 2 + . . . + σk · royaumeuni · vk
La plupart
Motifs: 2ème plus kième le plus
important
Exemple
SVD tronqué appliqué sur une image réelle
xn(t) ≈ αnyn(t) + βn
xn(t) ≈ αnyn(t) + βn
xn(t) − βn
dans(t) ≈
et
xn(t) ≈ αnyn(t) + βn
xn(t) − βn
dans(t) ≈
et
xn(t) ≈ αnyn(t) + βn
où αn (resp. βn) est le nième gain du capteur (resp. offset) correction Aucun
gain du capteur n'est nul
xn(t) − βn
dans(t) ≈
et
xn(t) ≈ αnyn(t) + βn
où αn (resp. βn) est le nième gain du capteur (resp. offset) correction Aucun
gain du capteur n'est nul
xn(t) − βn
dans(t) ≈
et
x1(t) = α1 · y1(t) + β1
S, t
x2(t) = α2 · y2(t) + β2
x2
x2(t2)− •
•
x2(t3) −
x2(t1)− •
||
| x1(t1) x1(t2) x1
x1(t3)
x1(t) = α1 · y1(t) + β1
S, t
x2(t) = α2 · y2(t) + β2
y2
• S
•
•
•
•
•
obtenir un effet
y1
x1(t) = α1 · y1(t) + β1
S, t
x2(t) = α2 · y2(t) + β2
•
y2 •
• S
•
• •
•
•
•
obtenir un effet
effet de décalage
y1
y2 •
•
S
y1
Machine Translated by Google
y1 et k {1, . . . , d},
1
d
1
• dans dans (tj)
=d
1 je=1
= jour dn=1 xn(ti) − βn
et et
y1 et k {1, . . . , d},
y1
y1
C
y1
où
PΩ est l'opérateur de projection sur S .
Yk =
S y1(tk ) − y1
..
0 . 0
yN (tk ) − yN
C
y1
où
PΩ est l'opérateur de projection sur S .
Yk =
S y1(tk ) − y1
..
0 . 0
yN (tk ) − yN
moyenne nulle)
M. Puigt Analyse de données multidimensionnelles 20222023 20
Machine Translated by Google
Mais une indétermination d’échelle demeure. Possibilité de le résoudre, par exemple en supposant
que α1 = 1
1 Moindres carrés :
Supprimer α1 de α et obtenir α
Supprimez la première colonne c1 de C et obtenez C
Le problème à résoudre s'écrit C · α = −c1 α
= −C−† · c1 où −† désigne le pseudoinverse (pinv dans Matlab)
1 Moindres carrés :
Supprimer α1 de α et obtenir α
Supprimez la première colonne c1 de C et obtenez C
Le problème à résoudre s'écrit C · α = −c1 α
= −C−† · c1 où −† désigne le pseudoinverse (pinv dans Matlab)
2 SVD :
Calculer le SVD de taille économique de C (svd(C,0) dans Matlab)
Le dernier vecteur singulier de V est proportionnel à
α α peut être dérivé en divisant le dernier SV de V par V(1)
1 Moindres carrés :
Supprimer α1 de α et obtenir α
Supprimez la première colonne c1 de C et obtenez C
Le problème à résoudre s'écrit C · α = −c1 α
= −C−† · c1 où −† désigne le pseudoinverse (pinv dans Matlab)
2 SVD :
Calculer le SVD de taille économique de C (svd(C,0) dans Matlab)
Le dernier vecteur singulier de V est proportionnel à
α α peut être dérivé en divisant le dernier SV de V par V(1)
1. Introduction
7. Conclusion
aRappel : centrer une observation consiste à lui retirer sa moyenne ! Si les données sont organisées comme n
observations de d caractéristiques, les points de données dans chaque colonne sont centrés autour de l'origine
L'ACP vise à trouver les « directions principales » de X, c'estàdire une base (les
directions sont orthogonales et leur norme est une) qui décrit le mieux X.
aRappel : centrer une observation consiste à lui retirer sa moyenne ! Si les données sont organisées comme n
observations de d caractéristiques, les points de données dans chaque colonne sont centrés autour de l'origine
L'ACP vise à trouver les « directions principales » de X, c'estàdire une base (les
directions sont orthogonales et leur norme est une) qui décrit le mieux X.
La première direction principale est celle qui maximise la variance des données (ou minimise
l'erreur d'ajustement).
aRappel : centrer une observation consiste à lui retirer sa moyenne ! Si les données sont organisées comme n
observations de d caractéristiques, les points de données dans chaque colonne sont centrés autour de l'origine
L'ACP vise à trouver les « directions principales » de X, c'estàdire une base (les
directions sont orthogonales et leur norme est une) qui décrit le mieux X.
La première direction principale est celle qui maximise la variance des données (ou minimise
l'erreur d'ajustement).
La deuxième direction principale est celle qui est orthogonale à la première direction principale et
qui maximise la variance des données Et ainsi de suite...
aRappel : centrer une observation consiste à lui retirer sa moyenne ! Si les données sont organisées comme n
observations de d caractéristiques, les points de données dans chaque colonne sont centrés autour de l'origine
T
C=EX·X
C=E X·X T
signifier
1 T
C= X·X
n
1 T
C= X·X
n
1 T
C= X·X
n
1
· FT · X · X T ·F
n
maximum f 2 =1
2
T
En appliquant un SVD sur X = U · Σ · V , on obtient
1 T T T
T ·f · U · S · V · (U · S · V ) ·F
n
maximum f 2 =1
2
1 T
C= X·X
n
1
· FT · X · X T ·F
n
maximum f 2 =1
2
T
En appliquant un SVD sur X = U · Σ · V , on obtient
1 T T
T ·f · U · S · V ·V·S·U ·F
n
maximum f 2 =1
2
1 T
C= X·X
n
1
· FT · X · X T ·F
n
maximum f 2 =1
2
T
En appliquant un SVD sur X = U · Σ · V , on obtient
1
T ·f · NOUS2 · U T ·F
n
maximum f 2 =1
2
1 T
C= X·X
n
1
· FT · X · X T ·F
n
maximum f 2 =1
2
T
En appliquant un SVD sur X = U · Σ · V , on obtient
1
T ·f · NOUS2 · U T ·F
n
maximum f 2 =1
2
... dont la solution est f = u1 , c'estàdire que le premier vecteur principal est le premier
vecteur singulier
1 T
C= X·X
n
1 T T
·F ·X·X ·F
n
maximum f 2 =1
2
T
En appliquant un SVD sur X = U · Σ · V , on obtient
1 2 T
T ·f · NOUS · U ·F
n
maximum f 2 =1
2
... dont la solution est f = u1 , c'estàdire que le premier vecteur principal est le premier
vecteur singulier
2
1 T en
Et la variance associée est n
T ·u 1 ·X·X · u1 = n
1
1 T
C= X·X
n
1 T T
·F ·X·X ·F
n
maximum f 2 =1
2
T
En appliquant un SVD sur X = U · Σ · V , on obtient
1 2 T
T ·f · NOUS · U ·F
n
maximum f 2 =1
2
... dont la solution est f = u1 , c'estàdire que le premier vecteur principal est le premier
vecteur singulier
2
1 T en
Et la variance associée est n
T ·u 1 ·X·X · u1 = n
1
1. Introduction
7. Conclusion
Faire ce que nos oreilles font avec des ordinateurs est un véritable défi !
Introduisons d'abord le contexte mathématique !
2 s1 + 3 s2 3 =5=1
(1)
s1 − 2 s2
2 3 3 −2 T T
UNE = , s = [s1, s2 ] , et x = [5, 1]
Trouver s par rapport à x est appelé un problème inverse car nous devons inverser
l'opérateur A.
2 s1 + 3 s2 + . . . + 7 s5 = 5 3 s1 − 2 s2
(1)
+ . . . + 2 s5 = 1
2 3 . . . 7 3 −2 . . . T T
UNE = , s = [s1, s2, . . . , s5] , et x = [5, 1]
2
Trouver s par rapport à x est appelé un problème inverse car nous devons inverser
l'opérateur A.
? · s1+ ? · =5=1
(1)
s2 ? · s1+ ? · s2
T T
UNE = , s = [s1, s2 ] , et x = [5, 1]
????
Trouver s par rapport à x est appelé un problème inverse car nous devons inverser
l'opérateur A.
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
Heureusement...
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
Heureusement...
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
Heureusement...
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
Heureusement...
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
Heureusement...
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
Heureusement...
Dénotant
a11 a12
UNE = ,
a21 a22
Éq. (1) lit
x 1 — | |
— = UNE ·
s1 s2 ou X = A · S
— x2
||
Heureusement...
Dans de nombreux traitements du signal/apprentissage automatique/données de haute dimension,
nous obtenons plusieurs échantillons de données,
Un peu d'histoire
Problème BSS formulé vers 1982, par Hans, Hérault et Jutten pour un problème biomédical et
premiers articles au milieu des années 80
Grand intérêt de la communauté, principalement en France et plus tard en Europe et au Japon,
puis aux USA
Plusieurs sessions spéciales dans des conférences internationales (ex. GRETSI'93,
NOLTA'95)
Premier atelier en 1999, à Aussois, France. Une conférence tous les 18 mois jusqu'en 2018 !
un problème générique
De nombreuses applications, par exemple biomédicales, traitement audio, télécommunications,
astrophysique, classification d'images, acoustique sousmarine, finance, traitement de l'information
quantique.
De la PCA à l’ICA
Indépendant Non corrélé (mais pas l'inverse en général)
Voyons un exemple graphique avec des sources uniformess,x = Comme avec
−0,2485 0,8352
P = N = 2 et A =
0,4627 −0,6809
Distributions sources (rouge : directions des sources) Distributions de mélanges (vert : vecteurs propres)
De la PCA à l’ICA
Indépendant Non corrélé (mais pas l'inverse en général)
Voyons un exemple graphique avec des sources uniformess,x = Comme avec
−0,2485 0,8352
P = N = 2 et A =
0,4627 −0,6809
Distributions sources (rouge : directions des sources) Distributions de sortie après blanchiment
La PCA fait « la moitié du travail » et nous devons faire pivoter les données pour atteindre l’objectif.
séparation!
M. Puigt Une très brève introduction au BSS Avril/mai 2011 31
Machine Translated by Google
Principes de l'ICA
Comprenons pourquoi !
Pourquoi?
Théorème des états limites centraux selon lequel la somme des variables aléatoires tend vers une
Distribution gaussienne
Alors, on peut trouver une matrice W telle que les signaux yi(t) dans
Y=W·X
Distributions sources (rouge : directions des sources) Distributions de mélanges (vert : vecteurs propres)
Distributions sources (rouge : directions des sources) Distributions de sortie après ICA
1. Introduction
7. Conclusion
Dans de nombreux problèmes, les matrices X ≈ G · F sont non négatives, par exemple,
analyse de concentration chimique analyse
de texte
(hyperspectrale) analyse d'image données
de consommation d'énergie électrique
NMF appliqué à l'ensemble de données de visage (source : Lee & Seung, 1999)
Dans de nombreux problèmes, les matrices X ≈ G · F sont non négatives, par exemple,
analyse de concentration chimique analyse
de texte
(hyperspectrale) analyse d'image données
de consommation d'énergie électrique
Analyse en composantes principales appliquée à l'ensemble de données de visage (source : Lee & Seung, 1999)
conférence Problèmes : 1 NMF est NPdifficile dans le cas général, c'estàdire que la
convergence vers un minimum global n'est
pas garantie dans le cas général 2
La solution NMF n'est pas unique 3 Choix du rang NMF k peut être délicat
Stratégie générale
1 Initialiser le numéro d'itération t = 1, et initialiser G1 et F1 2 pour t
= 2 jusqu'à un nombre maximum d'itérations ou un critère d'arrêt
1 Mise à jour G st
1 1 2
X − Gt+1Ft 2F ≤ X GtFt F
2 2
2 Mise à jour F st
1 2 1 2
X − Gt+1Ft+1 F ≤ X − Gt+1Ft F
2 2
commentaires
Très vite
mais pas précis !
commentaires
Descente du dégradé
Mettre à jour en utilisant la descente du
gradient , par exemple, Gt+1 = Gt − ν · GJ
(Gt , Ft ) où X − RC 2
12 F
J (G, F) = GJ (G, F) = G · F · F T − X
· F T ν est un
poids Remplacer les entrées négatives par zéro ou un petit seuil positif
commentaires
Choix de n?
Possibilité de trouver ν optimal (mais prend du temps)
Alternative : remplacer la descente de gradient classique par extrapolation (Guan et al.,
2012)
Preuve
Descente du dégradé :
T T
i, j, Fij = Fij + νij (G · X)ij − (G · G · F)ij
On pose : νij =
Sacrifier
(GT ·G·F)ij
On obtient
T T
Fij i, j, Fij = Fij + (G · X)ij − (G · G · F)ij
(GT · G · F)ij
(G T · X)ij
= Sacrifice · 1+−1
(GT · G · F)ij
(G T · X)ij
= Sacrifice ·
(GT · G · F)ij
J −(Gt, Ft) X · Ft T
Gt+1 = Gt ◦ , c'estàdire Gt+1 = Gt ◦
J +(Gt, Ft) Gt · Ft · F T
t
où GJ
T T
(G, F) = G · F · F J +(G,F) J −X·F
−(G,F) ◦ et la division sont les
opérations élément par élément (.* et ./ dans Matlab)
commentaires
Nonnégativité de G et F conservée au fil des itérations
Facile à mettre en
œuvre Mais très lente lorsque X est grand !
Concentré dans les nuages de poussières qui jouent un rôle majeur dans l'évolution de
galaxies
Concentré dans les nuages de poussières qui jouent un rôle majeur dans l'évolution des
galaxies
Poussière interstellaire
Absorbe la lumière UV et la réémet dans le
domaine IR
N
x(n,m) (λ) = ∑ a(n,m),jsj (λ) Aromatique Polycyclique
j=1 Hydrocarbures
Concentré dans les nuages de poussières qui jouent un rôle majeur dans l'évolution des
galaxies
Poussière interstellaire
Absorbe la lumière UV et la réémet dans le
domaine IR
N
x(n,m) (λ) = ∑ a(n,m),jsj (λ)
j=1
je
Séparation
Dériver une structure spatiale pertinente de l’émission de grains dans les PDR
Leçon
Étape de prétraitement
c R. Croman www.rcastro.com
Gray: Enveloppe
c R. Croman www.rcastro.com
Gray: Enveloppe
c R. Croman www.rcastro.com
Gray: Enveloppe
FastICA
c R. Croman www.rcastro.com
Gray: Enveloppe
FastICA
je
N
x(n,m) (λ) = ∑ j=1 a(n,m),j sj(λ) yk(λ) = ηjsj(λ)
Conclusion
Conclusion
1 Validation croisée de spectres séparés avec diverses méthodes BSS
Mains en main
À ton tour!
Sujet de laboratoire commun
1. Introduction
7. Conclusion
Conclusion de la conférence