Vous êtes sur la page 1sur 15

1/2 2/2

13. Décomposition en valeurs singulières


(SVD)
Section 6.7

MTH1007

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


École Polytechnique de Montréal

A2018
(v2)

MTH1007: algèbre linéaire 1/15


1/2 2/2

Plan

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

2. Applications et exemples

MTH1007: algèbre linéaire 2/15


1/2 2/2

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

2. Applications et exemples

MTH1007: algèbre linéaire 3/15


1/2 2/2

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 (ou orthonormaux).
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/15


1/2 2/2

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/15


1/2 2/2

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/15


1/2 2/2

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/15
1/2 2/2

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/15


1/2 2/2

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.
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/15


1/2 2/2

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/15


1/2 2/2

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

2. Applications et exemples

MTH1007: algèbre linéaire 11/15


1/2 2/2

Exemples

Donner la décomposition SVD des matrices


 
2 2
−1 1
et  
2 2
.
1 1

MTH1007: algèbre linéaire 12/15


1/2 2/2

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)


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

MTH1007: algèbre linéaire 13/15


1/2 2/2

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/15


1/2 2/2

TD #12

Exercices 6.7.11, 6.7.12, et 6.7.13 page 373.

MTH1007: algèbre linéaire 15/15

Vous aimerez peut-être aussi