Chapitre 6 : Curve fitting

Transcription

Chapitre 6 : Curve fitting
Table de matières
•
•
•
•
•
•
•
Chapitre 6 : Curve fitting
Introduction au calcul numérique.
Analyse des erreurs.
Résolution des systèmes linéaires.
Résolution numérique des équations différentielles ordinaires.
Interpolation.
Curve fitting.
Résolution des équations non linéaires.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.1
La loi du mouvement planétaire
• En 1601, l’astronome allemand Johannes Kepler formula la
troisième loi du mouvement planétaire
T = Cx3/2
qui lie la distance x de la planète au soleil (en million de
kilomètres) et la période orbitale T (en jours).
• La valeur du coefficient C = 0.199769 fut trouvée grâce à la
méthode de moindres carrés proposée par K. F. Gauss (Theoria
Motus Corporum Caelestium, 1809).
• Cette méthode permit la prédiction de l’orbite de l’astérode Cérès
découvert le jour du Nouvel An de 1801 par l’astronome italien
Giuseppe Piazzi. Piazzi avait pu suivre sa trajectoire durant
seulement 40 jours avant que il ne disparaisse derrière le soleil.
• Durant cette année, plusieurs scientifiques ont tenté de prédire sa
trajectoire sur la base des observations de Piazzi. La plupart des
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
prédictions furent erronées ; et le seul calcul suffisamment précis
pour permettre de localiser à nouveau Cérès à la fin de l’année,
fut celui de Gauss, alors âgé de 24 ans.
p.2
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.3
Les valeurs numériques pour la loi du
mouvement planétaire
Curve fitting
• Nombreuses applications nécessitent de représenter de manière
synthétique un grand ensembles de données discrètes pouvant
résulter de mesures expérimentales.
• Dans ce cas, l’approche par interpolation peur être inefficace pour
deux raisons :
Les couples de valeurs (xi , Ti ) observés pour les planètes Mercure,
Vénus, Terre et Mars sont (58, 88), (108, 225), (150, 365) et (228, 687).
T: Orbital period
T=Cx3/2
1. si le nombre de données est grand, le polynôme interpolant
peut présenter des oscillations importantes.
2. les données sont entachées de bruit.
Mars
• Au lieu de l’interpolation une approximation des données, appelée
lissage ou fitting des données, peut être effectuée en utilisant la
méthode discrète des moindres carrés.
• La méthode des moindres carrés permet de décrire des données
expérimentales, généralement entachées d’erreurs de mesure par
un modèle mathématique censé approcher ces données.
Earth
Venus
Mercury
M. Jansen, G. Bontempi
x: Distance to sun
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.4
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.5
Données et approximation
Supposons de mesurer 2 variables corrélées Q et I, où Q est la
chaleur dissipée par une résistance R = 2Ω et I est le courant
passant à travers R.
Précision d’une approximation
Q: Heat
On se donne
1. n + 1 couples de valeurs (xi , yi ), i = 0, . . . , n où yi représente,
par exemple, une quantité physique mesurée à la position xi .
2. une fonction d’approximation h(·).
Nous définissons l’erreur d’approximation en xi , par
ei = h(xi ) − yi
i = 0, . . . , n
I: current
L’approximation par polynôme interpolant ne révèle pas la relation
quadratique existante entre I et Q.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.6
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.7
Précision d’une approximation
Avantages d’une norme euclidienne
Plusieurs normes peuvent être considérées afin de mesurer
l’éloignement de la fonction h(·) des données.
Ensuite nous utiliserons la norme E2 (RMSE) afin de mesurer la
précision d’une approximation pour les raisons suivantes :
Erreur absolue maximale : E∞ (h) = max {|h(xi ) − yi |}
0≤i≤n
• les écarts négatifs ei < 0 n’effacent pas les écarts positifs ej > 0,
• l’optimisation basée sur la différentiation de E2 est plus facile,
• les petits écarts sont réduits et les grands écarts sont amplifiés.
n
1 X
Erreur absolue moyenne : E1 (h) =
|h(xi ) − yi |
n + 1 i=0
Root-mean-square error (RMSE) :
E2 (h) =
M. Jansen, G. Bontempi
1
n+1
n
X
|h(xi ) − yi |2
i=0
INFO-F-205 Calcul Num.
!1/2
=
Afin d’introduire la méthode de moindre carrés, nous présentons la
notion de système linéaire surdéterminé.
k~h − ~y k2
n+1
Chap. 6: Curve Fitting
p.8
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.9
Rang d’une matrice rectangulaire
Soit A une matrice rectangulaire n × m.
Définition
Le déterminant extrait (appelé aussi mineur) d’ordre q est le
déterminant de n’importe quelle matrice d’ordre q obtenue à partir
de A en eliminant n − q lignes et m − q colonnes.
Systèmes surdéterminés
• Soit donné le système linéaire A(n×m) ~z = b(n×1)
• Si n = m et si A est inversible alors la solution du système linéaire
existe et est unique.
• Si n > m le système est dit surdéterminé.
• Un système surdéterminé n’admet pas une solution au sens
classique mais il admet une solution au sens des moindres
carrés.
Définition
Le rang rg(A) ou rang(A) de A est la taille du plus grand mineur non
nul de A. Une matrice est de rang maximum si rg(A) = min(m, n).

