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