Vous êtes sur la page 1sur 16

La SVD Applications et exemples TD 12

13. Décomposition en valeurs singulières


(SVD)
Section 6.7

MTH1007

J. Guérin, N. Lahrichi, S. Le Digabel


Polytechnique Montréal

A2019
(v2)

MTH1007: algèbre linéaire 1/16


La SVD Applications et exemples TD 12

Plan

1. Décomposition en valeurs singulières (SVD)

2. Applications et exemples

3. TD #12

MTH1007: algèbre linéaire 2/16


La SVD Applications et exemples TD 12

1. Décomposition en valeurs singulières (SVD)

2. Applications et exemples

3. TD #12

MTH1007: algèbre linéaire 3/16


La SVD Applications et exemples TD 12

Rappels
1. Si A est carrée n × n avec n vecteurs propres indépendants
alors A est diagonalisable : S −1 AS = Λ et A = SΛS −1

2. Si A est symétrique :
I Elle est diagonalisable (théorème spectral).
I Ses vecteurs propres sont orthogonaux.
I Q> AQ = Λ

3. Si A est symétrique et semi-définie positive alors Q> AQ = Λ


où λi ≥ 0 pour tout i ∈ {1, 2, . . . , n}

SVD : Diagonalisation d’une matrice quelconque m × n, avec des


vecteurs singuliers orthogonaux.

MTH1007: algèbre linéaire 4/16


La SVD Applications et exemples TD 12

Théorème

Soit A une matrice de taille m × n et de rang r. On peut


décomposer A comme suit :

A = U ΣV > = σ1 u1 v1> + σ2 u2 v2> + · · · + σr ur vr>

avec U ∈ Rm×m et V ∈ Rn×n deux matrices orthogonales et


Σ ∈ Rm×n une matrice “diagonale” formée par les r valeurs
singulières σ1 , σ2 , . . . , σr

MTH1007: algèbre linéaire 5/16


La SVD Applications et exemples TD 12

Valeurs singulières
Soit A ∈ Rm×n de rang r. La matrice A> A ∈ Rn×n est symétrique
et semi-définie positive. Soient :

I σ12 , σ22 , . . . , σn2 les valeurs propres de A> A. Les r premières


sont strictement positives. Les n − r suivantes sont nulles.

I Les r non nulles correspondent aussi aux r valeurs propres non


nulles de AA> ∈ Rm×m

I Les σi sont les valeurs singulières de A


q
I σi = σi2 ≥ 0. Les valeurs singulières sont toujours positives
ou nulles.

MTH1007: algèbre linéaire 6/16


La SVD Applications et exemples TD 12

Vecteurs singuliers (deux ensembles : u et v)


Soient de plus :
I v1 , v2 . . . , vr ∈ Rn les vecteurs propres correspondant aux
valeurs propres strictement positives de A> A.
Ils peuvent être pris comme orthonormaux, sont dans l’espace
des lignes de A, et sont appelés les vecteurs singuliers de A.
I vr+1 , vr+2 . . . , vn ∈ Rn une base orthonormale de N (A)
I u1 , u2 , . . . , ur ∈ Rm les vecteurs unitaires de C(A) définis par
1
ui = Avi pour i = 1, 2, . . . , r
σi
Ils sont orthonormaux, dans l’espace des colonnes de A, et des
vecteurs propres de AA> . Ils sont aussi appelés singuliers.
I ur+1 , ur+2 . . . , um ∈ Rm une base orthonormale de N (A> )
MTH1007: algèbre linéaire 7/16
La SVD Applications et exemples TD 12

Diagonalisation AVr = Ur Σr

I A est diagonalisée avec

Av1 = σ1 u1 , Av2 = σ2 u2 , . . . , Avr = σr ur

I Sous forme matricielle : AVr = Ur Σr :


 
σ1
  

A  v 1 · · · v r  =  u1 · · · ur  
 .. 
. 
σr

((m × n)(n × r) = (m × r)(r × r))

MTH1007: algèbre linéaire 8/16


La SVD Applications et exemples TD 12

Complétion de U , V , et Σ
I On complète Ur et Vr avec ur+1 , ur+2 , . . . , um et
vr+1 , vr+2 , . . . , vn pour obtenir les matrices U et V carrées
et orthogonales.
I Les matrices U et V contiennent alors des bases
orthonormales pour les quatre sous-espaces :

r premières colonnes de V : espace des lignes de A


n−r dernières colonnes de V : noyau de A
r premières colonnes de U : espace des colonnes de A
m−r dernières colonnes de U : noyau à gauche de A

I Nous passons aussi de Σr ∈ Rr×r à Σ ∈ Rm×n en ajoutant


m − r lignes de zéros et n − r colonnes de zéros.

MTH1007: algèbre linéaire 9/16


La SVD Applications et exemples TD 12

Décomposition A = U ΣV > (SVD)


On a
AV = U Σ et A = U ΣV >
avec les matrices
∈ Rn×n
 
V = v1 v2 · · · vn

∈ Rm×m
 
U= u1 u2 · · · um

0
 
σ1
 σ2 

 .. 0 
 ∈ Rm×n

Σ=
 . 

 0 σr 

0 0
MTH1007: algèbre linéaire 10/16
La SVD Applications et exemples TD 12

1. Décomposition en valeurs singulières (SVD)

2. Applications et exemples

3. TD #12

MTH1007: algèbre linéaire 11/16


La SVD Applications et exemples TD 12

Exemples

Donner la décomposition SVD des matrices


 
2 2
−1 1
et  
2 2
1 1

MTH1007: algèbre linéaire 12/16


La SVD Applications et exemples TD 12

Conditionnement d’une matrice


I Le conditionnement de la matrice A, noté κ(A), mesure à
quel point la solution de Ax = b change lorsque b change.
I C’est la sensibilité de Ax = b relativement à b.

I Il est préférable d’avoir κ(A) le plus petit possible afin de


minimiser l’erreur numérique sur x lors de la résolution de
Ax = b
I Avec une norme matricielle k.k, on a κ(A) = kA−1 k × kAk

I Avec les valeurs singulières, on a κ(A) = σσmax(A)


(A)
où σmin (A)
min
et σmax (A) sont les plus petite et plus grande valeurs
singulières, respectivement.

MTH1007: algèbre linéaire 13/16


La SVD Applications et exemples TD 12

Application : Approximation d’une matrice pour la


compression (avec pertes)

A = U ΣV > = σ1 u1 v1> + σ2 u2 v2> + · · · + σr ur vr>


peut s’écrire

> > >


A = σ(1) u(1) v(1) + σ(2) u(2) v(2) + · · · + σ(r) u(r) v(r)
avec (1) l’indice de la plus grande valeur singulière, (2) l’indice de
la deuxième plus grande valeur singulière, etc.
I Chaque matrice σi ui vi> est de rang 1
I Toute troncature à droite de cette somme donnera une
approximation de A.

MTH1007: algèbre linéaire 14/16


La SVD Applications et exemples TD 12

1. Décomposition en valeurs singulières (SVD)

2. Applications et exemples

3. TD #12

MTH1007: algèbre linéaire 15/16


La SVD Applications et exemples TD 12

TD #12

Exercices 6.7.11, 6.7.12, et 6.7.13 page 373

MTH1007: algèbre linéaire 16/16