5 2
 
1 0
 
1

 
 
 
 
Les matrices 
 1 5 ,  2 0 ,  2
3 7
0 2
3
ont respectivement rang 2, 2 et 1.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.10
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
2


4 

6
Chap. 6: Curve Fitting
p.11
Exemple
Solution au sens des moindres carrés
R
• Donc ~z∗ = arg minz1 ,z2 ,...,zm
Pn
i=1
bi −
Pm
j=1 aij zj
R
Considérons le système surdéterminé où n = 3 et m = 2 et la
matrice A a rang maximal





1
5 2 



 z
 1 5  1  =  3 




z2
2
3 7
m
2
La surface est les courbes de niveau de Φ(~z) :
• Le problème aux moindres carrés est un problème d’optimisation
convexe et consiste à minimiser la norme euclidienne du résidu.
• Puisque dans un problème d’optimisation convexe un minimum
local est aussi un minimum global, la solution peut être déterminée
en imposant au gradient de la fonction Φ de s’annuler en ~z∗ .
1
0.8
300
0.6
250
0.4
200
1 2
Φ(z ,z )
0.2
150
z2
R
• Etant donné A ∈
avec n > m et ~b ∈ n on dit que ~z∗ ∈
est une solution du système linéaire A~z = ~b au sens des
moindres carrés si Φ(~z∗ ) = min~z∈Rm Φ(~z), où
Pn
Pm
Φ(~z) = kA~z − ~bk22 = i=1 |bi − j=1 aij zj |2
n×m
0
100
−0.2
50
−0.4
0
1
−0.6
1
0.5
0.5
0
−0.8
0
−0.5
z2
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.12
M. Jansen, G. Bontempi
−0.5
−1
−1
−1
−1
−0.8
−0.6
z1
INFO-F-205 Calcul Num.
−0.4
−0.2
0
z1
0.2
0.4
0.6
0.8
1
Chap. 6: Curve Fitting
p.13
équations normales
Exemple
• Puisque Φ(~z) = (A~z − ~b)T (A~z − ~b) = ~zT AT A~z − 2~zT AT ~b + ~bT ~b
∂~zT T
∂~z
∂~zT T ~
∂Φ(~z)
=
A A~z + ~zT AT A
−2
A b
on a
∂zi
∂zi
∂zi
∂zi
d’où : ∇Φ(~z∗ ) = 2AT A~z∗ − 2AT ~b = 0
• Il en découle que ~z∗ doit être solution du système carré (m × m)
AT A~z∗ = AT ~b
Le système surdéterminé A~z = ~b





