Notes de cours
Algèbre Linéaire et Analyse Matricielle
3BIM INSA Lyon
2016-2017
v28112016
Ces notes de cours sont inspirées des livres de Algèbre des matrices de J Fresnel
[1] et Numerical Linear Algebra de LN Trefethen et D Bau III [2].
4 Regression linéaire et moindres carrés
On aimerait trouver une solution à un système sur-déterminé
Ax =b(1)
Aest une matrice m×net m > n, le vecteur inconnu xCnet le vecteur
de données bCm. En général, il n’existe pas de vecteur xtel que Ax =b.
L’image de Aest un s.e.v. de dimension au plus égale à n, et en général bn’en
fait pas partie, b/im A. Le problème des moindres carrés cherche à trouver
le vecteur xqui minimise la distance (euclidienne) qui sépare Ax de b, c.-à-d.
trouver xqui minimise la norme euclidienne des résidus r=bAx.
Dénition 1. Problème des moindres carrés. Étant donné ACm×n,m > n,
bCm, trouver xCntel que ||bAx||2est minimisé.
Exemples
Interpolation polynomiale. Soit mpoints distincts x1, x2, ..., xmC, et m
données y1, y2, ..., ymmathsC. Alors il existe un unique polynôme de degré
m1:p(x) = c0+c1x+...+cm1xm1tel que p(xi) = yipour tout i= 1, ..., m.
Le système qui décrit la relation entre xiet yiest donné par la matrice de
Vandermonde:
1x1x2
1... xm1
1
1x2x2
2... xm1
2
.
.
..
.
..
.
..
.
.
1xmx2
m... xm1
m
c0
c1
.
.
.
cm1
=
y1
y2
.
.
.
ym1
.(2)
Pour déterminer les coecients ci, on peut résoudre ce système d’équations
linéaires, qui est non-singulier pour des valeurs xidistinctes.
Ajustement polynomial par moindres carrés. Si maintenant on prend un polynôme
de degré n1inférieur à m1,p(x) = c0+c1x+... +cnxn1. Pour ajuster
ce polynôme au donnés dans le sens des moindres carrés, on veut minimiser la
1
norme euclidienne des résidus ri=p(xi)yi, c.-à-d. minimiser
m
i=1
|p(xi)yi|2.(3)
Le système linéaire devient
1x1x2
1... xn1
1
1x2x2
2... xn1
2
.
.
..
.
..
.
..
.
.
1xmx2
m... xn1
m
c0
.
.
.
cn1
y1
y2
.
.
.
ym1
.(4)
Ce système est sur-déterminé (méquations pour ninconnues). Comment
trouver cqui minimise r?
Revenons au problème Ax =b. L’objectif est de trouver xtel que Ax soit
le plus près de b. Géométriquement, on voit que le vecteur de résidus rest
minimisé (au sens des moindres carrés) si Ax est la projection orthogonale de
bsur im A, c.-à-d. si Ax =P b Pest le projecteur orthogonal sur im A. En
d’autres termes, le vecteur résidus rdoit être orthogonal à im A!
Cn
Cmn
im ACm
b
Ax
x
Théorème 4.1. Soit une matrice ACm×n,m>n, et une donnée bCm.
Un vecteur xCnminimise la norme des résidus ||r||2=||bAx||2, résolvant
ainsi le problèmes des moindres carrés, si et seulement si rest orthogonal à
im A, c.-à.d. si
Ar= 0 (5)
ou bien
A(Ax) = Abquations normales) (6)
2
On note que rest orthogonal à im Asi et seulement si pour tout yCn,
(Ay)r= 0, ou encore y(Ar)=0, ce qui implique Ar= 0. Les équations
normales s’obtiennent en prenant r=bAx.
La matrice AAest une matrice n×net est inversible si et seulement si
rang A=n. Le problème des moindres carrés à donc une solution unique si
et seulement si rang A=n. en ce cas, la solution est donnée par les équations
normales:
x= (AA)1Ab. (7)
La matrice (AA)1Aest appelée pseudo-inverse de A, et est dénotée
A+.
A+est une matrice n×m. Elle envoie les vecteurs bCmvers les vecteurs
xCn. Le problème des moindres carrés revient à calculer
x=A+b(8)
A+est la pseudo-inverse de A.
4.1 Algorithme des moindres carrés par décomposition
en valeurs singulières
Soit Aune matrice m×navec m > n. On suppose que rang A=n. On
construit une décomposition en valeurs singulières, A=ˆ
Uˆ
ΣV, avec ˆ
Uune
matrice m×n,ˆ
Σune matrice diagonale de valeurs singulières strictement
positives et Vune matrice unitaire n×n.
La matrice ˆ
Uest composée des vecteurs orthonormaux des semi-axes σiui=
Avide l’ellipse image de la sphère sous A. De plus ˆ
Uˆ
Uest un projecteur
orthogonal, qui projète bCmsur im A. Les ncolonnes de ˆ
U, dénotées ui
forment une base orthonormée de im A. Pour yim A,
y=
n
i=1
(u
iy)ui(9)
=
n
i=1
ui(u
iy)(10)
=
n
i=1
(uiu
i)y(11)
=ˆ
Uˆ
Uy. (12)
Le vecteur bse décompose en une partie dans l’image de Aet un partie or-
thogonale r:b=Ax +r. En applicant le projecteur de chaque côté, on obtient
ˆ
Uˆ
Ub=Ax.
3
De la décomposition en valeurs singulières
AAx =Ab(13)
se réécrit
(ˆ
Uˆ
ΣV)ˆ
Uˆ
ΣVx= ( ˆ
Uˆ
ΣV)b(14)
Vˆ
Σˆ
Uˆ
Uˆ
ΣVx=Vˆ
Σˆ
Ub. (15)
Vet ˆ
Σsont inversibles, et UU=I, donc
ˆ
ΣVx=ˆ
Ub. (16)
L’algorithme se déroule ainsi:
Algorithme 1. Régression linéaire.
1. Calculer une SVD réduite: A=ˆ
Uˆ
ΣV.
2. Calculer le vecteur ˆ
Ub.
3. Résoudre le système diagonal ˆ
Σz=ˆ
Ubpour z.
4. Ecrire la solution x=V z.
Exercice 1. Régression linéaire. Ecrivez en Python une routine pour faire une
régression linéaire sur deux vecteurs x, y Rm. Dans une régression linéaire,
on cherche a, b Rtels que yax +bdans le sens des moindres carrés,
c.-à-d. qu’on cherche un vecteur c=t(a, b)tels que la norme ||y(ax +b)|| est
minimisée. Pour ce faire, écrire le problème comme un problème d’ajustement
polynomial (de degré 1) sous la forme Ac =yet trouver cqui minimise le
vecteur de résidus r=yAc à l’aide de la décomposition en valeurs singulières
et de l’algorithme présenté. Générez des vecteurs xet yet testez votre routine.
Exercice 2. Vériez que la matrice UU est un projecteur orthogonal sur
im A.
References
[1] Jean Fresnel. Algebre des matrices. Hermann, 2013.
[2] Lloyd N Trefethen and David Bau III. Numerical linear algebra, volume 50.
Siam, 1997.
4
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !