La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

La décomposition en valeurs singulières: un outil fort utile Références utiles: 1- Sonka et al.: sections 3.2.9 et 3.2.10 2- Notes manuscrites du cours.

Présentations similaires


Présentation au sujet: "La décomposition en valeurs singulières: un outil fort utile Références utiles: 1- Sonka et al.: sections 3.2.9 et 3.2.10 2- Notes manuscrites du cours."— Transcription de la présentation:

1 La décomposition en valeurs singulières: un outil fort utile Références utiles: 1- Sonka et al.: sections et Notes manuscrites du cours 3- Press et al: Numerical recipes * *Ce document a aussi été inspiré d’un extrait du cours cos323 par S. Rusinkiewicz à Princeton Dernière révision: Patrick Hébert septembre 2008

2 Introduction SVD: Singular Value Decomposition Résolution d’une gamme de problèmes comme par exemple des moindres carrés bien ou mal conditionnés ou des problèmes sous-contraints et bien d’autres … SVD sera un outil indispensable Les justifications mathématiques sont riches mais nous le présenterons dans l’optique d’utilisation pour des classes de problèmes ciblées.

3 Conditionnement Exemple: ajuster une courbe y=ax 2 +bx+c sur des points Normalement 3 points suffisent pour “bien” définir la parabole … Attention: dans un problème mal conditionné, la simple erreur numérique peut faire déraper la solution

4 La décomposition SVD: une solution intéressante! Soit A, une matrice mn, la décomposition SVD est un algorithme de factorisation qui permet d’exprimer A comme le produit de trois matrices particulières, U, V, and W telles que: A = U W V T U est une matrice mn, orthonormale W est une matrice nn, diagonale positive V T est une matrice nn orthonormale

5 En Matlab: [U,W,V]=svd(A) Décomposition d’une matrice

6 Remarques Les w i sont les valeurs singulières de A Si la matrice A est singulière, il y a des w i nulles En général rang(A) = au nombre de w i non nulles L’ensemble des w i est “unique”, mis à part l’ordre des w i ou s’il y a égalité parmi des w i

7 A -1 =(V T ) -1 W -1 U -1 = V W -1 U T Puisque l’inverse d’une matrice orthonormale est sa transposée Puisque W est diagonale, W -1 est aussi diagonale avec les inverses multiplicatifs des w i Utilité importante #1: traiter les inverses

8 Suite … A -1 =(V T ) -1 W -1 U -1 = V W -1 U T Ce n’est pas vrai quand des w i = 0 La matrice est singulière Pseudoinverse: si w i =0, on fixe 1/w i = 0 C’est la matrice “la plus près” de l’inverse selon la norme de Frobenius Existe pour toutes les matrices, même singulières ou rectangulaires Égale à (A T A) -1 A T si A T A est inversible

9 Utilité importante #2: les moindres carrés Système Ax=b à résoudre par moindres carrés x=pseudoinverse(A) b Calculer la pseudoinverse en utilisant SVD On vérifie si A est singulière Même si A n’est pas singulière, on vérifie le ratio de la valeur singulière max sur la valeur min (condition number). C’est une indication de la stabilité du système Fixer 1/w i = 0 si w i est petit

10 Variation sur les moindres carrés: syst. homogènes Système Ax=0 à résoudre par moindres carrés On a vu que la solution correspond au vecteur propre de A T A associé à la plus petite valeur propre. Soit A=UWV T, et soit x i la i ième colonne de V Considérons A T A x i : DONC: Les éléments de W sont sqrt(valeurs propres) et les colonnes de V sont les vecteurs propres de A T A

11 Utilité importante #3: comparaison de matrices La norme de Frobenius est couramment utilisée comme norme d’une matrice La norme de Frobenius peut être calculée au moyen de SVD Des variations sur une matrice peuvent donc être observées comme des variations sur les valeurs singulières.

12 Utilité importante #4: approximation de matrices On cherche la meilleure matrice A’ approximante de rang k pour A Solution: On ne conserve que les k plus grandes valeurs singulières et on fixe les autres à 0. On peut éliminer les colonnes de U et V qui correspondent aux valeurs nulles de w i Enfin on reconstruit A’ à partir de U’W’V’ T

13 SVD et ACP (PCA) Analyse en Composantes Principales (Principal Components Analysis: PCA): idée: estimer un ensemble de données de grandes dimensions par un sous-espace Comment? Les vecteurs propres de la matrice de covariance des données constituent une base lorsque normalisés. Si les vecteurs sont ordonnés selon les valeurs propres, alors on peut sélectionner un sous-ensemble. (schéma au tableau)

14 SVD et ACP Construire la matrice A où chaque ligne est un “point” de donnée à m dimensions. Soustraire la ligne moyenne de chaque ligne Calculer SVD(A) Les colonnes de V sont les composantes principales Les w i indiquent l’importance de chacune des composantes (vecteurs de base)

15 Reconnaissance de visages: méthode des “Eigenfaces” Visage“moyen” Première composante principale Autrescomposantes Sauf pour le visage moyen, “gris” = 0, “blanc” > 0, “noir” < 0

16 Reconnaissance Sauvegarder chaque visage sous la forme d’un ensemble de coefficients (projection des n principales composantes -> {a i }) Calculer la projection de l’image à reconnaître, comparer à la base de données (le vecteur le plus près)

17 Remarque De nombreux articles ont été publiés sur cette approche des eigenfaces Cette approche a aussi été étendue pour traiter des variations d’éclairage et de point de vue du visage M. Vasilescu et D. Terzopoulos, CVPR 2005 et 3DIM 2007


Télécharger ppt "La décomposition en valeurs singulières: un outil fort utile Références utiles: 1- Sonka et al.: sections 3.2.9 et 3.2.10 2- Notes manuscrites du cours."

Présentations similaires


Annonces Google