5 2 
1

 z


 1 5  1  =  3 




z2
3 7
2
appelé système des équations normales.
• Si A est de rang maximal, le système des équations normales est
non singulier et la solution ~z∗ existe et est unique.
• Soit ~r = ~b − A~z∗ le résidu associé à la solution ~z∗ . Il s’ensuit
conduit au système des équations normales


 

35 36
z1
14


=

36 78
z2
31
que AT ~r = AT ~b − AT A~z∗ = 0
c.-à-d. le vecteur r est orthogonale aux colonnes de A.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.14
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.15
Résolution des équations normales
Si A est de rang maximum :
• Dans le système AT A~z∗ = AT ~b, la matrice des coefficients est
symétrique et définie positive.
• On pourrait imaginer une résolution par factorisation de Cholesky.
Cependant cette méthode a deux inconvénients majeurs
qui a comme solution et residu

~z∗ = 
−0.0167
0.4052

,
Notons que AT ~r = [0, 0]

0.2734




~r = ~b − A~z∗ = 
0.9909


−0.7859
1. le système est mal conditionné
2. les erreurs d’arrondi dans le calcul AT A peuvent entraı̂ner une
perte du nombre de chiffres significatifs
• Il est en général plus efficace d’utiliser la factorisation QR pour
matrices rectangulaires. (pas discuté dans ce cours)
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.16
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.17
Factorisations matricielles (un petit aperçu)
– Utilsée pour
1. La factorisation LU A = LU
– A matrice carrée générique ; L triangulaire inférieure, U
triangulaire supérieure
– Elaboration de l’élimination selon Gauss
– Cas spécial : Cholesky (pour A symétrique)
– Utilsée pour
1. La résolution d’un système au sens des moindres carrés
kA~z − bk = kQR~z − bk = kR~z − QT bk
2. La solution des systèmes réguliers
3. Décomposition en éélments propres ; décomposition
spectrale A = EΛE −1
– A matrice carrée générique ;
E matrice inversible contenant en colonnes les vecteurs
propres de A
Λ matrice diagonale contenant les valeurs propres de A
– Utilise pour
1. La résolution (numérique) d’un système d’équations
2. L’inversion d’une matrice
3. Le calcul d’un déterminant
2. La factorisation QR A = QR
– A matrice carrée ou rectangulaire générique ; Q matrice
orthogonale ; R matrice triangulaire
– Elaboration de l’orthogonalisation de Gram-Schmidt
– Algorithmes alternatifs : Givens/Householder
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
1. L’évaluation d’une fonction matricielle ; p.ex. : Ak = EΛk E −1 ,
∞
X
1
eA =
EΛk E −1
k!
k=0
p.18
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.19
Moindres carrés et pseudo-inverse
Si A n’est pas de rang maximal :
• le système des équations normales est singulier
• on a un nombre infini de solutions.
• on doit imposer une contrainte supplémentaire pour forcer l’unicité
de la solution. Par exemple chercher à minimiser la norme
euclidienne de ~z∗ .
Le problème peut alors être formulé ainsi :
trouver ~z∗ ∈ m de norme euclidienne minimale tel que
kA~z∗ − ~bk22 = min~z∈Rm kA~z − ~bk22
2. L’analyse de stabilité physique d’un système
– Pour A symétrique, E est orthogonale : E −1 = E T
– Quand le nombre de vecteurs propres est inférieur à la taille, Λ
sera quasi-diagonale
4. Décomposition en valeurs singulières A = U ΣV T
– A matrice carrée ou rectangulaire générique ;
U et V : matrices orthogonales
Σ matrice diagonale avec les valeurs singulières
– Les valeurs singulières sont les racines carrées des valeurs
propres de AT A :
T
AT A = U ΣV T
U ΣV T = V Σ2 V T
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
R
Double minimisation
1. A~z∗ − ~b A~z∗ − ~b = kA~z∗ − ~bk22 = min~z∈Rm kA~z − ~bk22 ⇔
AT A~z∗ = AT ~b (Equations normales)
2. ~z∗T ~z∗ = k~z∗ k22 =
p.20
M. Jansen, G. Bontempi
min
~
z |AT A~
z =AT ~b
k~zk22
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.21
Les propriétés définissantes
AA† A = A
Moindres carrés et pseudo-inverse (2)
∗
Supposons que A~
z = ~b où b est la iième colonne de A. Alors, le résidu
∗
~
~
~
r = A~
z − b = 0, car, au moins ~
z = ~ei (le iième colonne de la matrice identité) est
une solution exacte. Par conséquent, A† b doit être une solution exacte : AA†~b = ~b.
†~
L’ unique solution de ce problème est ~z = A b
où A†(m×n) est la pseudo-inverse de A.
Ceci se répète pour toutes les colonnes de A, ce qui nous conduit à la propriété.
La notion de matrice pseudo-inverse généralise la notion d’inverse
aux matrices rectangulaires.
A† AA† = A†
Quant ~
z = A†~b, le vecteur ~
z n’est pas nécessairement une solution du système
surdéterminé A~
z = ~b, mais bien du système des équations normales associé.
La matrice pseudo-inverse satisfait les propriétés suivantes :
AA† A = A
A† AA† = A†
(AA† )T = AA†
(A† A)T = A† A
Donc AT A~
z = AT ~b.
Etant donné un vecteur ~b arbitraire, on constate que
z1∗ = A† AA† ~b est la solution pseudo-inverse pour le problème
1. (a) ~
A~
z = AA†~b, dont les équations normales associées sont
T
z∗
A A~
z1∗ = AT AA†~b = AT A~
∗
†
(b) ~
z = A ~b est la solution pseudo-inverse pour le système original, dont les
équations normales associées sont AT A~
z ∗ = AT ~b
Les propriétés définissent la matrice A† , c.-à-d., elle est l’unique matrice de taille (m × n) qui satisfait les 4 prop.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.22
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.23
Propriétés de la matrice pseudo-inverse
(c) En combinant les résultats précédants, on arrive à
AT A A† AA† ~b = AT ~b
†
Donc, A AA† ~b est une solution du système des équations normales
associé au problème original
• Propriétés définissantes
Elle est la seule matrice de taille (m × n) qui satisfait les quatre
propriétés suivantes
2. On trouve facilement que ~
z ∗ est une solution du système des équations
normales
AT A~
z = AT AA†~b , dont ~
z1∗ est la solution pseudo-inverse.
∗
2
∗
z1 k2 ≤ k~
z k22 .
Donc, k~
z ∗ est la solution pseudo-inverse du problème original et ~
z1∗ est une
Puisque ~
solution pour ses équations normales avec une norme euclidienne inférieure,
~
z1∗ = ~
z∗ .
z1∗ = A† AA† ~b = A†~b = ~
z ∗ , d’où
3. On a, pour tout vecteur ~b arbitraire, que ~
†
†
†
A AA = A
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
AA† A = A
A† AA† = A†
(AA† )T = AA†
(A† A)T = A† A
• Autres propriétés sont
(A† )† = A (pour raison de l’unicité de la pseudo-inverse)
(aA)† = a−1 A†
si a ∈
R
• Si r = m < n (rang maximal) alors A† = (AT A)−1 AT
• Si r = m = n alors A† = A−1 .
p.24
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.25
Exemple
Pseudo-inverse et décomposition
Considérons le système surdéterminé où n = 3 et m = 2 et la
matrice A a rang égal à 1





