Retour sur le cours SVD - PCA - Institut Optique
Transcript of Retour sur le cours SVD - PCA - Institut Optique
Retour sur le cours+
SVD - PCA
22//2727
Rappel : Convergence, Consistance et Stabilité
● Convergence : la solution numérique tend vers la solution exacte
● Consistance : solution discrète tend vers la solution exacte avec la réduction de la discrétisation
● Stabilité : différence entre solution discrète et numérique est bornée
● Relations
Équation discrétiséeÉquation
Solution exacte Solution discrète
Solution numérique
Consistance
Convergence Stabilité
33//2727
Rappel : Conditionnement
● Robustesses aux perturbations
– Données d (perturbées d d)● Bruit de mesure● Conversion en numérique
– Résultats x (perturbées x x)● Erreur numérique
● Conditionnement relatif
● Conditionnement absolu
K rel(d )=limϵ→0sup∣δd∣<ϵ {
∣δ x∣/∣x∣∣δ d∣/∣d∣}
K abs (d )=limϵ→0sup∣δ d∣<ϵ{
∣δ x∣∣δd∣}
44//2727
Rappel : système linéaire
● Si A est une matrice inversible, le conditionnement relatif du système est
K (A) = conditionnement de la matrice
● Matrice symétrique définie positive
– Conditionnement = Rapport des valeurs propres
K rel(b)≤Κ (A )=∣A−1∣∣A∣
A x=b
Κ (A )=λmaxλmin
55//2727
Rappel : résoudre un système linéaire
● Méthodes directes
– Si A est diagonale : O(n)
– Si A est triangulaire : O(n2)
– Sinon : triangulation ou factorisation
● LU : matrice quelconque – O(2/3 n3)● Cholesky : matrice symétrique définie positive – O(1/3 n3)● Householder et QR : ● Limites : Grand conditionnement -> solution peu précise
● Méthodes itératives : convergence vers une solution
– Jacobi : A à diagonale dominante stricte par ligne
– Gauss-Seidel : A à diagonale dominante stricte par ligne et symétrique définie positive
– Gradient conjugué
Ne jamais résoudre avec
l'inverse de la matrice A
66//2727
Rappel : optimisation
● Approcher des données par une fonction analytique fv(x)
– Donnée : ( xm=1..M, ym=1..M )
– v : paramètres de la fonction
– v minimise une erreur : exemple
ou maximise un qualité
– Sous des contraintes
● Optimisation linéaire
– fv est une combinaison linéaire de fonctions
– L'erreur est quadratique et les contraintes sont linéaires
● Optimisation non-linéaire
– Tous les autres cas
minv∑m=1
M
wm‖ym−f v ( xm )‖
f v ( x )=∑k=1
K
vk f k ( x )
77//2727
Rappel : moindres carrés
● L'erreur est une norme euclidienne
– Un minimum atteint →
gradient de l'erreur est nul
– Ajout de contrainte par des multiplicateurs (ex : Lagrange)
● Optimisation linéaire
→ Résoudre une système linéaire sous contraintes linéaires
– Solution unique
● Optimisation non-linéaire
– Solution unique seulement si l'erreur est convexe
● En général : minimum local– Processus itératifs convergeant vers un minimum
● Méthodes de descente de gradient● Levenberg-Marquard
E=∑m=1
M
wm‖ym−f v ( xm )‖2
2
∇v E=0
8
Valeurs propresSVDPCA
99//2727
Moindres carrés sous-constraint● Moins de mesures que de variables
– Impossible théoriquement d'utiliser les moindres carrés
● Le système à résoudre a la forme ATAx = ATb● A a plus de colonnes que de lignes● ATA est donc singulière
● Les mesures sont de mauvaises contraintes
– ATA est presque singulière : mauvais conditionnement
– Ex : approcher avec la parabole y=ax2+bx+c
1010//2727
Décomposition singulière SVD
● Soit une matrice A de dimension MxN
– Il existe 2 matrices orthogonales U (MxM) et V (NxN) et une matrice diagonale de dimension P= min(M,N) telle que
– Avec
● Les i sont les valeurs singulières
● Les colonnes de U et V sont les vecteurs singuliers de gauche et de droite
A=U ΣVT⇔Σ=UT A V
Σ=[σ1 0 ⋯ 00 ⋱ ⋱ ⋮⋮ ⋱ ⋱ 00 ⋯ 0 σ P
] σ1≥σ2≥⋯≥σ P≥0
1111//2727
Interprétations
● Lien avec les valeurs propres
– Donc :
● Les i2 sont les valeurs propres de ATA et AAT
● Les colonnes de V sont les vecteurs propres ● Approximation des données
– Demi-longueurs des axes de l’hyperellipse
● Conditionnement
ΣTΣ=(UT A V)
T UT A V=VT AT U UT A V=VT AT A V
x T AT A x−1=0
Κ(A)=σ1
σ pΚ(A)=
σmaxσmin
****
******
**
** ****
********
**
**
**
**** ******
**
****
1212//2727
Calcul de pseudo inverse
● On définie la matrice
● Principes
– On annule les valeurs inverses trop grandes
– On laisse libre un certain nombre de paramètres
A+=VΣ+ UTΣ+=[
1σ1
0 ⋯ ⋯ ⋯ ⋯ 0
0 ⋱ ⋱ ⋮
⋮ ⋱1σ R
⋱ ⋮
⋮ ⋱ 0 ⋱ ⋮⋮ ⋱ ⋱ ⋱ ⋮0 ⋯ ⋯ ⋯ 0 0 0
]
1313//2727
Applications
● Avantage : méthode numérique stable
– Coût : 0(n3)
– Plus rapide si l'on ne cherche que , U et , ou et V● Calcul du rang R
– En matlab
s=svd(X);
tol=max(size(X))*s(1)*eps;
rang=sum(s > tol);
● Approximation par une somme de matrice de rang K
σ1≥σ2≥⋯≥σ R>σ R+1=⋯=σ P=0 A=∑i=1
P
σiui viT
A K=∑i=1
K
σ iu i v iT
∥A−A K∥2=σK+1
1414//2727
Analyse en composantes principales (PCA)
● Une méthode de réduction de dimension des données
– Projection des données au sens des moindres carrés
– Capturer les principales variations
● Une première approximation
– Meilleur représentant au sens des moindres carrés
– Quelles sont le ou les directions principales ?
● Représenter les données par une ligne passant par la moyenne
E0=mina∑m=1
M
‖ym−a‖2
2
a=1M ∑
m=1
ym
ym=a+αm e
E1=minα 1,⋯,αM , e∑m=1
M
‖ym−a−αm e‖2
2
1515//2727
PCA – Intuitions (suite)
● Calculer les m par différentiation partielle
● Nouvelle erreur pour calculer la direction principale
– S matrice de covariance (scatter matrix)
● Minimisation sous contrainte
∂αm E1=0⇔αm=eT( ym−a )
E1=∑m=1
M
‖ym−a−αme‖2
2=∑m=1
M
αm2 −2∑
m=1
M
αmeT( ym−a )+∑
m=1
M
‖ ym−a‖2
=∑m=1
M
‖ ym−a‖2−2∑
m=1
M
eT ( ym−a )( ym−a )T e+∑
m=1
M
‖ym−a‖2
=−2eT Se+2∑m=1
M
‖ ym−a‖2
S=∑m=1
M
( ym−a )( ym−a )T
mineE1⇔maxe eT Se
∥e∥2=1
=−2∑m=1
M
eT( ym−a )( ym−a )T e+2∑
m=1
M
‖ym−a‖2
1616//2727
PCA – Intuitions (fin)
● Utilisation des multiplicateurs de Lagrange
● Par dérivation
– e est un vecteur propre de la matrice S
● Peut-être étendue à M directions principales
– Calcul d'une SVD
– Amplitude de variation=
valeur propre
– Direction de variation=
vecteur propre
E3=eT S e−λ(eT e−1 )
∇e E3=0⇔S e=λ e
17
Rappel - suite
1818//2727
Rappel – autre optimisation
● Programmation linéaire
– Minimiser une norme infinie
– Maximiser un objectif
● Programmation quadratique
– Norme euclidienne
– Contraintes linéaires d'inégalité
maxv dT v
subject to{cm
T v+em=bm ∀mvk≥0 ∀ kem≥0 ∀m
with {v=(v1 .. vk )
T
d=(d 1 .. d k )T
cm=(cm1 .. cmk )T
minv dT v
subject to cmT v≤bm
minv vT QT v+dT v
subject to {c jT v=b jcm
T v≤bm
1919//2727
Rappel - intégration numérique 1D
● Intervalles uniformes
● Méthode des rectangles
● Méthode des trapèzes
● Formule de Simpson
I n=b−an ∑
k=1
n
f (x k )
Convergence
O(n-1)
f
I n=b−a2n ∑k=1
n
(f ( x k−1 )+f (x k )) O(n-2)
I n=b−a6n ∑k=1
n
(f ( x k−1 )+4f (x k−1 /2)+f ( xk ))f
O(n-4)
2020//2727
I=∫−1
1f ( x ) d x≃∑
m=1
M
W m f (εm )
Poids Positions d'intégration
● Les poids et les positions maximisent la précision● M positions pour l'espace des polynômes de degré 2M-1● Le calcul des intégrales est exact sur cet espace
● Les positions sont les racines du polynôme de Legendre● Base de polynômes orthogonale sur [-1,1]
Rappel - quadrature de Gauss en 1D
∀ p∈P2M−1 ,∫−1
1p (x )d x=∑
m=1
M
W mp(εm)
PM ( x)=1
2M M !dM
d xM( (x2−1 )
M )
2121//2727
Rappel – intégration de Monte Carlo 1D
● Estimateur
● Densité de probabilité
– Probabilité associée
– Propriété
● Convergence
– Variance
– Écart-type
● Meilleur choix de pdf
I n=1n∑i=1
n1
pdf ( x i )f ( x i )
pdf ( x )≥0
P [X i∈[ x , x+dx ] ]=pdf ( x )d x
∫−∞
∞
pdf ( x ) d x=1
V [ I n ]=1n
V [ I 1 ]
σ [ I n ]=1
√ nσ [ I 1 ]
pdf (x )=1I
f (x )⇒V [In ]=0
2222//2727
Rappel – intégration Monte Carlo
● Biais
– Différence valeur attendue vs cherchée
– Estimateur sans biais
biais=E [ I n ]− I
biais=0
2323//2727
Rappel : convergence et dimension
● En 1D
– Convergence en O(n-(c+1))
– c = continuité de la fonction
● En dimension plus élevée d
– Pour n valeurs / mailles
– Taille intervalle 1D n1/d
– Convergence en O(n-c/d)
– Monte Carlo en O(n-1/2)
2424//2727
Rappel : espace de fonctions
● Produit scalaire
– Norme
– Orthogonalité
● Matrice de Gram
– Det = 0 → pas une base
– Diagonale → orthogonale
– Vecteurs propres avec valeurs propres non-nulles → base orthogonale.
● Partition de l'unité
– i fi = 1
● Exercice : base orthogonale
– xn sur [a,b]
⟨ f ,g ⟩ [a , b ]=∫abf ( x )g ( x )d x
‖f‖[a , b]2
=∫a
bf 2( x )d x
⟨ f ,g ⟩ [a , b ]=0
M=[∣f 1∣
2⟨ f 1, f 2 ⟩ ⋯ ⟨ f 1, f K ⟩
⟨ f 2, f 1 ⟩ ∣f 2∣2
⋱ ⋮
⋮ ⋱ ⋱ ⟨ f K−1 , f K ⟩
⟨ f K , f 1 ⟩ ⋯ ⟨ f K , f K−1 ⟩ ∣f K∣2 ]
2525//2727
Rappel : bases de fonctions
● 1D – polynomiales
– Tchebychev 1 : orthogonale sur [-1,1]
– Bernstein : orthogonale sur [0,1]
● 1D – polynomiales par morceaux
– Support compact
● Gram à diagonales– B-Splines de degré P
● 2D – sur un disque
– Zernike : orthonormale
● 2D – directions
– Harmonique sphérique : orthonormale
⟨ f ,g ⟩=∫−1
1 f ( x )g ( x )
√1−x2d x
Tn(cos(θ))=cos (nθ)
bk , N ( t )=(Nk ) tk(1−t )N−k avec k=0⋯N
B p , N ( t )= ∑i= p
p+N +1
[ ∏j= p , j≠ip+N+1
1t j−t i ] maxN (t−t i ,0)
2626//2727
Rappel – résolution EDP - EDO
● Différences finies : calculer des valeurs en des positions
– Approximation des dérivées d'ordre k
● Avant
● Arrière
● Centrée – Résolution d'un système linéaire
● Explicite : pour chaque itération k
● Implicite : pour chaque itération k – En général : stable
∂ xnn u i=
1
Δ x n∑j≥i
u j+o (Δ xk)
∂ xnn u i=
1
Δ x n∑j≤i
u j+o (Δ xk)
∂xnn u i=
1
Δ x n∑j=−p
p
u i+ p+o(Δ xk )
f (u(k +1) ,u(k ) , ... ,u(0) )=0
u(k +1)−f (u(k ) ,... ,u(0 ))=0
2727//2727
Rappel – résolution EDP - EDO
● Éléments finies
– Coefficients dans un base de fonctions
● Étapes
1. Forme faible
2. Intégration par partie
3. Discrétisation
u ( x )≃∑k=1
K
vk bk (x )
∀ b ,∫ b res(u )=0
∀ bi ,∫ bi res(∑k=1
K
v k bk (x ))=0