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

Présentations similaires


Présentation au sujet: "La décomposition en valeurs singulières: un outil fort utile"— 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 2- 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=ax2+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 VT U est une matrice mn, orthonormale W est une matrice nn, diagonale positive VT est une matrice nn orthonormale

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

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

7 Utilité importante #1: traiter les inverses
A-1=(VT)-1 W-1 U-1 = V W-1 UT 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 wi

8 Suite … A-1=(VT)-1 W-1 U-1 = V W-1 UT
Ce n’est pas vrai quand des wi = 0 La matrice est singulière Pseudoinverse: si wi=0, on fixe 1/wi = 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 à (ATA)-1AT si ATA 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/wi = 0 si wi 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 ATA associé à la plus petite valeur propre. Soit A=UWVT, et soit xi la iième colonne de V Considérons ATA xi: DONC: Les éléments de W sont sqrt(valeurs propres) et les colonnes de V sont les vecteurs propres de ATA

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 wi 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 wi indiquent l’importance de chacune des composantes (vecteurs de base)

15 Reconnaissance de visages: méthode des “Eigenfaces”
Première composante principale Visage “moyen” Autres composantes 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 -> {ai}) 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"

Présentations similaires


Annonces Google