1 2 
1

 z


 2 4  1  =  3 




z2
3 6
2
Si il est possible de décomposer la matrice A dans le produit
A = BC de deux matrices orthogonales B et C, la matrice suivante
satisfait les propriétés de la pseudo-inverse A† = C T B T
Par exemple
T T †
BC
(C
| {zB }) = |{z}
A
A†
1
T
250
0.4
150
0.2
A
z2
1 2
Φ(z ,z )
0.6
200
100
0
−0.4
0
1
−0.6
1
0.5
0.5
0
A†
−0.8
0
−0.5
z2
M. Jansen, G. Bontempi
−0.5
−1
−1
−1
−1
z1
INFO-F-205 Calcul Num.
−0.8
−0.6
−0.4
−0.2
0
z1
0.2
0.4
0.6
0.8
1
Chap. 6: Curve Fitting
A†
A
p.26
T
A
T T
BC C
C
| {zB } = C
| {zB }
| {zB } |{z}
T
−0.2
50
T
BC C
BC = |{z}
BC
|{z}
| {zB } |{z}
0.8
T
A
M. Jansen, G. Bontempi
A†
T
A†
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.27
Trouver la pseudo-inverse : décomposition
SVD
Supposons que An×m soit une matrice réelle de rang r < m. Pour
toute matrice A, il existe une décomposition
T
A = Un×n Σ(n×m) Vm×m
en valeurs singulières (en anglais
Singular Value Decomposition) où

