Vous êtes sur la page 1sur 26

Solution au sens des moindres

arrés
Lorsque n geqp , le problème onsiste à re her her une solution au sens des
moindres arrés, 'est-à-dire la solution du problème suivant :

min kAx − bk2


x

or
kAx − bk2 = (Ax − b)⊤ (Ax − b)
= x⊤ A⊤ Ax − 2x⊤ A⊤ b + b⊤ b
= x⊤ B x − 2x⊤ b + d⊤ b
ave B = A⊤ A symétrique dénie positive.

min kAx − bk2 ⇐⇒ min x⊤ Ax − 2x⊤ b


x x

il faut al uler le gradient de J(x) = kAx − bk2


Cal ul du gradient

J(x) = 12 kAx − bk2

∇x J(x) = AT Ax − AT b
Cal ul du gradient

Ce qui reviens à résoudre le système linéaire symétrique de m équations à


m in onnues :

AT Ax = AT b
Ce système est en général mal onditionné ar le onditionnement de AT A
est le arré de elui de A
Les matri es orthogonales
Denition
Matri e orthogonale Une matri e est Q orthogonale si elle est arrée et si
sa transposée est son inverse Q ⊤ Q = I

par exemple les rotations et les symétries (réexions) qui en plus sont
symétriques. Les matri es de permutation simple aussi.
   
os θ sin θ os θ sin θ
Qrot = Qref
− sin θ os θ sin θ − os θ

Propriété : le produit de deux matri es orthogonales est orthogonal :

(Q1 Q2 )⊤ (Q1 Q2 ) = Q2⊤ Q1⊤ Q1 Q2 = Q2⊤ Q2 = I


La fa torisation QR
Soit A une matri e de n lignes et p olonnes

il existe :

◮ une matri e orthogonale Q de n lignes et n olonnes


◮ une matri e triangulaire supérieure R de n lignes et p olonnes

telles que : A = QR

si n > p, : bRb
B = QR = Q

Rb

Q= b
Q R=
0
La fa torisation QR totale ou réduite
Rb

R= Rb
0

b
Q B

Q= b
Q e
Q B

B = QR bRb + Q
B=Q bRb
e0 = Q

QQ ⊤ = Q ⊤ Q = I b⊤ Q
Q b=I bQ
Q b⊤ 6= I
Théorème de fa torisation QR

Theorem
siA est une matri e n × p ave p ≤ n de plein rang alors sa fa torisation
A = QR = Q bRb ave Qb une matri e orthogonale n × p et Rb une matri e
arrée de taille p dont tous les termes diagonaux sont positifs est unique.

Démonstration :
la fa torisation est donnée par onstru tion en utilisant l'algorithme
QR ,
A⊤ A = R ⊤ Q ⊤ QR = R ⊤ R = Rb⊤ Rb et la fa torisation de Choleski est
unique
Qb = Rb−1 A est aussi unique
Les matri es de Householder

Denition
Matri e de Householder Hv est une matri e de Householder de ve teur v si
elle s'é rit
2
Hv = I − ⊤ vv⊤
v v
exemple : v = (9, 1, 5, 1)⊤
 
−27 −9 −45 −9
1 
 −9 53 −5 −1 

Hv =
54  −45 −5 29 −5 
−9 −1 −5 53
Les matri es de Householder

Denition
Matri e de Householder Hv est une matri e de Householder de ve teur v si
elle s'é rit
2
Hv = I − ⊤ vv⊤
v v
exemple : v = (9, 1, 5, 1)⊤
 
−27 −9 −45 −9
1 
 −9 53 −5 −1 

Hv =
54  −45 −5 29 −5 
−9 −1 −5 53
Propriétés des matri es de Householder

Hv est orthogonale,

Hv⊤ Hv = (I − v⊤2 v vv⊤ )⊤ (I − v⊤2 v vv⊤ )