Σ(n×m)




=




σ1
0
...
0
...
0
0
σ2
...
0
...
0
.
.
.
..
.
0
0
...
σr
0
0
0
0
...
0
...
0
...
0
.
.
.
0
.
.
.
0
...
0

et Un×n et Vm×m sont matrices orthogonales.









où σ1 ≥ · · · ≥ σr > σr+1 = · · · = σm = 0 sont les
valeurs singulières de A,
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.28
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.29
Pseudo-inverse
Decomposition SVD
Définition[Pseudo-inverse]La matrice m × n A† = V Σ† U T est
appelée matrice pseudo-inverse de Moore-Penrose ou inverse
généralisée, où
 1
Notons aussi que
• Le nombre de valeurs singulières non nulles indique le rang de la
matrice.
• Si la matrice est singulière, toutes les valeurs singulières sont
nulles
p
• il existe le lien σi = λi (AT A), i = 1, . . . , m où λi (AT A) sont
σ1
Σ†m×n
les valeurs propres de la matrice carrée et symétrique AT A.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
= diag
1
1
σ1 , . . . , σr , 0, . . . , 0



=


0
0
...
0
0
0
...
0
..
...
.
0
0
0
...
0
0
...
0
0
0
1
σr
0
0
.
.
.
.
.
.
.
.
.
..
.
.
.
.
0
...
0
0
0
...
0
0
0
...
0
où σ1 , . . . , σr sont les valeurs singulières non nulles de A.
p.30
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting







p.31
Exemple pseudoinverse : rang 1
Exemple pseudoinverse : rang maximal


1

A=
 2
0
0




T

0 
 = U ΣV =  −0.8944
2
0
A † = V Σ† U T =


0.4472
−1
0


0
0
−1

=
0.2
0
−0.4472
0.4
0
0
0.5
M. Jansen, G. Bontempi
0
0.5
0
0





0
0
−1
0.8944

2.2361


−0.4472 

0
−0.4472
−0.8944
0
0
0.8944
−0.4472
0
0
0
0



−1

2 

0
0
0

−1

A † = V Σ† U T
=


−0.4472 −0.8944
0.1195


−0.8944
0.4472
0


−1 

0

 = (AT A)−1 AT
INFO-F-205 Calcul Num.

=
Chap. 6: Curve Fitting
p.32
Approximation aux moindres carrés (I)
yi −
i=0
n h
i2
X
yi − πm (xi )
≤
0.0571
0.0857

M. Jansen, G. Bontempi
c∈
∀πm (x) ∈ P m
0
0
0
0





−0.8944

0.4472


−0.2673
−0.5345
−0.8018
0.9562
−0.0439
0.1195
−0.8440

−0.2895 

0.5228
INFO-F-205 Calcul Num.
R
z∈
Chap. 6: Curve Fitting
0


−0.4472

0 
−0.8944
0
Chap. 6: Curve Fitting
p.33
m
X
xj cj le problème
i=0
j=0
Ce qui est de la forme gén’erale d’une solution z ∗ au sens des
moindres carrés d’un système surdeterminé Az = b :

2
n
m
X
X
bi −
aij zj 
z ∗ = arg minm kAz − bk22 = arg min
i=0
INFO-F-205 Calcul Num.
0.0286
0

j=0
où P m est l’ensemble des polynômes de degré m.
M. Jansen, G. Bontempi
0.0429



0
peut être formulé en termes du vecteur ~c des coefficients cj
inconnus :

2
n
m
X
X
j
yi −
• ~c∗ = arg minm
xi cj 
le polynôme de degré m ≤ n tel que
i2
0.0286
8.366
• En notant πm (x) = cm xm + · · · + c1 x + c0 =
Π∗m (x) = c∗m xm + · · · + c∗1 x + c∗0
Π∗m (xi )
0.0143


Le pôlynome aux moindres carrés dans la
formulation générale
• Voyons comment utiliser la méthode de résolution d’un système
surdéterminé dans le problème du curve-fitting.
• On se donne n + 1 couples de valeurs (xi , yi ), i = 0, . . . , n où yi
représente, par exemple, une quantité physique mesurée à la
position xi .
• Définition
On appelle polynôme aux moindres carrés
n h
X

1 2


T

A=
 2 4  = U ΣV
3 6

−0.2673
0.9562
0.1195


=  −0.5345 −0.0439 −0.8440
−0.8018 −0.2895
0.5228
p.34
M. Jansen, G. Bontempi
R
z1 ,z2 ,...,zm
INFO-F-205 Calcul Num.
i=1
j=1
Chap. 6: Curve Fitting
p.35
La formulation matricielle du pôlynome aux
moindres carrés
Formulation avec des fonctions générales
R
On peut considérer le même problème quand on utilise des fonctions
de base ϕj (x) plus générales.
• Donc, trouver les coefficients {c∗j ∈ , j = 0, . . . , m} du polynôme
aux moindres carrés Π∗m (x) revient à résoudre le système
surdeterminé de taille (n + 1) × (m + 1) :
m
X
xji cj = yi
i = 0, . . . , n
Jusqu’ici, nous avions : πm (x) =
En faisant l’association ϕj (x) = xj
• Si m < n ceci équivaut à résoudre le système surdétérminé
X~c = ~y où X((n+1)×(m+1)) est une matrice rectangulaire telle
que ses éléments prennent la forme
Xi+1,j+1 = xji , i = 0, . . . , n, j = 0, . . . , m et ~y est un vecteur de
taille (n + 1) × 1.






y0
c0
1
x0 . . . xm
0











• X=
 · · · · · · · · · · · ·  , ~y =  · · ·  , ~c =  · · · 
yn
cm
1
xn . . . xm
n
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
xj cj
j=0
j=0
M. Jansen, G. Bontempi
m
X
on arrive à la généralisation πm (x) =
Pm
ce qui correspond avec la matrice

ϕ0 (x0 ) ϕ1 (x0 ) . . . ϕm (x0 )


X =  ···
···
···
···
ϕ0 (xn ) ϕ1 (xn ) . . . ϕm (xn )
p.36
M. Jansen, G. Bontempi
j=0
ϕj (x)cj


.

INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.37
Exemple
Approximation aux moindres carrés
Considérons les n + 1 données (n = 3)
• Si X a rang maximal, le vecteur colonne ~c∗(m+1)×1 = [c∗0 , · · · , c∗m ]T
est la solution du système aux équations normales
x1
x2
x3
y
y1
y2
y3
y0
et le polynôme aux moindres carrés d’ordre m = 2 < n
Π∗m (x) = c∗0 ϕ0 (x) + c∗1 ϕ1 (x) + c∗2 ϕ2 (x) = c∗0 + c∗1 x + c∗2 x2
X T X~c = X T ~y
Le vecteur des coefficients ~c∗i est la solution du système
correspondante X~c = ~y où
• et le polynôme
Π∗m (x)
=
m
X
c∗j ϕj (x)