2
= (I − 2 v⊤2 v vv⊤ + v⊤2 v vv⊤ vv⊤
2
= I − 2 v⊤2 v vv⊤ + v2⊤ v vv⊤
=I

Hv est symétrique
Hv⊤ = (I − v⊤2 v vv⊤ )⊤
= I − v⊤2 v vv⊤
= Hv
Constru tion des matri es de Householder

Obje tif
Soit u un ve teur donnée. Comment onstruire Hv pour que que

Hv u = αe1 omment trouver α

Le ve teur
u + signe(u1 )kuke1
v=
ku + signe(u1 )kuke1
onvient et Hv = I − 2vv T .
La méthode:
(1)  (1) (1) (1) 
Soit la matrice A = A = a1 , a2 , , an
 
où les ai ∈ R représentent les vecteurs
n

colonnes de la matrice A.
 Etape 1:

(1)
v ←a1 + sign a11 ( )(1) (1) (1)
a1 e1 puis normaliser v =
2
v
v2

(
H1 = I − 2v v(1) (1)t
) (1)
( )
(1) (1)
on a H1a1 =−sign a11 a1 e1
2
1

(2)
 (2) (2) 
On pose A = 1e1, a2 ,, an 
 ( 2) ( 2) 
 a1 a12  a1n 
 ( 2) ( 2) 
( 2) 
A = 0 a22  a2n 
 
     
 ( 2) ( 2) 
 0 an2  ann 
 Etape 2:
(2)
v = a2 puis on pose v1=0
v
v ←v + sign(v2 ) v 2 e2 puis on normalise v =
(2)
v2
 ( 2) 
 Etape 2:  a12 

( )
 ( 2 ) ( 2) 
 −sign a22 a2 
 
( )
2
( 2) (t 2) ( 2)  
H 2 = I − 2v v on a H 2a2 = 0
  
 
 0 
 ( 2) ( 2) a( 2) 
 a 1 a12 a12   1n 
  (3)
 (3) 
 0 a2 a23  a2 n 
(3) ( 2)  (3) (3) 
A = H2 A = 0 0 a33  a3n 
 
      
 (3) (3) 
0 0 an3  ann
 
 
Algorithme (Factorisation QR par Householder):
(1) (1) (1) (1) 
A = A = a1 , a2 ,, an 
Pour k =1,2,, n
(k )
v = ak puis on pose v1=0,vk−1=0
v
v ←v + sign(vk ) v 2 ek puis on normalise v = (k )
v2

( (k ) (k )t
Hk = I − 2v v ), (k +1)
A (k )
= Hk A

fin (k ). R = A(n+1)
et Q = H1H2 Hn
La fa torisation QR

H1 A = A1
H2 H1 A = A2
.. ..
Hn . . . H1 A =R
A = H1 . . . Hn R
| {z }
Q
La fa torisation QR et les moindres arrées
Soit Q une matri e orthogonale et R une matri e triangulaire supérieure.
si on a B = QR ave Q une matri e orthogonale B ⊤ = R ⊤ Q ⊤ et
A = B ⊤ B = R ⊤ Q ⊤ QR = R ⊤ R et don

Ax − b = B ⊤ B x − B ⊤ d
= R ⊤R x − R ⊤ Q ⊤ d
= R ⊤ (R x − Q ⊤ d)
= Rb⊤ (Rbx − Q
b⊤ d) + 0⊤ (0x − Q
ed)
= Rb (Rbx − Q
⊤ b d)

si Rb est régulière :
min kB x − dk2 ⇐⇒ Ax = b ⇐⇒ Rbx = Q
b⊤d
x

Attention aux dimensions. On a bR


B = QR = Q b
Algorithme du Gramm S hmitt et la
dé omposition QR
Procédé de Gram-Schmidt
 On propose d’orthonormaliser la famille de
vecteurs
A = {a1 , a2 , , am }

• La normalisation du vecteur a1 est donnée par


r1 1 = a 1 e t q = a 1
1
a 1

• Soustraire à a 2 sa projection orthogonale sur q 1


puis
normaliser le résultat
w2
w2 = a2 − a2 , q1 q1 → r12 = a2 , q1 , r22 = w2 2
et q2 =
w2 2
• Soustraire à a 3 sa projection orthogonale sur {q 1
,q
2
} puis
normaliser le résultat
w3
w 3 = a 3 − a 3 , q1 q1 − a 3 , q 2 q 2 → q3 =
w3 2
r13 = a 3 , q1 , r23 = a 3 , q 2

• A l’étape k, soustraire à a k sa projection orthogonale sur


{ q 1, q 2 ,  , q k − 1} puis normaliser le résultat
k −1
wk
wk = a k − ∑ a k , q i q i → rik = a k , q i , q k =
i =1 wk 2

Et faire ceci de k=1 jusqu’à m


On obtient alors,
a1 = r1 1 q1
a 2 = r1 2 q1 + r2 2 q 2
a 3 = r1 3 q1 + r2 3 q 2 + r3 3 q 3

a m = r1 m q1 + r2 m q 2 +  + rm m q m
D’où la factorisation suivante :
A = Q R o ù Q = [ q1 , q 2 ,  , q m ] ∈ R n × m
 r1 1 r1 2  r1 m 
 
 0 r2 2  r2 m 
et R = ∈ R m×m
     
 
 0 0  rm m 
u n e m a tric e tria n g u la ire s u p é rie u re
Exemple
0 1 1 0  1  1
       
Soit A = 1 −1 0 a1 =  1  , a 2 =  − 1  et a 3 =  0 
1 1  1  0  1
 0      
Procédé de Gram-Schmidt:
0 
a 1  
r1 1 = 2 et q = 1
=  1 
1
a 1
2  
1 
   
 1   1 
1  0    
  −1 1    1  −1 3 2  1
w2 =  −1 − ⋅  1  = − → r12 = , r22 = et q2 = −
 0  2 2  1   2  2 2 3  2
 1 
    1
   
 2   2 