j=0
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
1

 1


 1

1
est l’approximation au sens des moindres carrés des données
(xi , yi ), i = 0, . . . , n.
M. Jansen, G. Bontempi
x x0
p.38
M. Jansen, G. Bontempi
x0
x1
x2
x3
x20




y0

 c0


 
x21 
y1 



 c  = 

2  1 

x2 
y2 


c2
x23
y3
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.39
Exemple Matlab pour n = 3 et m = 2
Régression linéaire
x
0
0.5
1
1.5
y
0
0.4794
0.8415
0.9975
• Si m = 1, la solution
Π∗1 (x) = c∗0 ϕ0 (x) + c∗1 ϕ1 (x) = c∗0 + c∗1 x
Fonction Matlab pinv.m calcule la pseudo-inverse.
est une fonction linéaire, appelée régression linéaire associée
aux données.
• Puisque,




ϕ0 (x0 ) ϕ1 (x0 )


ϕ0 (x0 ) . . . ϕ0 (xn )

,X =  ···
XT = 
·
·
·


ϕ1 (x0 ) . . . ϕ1 (xn )
ϕ0 (xn ) ϕ1 (xn )
Script s least.m
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.40
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.41
Droite de régression linéaire
• Etant ϕ0 (x) = 1 et ϕ1 (x) = x, la solution est une droite de
coefficients c0 et c1 qui satisfont le système à 2 équations et 2
inconnues

 (n + 1)c + c Pn x = Pn y
0
1
i=0 i
i=0 i
 c0 Pn xi + c1 Pn x2 = Pn xi yi
• le système d’équations normales correspondantes à
X T Xc = X T y est
Pn
Pn
Pn
i=0 ϕ0 (xi )ϕ0 (xi )c0 +
i=0 ϕ0 (xi )ϕ1 (xi )c1 =
i=0 ϕ0 (xi )yi
Pn
Pn
Pn
i=0 ϕ1 (xi )ϕ0 (xi )c0 +
i=0 ϕ1 (xi )ϕ1 (xi )c1 =
i=0 ϕ1 (xi )yi
i=0
i=0
c1
=
i=1
n
X
=
(xi − x)
i=1
c2
=
1
n
n
X
i=1
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
i
i=0
Dont la solution s’écrit comme
n
n
X
X
(xi − x)(yi − y)
(xi − x)yi
p.42
M. Jansen, G. Bontempi
i=1
2
yi − c1
n
X
i=1
xi
n
X
(xi − x)2
i=1
!
avec
x
y
=
=
= y − c1 x
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
1
n
1
n
Pn
i=1
xi
Pn
i=1 yi
p.43
Exemple de régression linéaire (I)
Exemple de régression linéaire (II)
Soit n = 4, m = 1, ϕ0 (x) = 1 et ϕ1 (x) = x. étant donné
xi
1
3
4
6
7
yi
-2.1
-0.9
-0.6
0.6
0.9
le système aux équations normales est

5c + 21c
= −2.1
0
1
21c0 + 111c1 = 2.7
et la solution est

c∗ = −2.542
0
c∗ = 0.505
Script s least2.m
1
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.44
Trade-off overfitting/underfitting
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Les Radial Basis Functions (RBF) sont un exemple connu de
réseau des neurones. L’idée est de poser ϕ0 (x) = 1 et
#
"
−(x − µj )2
j≥1
ϕj (x; µj , σj ) = exp
σj2
Exemple : ordre du polynôme interpolant.
2
1.5
1
dans l’expression h(x) =
0.5
m
X
cj ϕj (x; µj , σj )
j=0
0
La fonction noyau (kernel function) ϕj (x) est une fonction de base
radiale symétrique autour d’un centre µj et caractérisée par une
largeur σj .
−0.5
−1
−1.5
−2
−1
0
1
2
R
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
R
Si les termes µj ∈ et σj ∈ j = 1, . . . , m sont connus, alors le
fitting de la fonction h aux données est fait par la méthodes des
moindres carrés.
3
Voir le script Matlab s unstable2.m.
M. Jansen, G. Bontempi
p.45
Radial Basis Functions (RBF)
Un problème typique de l’analyse des données est la recherche de
la complexité optimale de la fonction qui approche les données.
−2
−3
Chap. 6: Curve Fitting
p.46
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.47
Fitting par moindres carrés de RBF
R
R
Si les termes µj ∈ et σj ∈ j = 1, . . . , m sont connus, le fitting du
RBF revient à écrire le système surdeterminé



y0 = c1 ϕ1 (x0 ) + c2 ϕ2 (x0 ) + · · · + cm ϕm (x0 )




y1 = c1 ϕ1 (x1 ) + c2 ϕ2 (x1 ) + · · · + cm ϕm (x1 )
..


.




yn = c1 ϕ1 (xn ) + c2 ϕ2 (xn ) + · · · + cm ϕm (xn )
Autrement, techniques non linéaires sont nécessaires pour estimer
les termes µj et σj , j = 1, . . . , m .
qui peut être écrit
Y = Xc
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.48
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.49
Exemple RBF en MATLAB
Number of basis functions m=7
1
Points
RBF
0.9
0.8
où
0.7


Y =

y0
..
.
yn



,




X=

ϕ1 (x0 )
..
.
...
..
.
ϕm (x0 )
..
.
ϕ1 (xn )
...
ϕm (xn )



,

0.6
y

c = [c1 , . . . , cm ]T
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
x
0.6
0.7
0.8
0.9
1
Voir le script Matlab s rbf.m.
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.50
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.51
Problèmes multivariés
RBF et fitting multivarié
L’utilisation de polynômes pour problèmes de fitting avec d > 1
dimensions {x(1) , . . . , x(d) } est problématique à cause du grand
nombre des paramètres.
L’extension de RBF au cas multidimensional est facile
h(x) = c0 +
Par exemple, l’expression d’un polynôme de degré m = 3 pour d = 2
dimensions est
m
X
cj ϕj (x(1) , . . . , x(d) )
j=1
où
Π3 (x, z) = a0 +a1 x+a2 z+a3 x2 +a4 z 2 +a5 xz+a6 x3 +a7 x2 z+a8 xz 2 +a9 z 3
ϕj (x) = exp
et pour d dimensions est
Πm (x(1) , . . . , x(d) ) = c0 +
d
X
c1h x(h) +
h=1
+
d
d
d
X
X
X
d
d
X
X
c2h1 h2 x(h1 ) x(h2 ) +
et σj ∈
h1 =1 h2 =1
R, x ∈ Rd , µ j ∈ Rd .
kx − µj k2
σj2
Si µj et σj sont connus, les parametres cj peuvent être calculés par
la méthode des moindres carrés.
c3h1 h2 h3 x(h1 ) x(h2 ) x(h3 )
h1 =1 h2 =1 h3 =1
Le nombre des paramètres est de l’ordre O(dm).
Pour d > 1 le nombre des paramètres est de l’ordre O(dm ).
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.52
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.53
RBF pour la cas bidimensional
Nombre de fonctions radiales=64
Fonction z = 0.1 +
(1+sin(2x+3y))
(3.5+sin(x−y))
et 400 données d’apprentissage.
1
0.8
0.6
1
0.4
0.8
0.2
0.6
0
2
0.4
1
2
1
0
0.2
0
−1
−1
−2
0
2
−2
2
1
1
0
0
−1
M. Jansen, G. Bontempi
Voir le script Matlab s rbf2.m.
−1
−2
−2
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.54
M. Jansen, G. Bontempi
INFO-F-205 Calcul Num.
Chap. 6: Curve Fitting
p.55