Cours optimisation. Benjamin Monmege. 29 février 2012

Documents pareils
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Calcul différentiel sur R n Première partie

3 Approximation de solutions d équations

Différentiabilité ; Fonctions de plusieurs variables réelles

Optimisation des fonctions de plusieurs variables

Cours d Analyse. Fonctions de plusieurs variables

Programmation linéaire

Calcul différentiel. Chapitre Différentiabilité

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

RO04/TI07 - Optimisation non-linéaire

Résolution d équations non linéaires

Continuité en un point

Image d un intervalle par une fonction continue

Chapitre 2 Le problème de l unicité des solutions

Chapitre VI Fonctions de plusieurs variables

Continuité et dérivabilité d une fonction

Chp. 4. Minimisation d une fonction d une variable

Fonctions de plusieurs variables

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Dérivées d ordres supérieurs. Application à l étude d extrema.

Sujet 4: Programmation stochastique propriétés de fonction de recours

Développements limités. Notion de développement limité

Continuité d une fonction de plusieurs variables

8.1 Généralités sur les fonctions de plusieurs variables réelles. f : R 2 R (x, y) 1 x 2 y 2

Théorèmes de Point Fixe et Applications 1

Fonctions de plusieurs variables. Sébastien Tordeux

Théorème du point fixe - Théorème de l inversion locale

Programmation Linéaire - Cours 1

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Optimisation Discrète

Fonctions de plusieurs variables et applications pour l ingénieur

Chapitre 6. Fonction réelle d une variable réelle

LES MÉTHODES DE POINT INTÉRIEUR 1

Limites finies en un point

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Leçon 01 Exercices d'entraînement

Équations non linéaires

Programmation linéaire et Optimisation. Didier Smets

Cours Fonctions de deux variables

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Ce cours introduit l'électrodynamique classique. Les chapitres principaux sont :

OM 1 Outils mathématiques : fonction de plusieurs variables

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Lagrange, où λ 1 est pour la contrainte sur µ p ).

Calcul Différentiel. I Fonctions différentiables 3

F411 - Courbes Paramétrées, Polaires

Notes du cours MTH1101N Calcul I Partie II: fonctions de plusieurs variables

Fonctions de plusieurs variables et changements de variables

Approximations variationelles des EDP Notes du Cours de M2

Fonctions de plusieurs variables

Suites numériques 3. 1 Convergence et limite d une suite

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Programmation linéaire

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Cours d Analyse 3 Fonctions de plusieurs variables

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

3. Conditionnement P (B)

4.2 Unités d enseignement du M1

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Commun à tous les candidats

Problème 1 : applications du plan affine

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Corps des nombres complexes, J Paul Tsasa

Cours 02 : Problème général de la programmation linéaire

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

Simulation de variables aléatoires

Licence de Mathématiques 3

M2 IAD UE MODE Notes de cours (3)

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Cours d analyse numérique SMI-S4

CCP PSI Mathématiques 1 : un corrigé

Filtrage stochastique non linéaire par la théorie de représentation des martingales

I. Polynômes de Tchebychev

4. Martingales à temps discret

CHAPITRE 5. Stratégies Mixtes

1 Complément sur la projection du nuage des individus

1 Introduction et modèle mathématique

Programmes des classes préparatoires aux Grandes Ecoles

aux différences est appelé équation aux différences d ordre n en forme normale.

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Loi binomiale Lois normales

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

C1 : Fonctions de plusieurs variables

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Calcul intégral élémentaire en plusieurs variables

CHAPITRE I. Modélisation de processus et estimation des paramètres d un modèle

La fonction exponentielle

Amphi 3: Espaces complets - Applications linéaires continues

Transcription:

Cours optimisation Benjamin Monmege 29 février 202 On appelle problème d optimisation la donnée d une instance de la forme minimiser/maximiser f(x) { g i (x) 0 i {,..., m} sous les conditions h j (x) = 0 j {,..., m } avec f : R p R une fonction objectif et g i, h j : R p R des fonctions de contraintes. L ensemble des points {x R p g i (x) 0 i {,..., m}, h j (x) = 0 j {,..., m }} est appelé ensemble de candidats. S il est non vide, on appelle solution du problème d optimisation tout minimum/maximum global de la fonction f restreinte à cet ensemble de candidats, noté x. Dans ce cours, on étudie uniquement les problèmes de minimisation sans contraintes, c est-à-dire avec m = m = 0. Ainsi, l ensemble des candidats correspond à l espace R p tout entier. Remarquons qu un problème de maximisation max f(x) peut naturellement se transformer en un problème de minimisation min f(x). Pourquoi s intéresser à ces problèmes d optimisation? Mettons-nous un instant dans la situation où l on souhaite apprendre des données : Données : (x i, y i ) R n R, i {,..., N} But : trouver un «modèle» y = f(x) susceptible d avoir généré les données dans le but de pouvoir ensuite prédire au mieux le comportement sur une nouvelle donnée brute x R n. Un expert, sachant d où sont extraites les données, choisit alors une catégorie de modèles potentiels, à savoir une famille (f θ ) θ R p de fonctions R n R régie par des paramètres θ R p. Notre objectif est alors de trouver le meilleur paramètre θ, par exemple en minimisant la fonction d erreur des sommes de carrés, c est-à-dire de résoudre le problème d optimisation : N minimiser f θ (x i ) y i 2 pour θ R p. 2 i= Avant de détailler les outils qui vont nous permettre de résoudre ces problèmes d optimisation, notons qu il est possible de restreindre nos attentes en cherchant un optimum local (et non global comme précédemment), c est-à-dire chercher une valeur x qui optimise la fonction f sur un voisinage de x et non sur l espace tout entier. Dans ce cas, on peut utiliser des méthodes de descente (si la fonction objectif est différentiable), par exemple basée sur le gradient, que nous développerons en Section 2, ou des méthodes telles que la méthode du simplexe (si la fonction objectif est linéaire) ou de recherches de motifs (si la fonction objectif n est pas différentiable). À noter que dans le cas d une fonction objectif prenant des valeurs discrètes, les méthodes sont tout à fait différentes et constituent le domaine de l optimisation combinatoire. Dans le cas des optima globaux, il est souvent nécessaire d introduire du non-déterminisme pour s échapper des optima locaux, à moins bien sûr de vouloir payer le prix d une recherche exhaustive. À noter que le cas convexe que nous allons développer permet d assurer que le minimum local trouvé est en fait un minimum global : on trouvera de plus amples détails sur l optimisation convexe dans []. ()

Outils mathématiques et conditions d optimalité Afin de développer les méthodes d optimisation, il est nécessaire de connaître un minimum d outils mathématiques relatifs au calcul différentiel. Pour de plus amples informations ou exercices, on se reportera par exemple à [2].. Différentielle et gradient On se place dans des espaces vectoriels normés de dimension finie : on notera toujours la norme, indépendamment de l espace utilisé. Dans l espace R n, on note (e,..., e n ) la base canonique et on identifie le plus souvent une application linéaire et sa matrice dans la base canonique. Par ailleurs, on notera A T la transposée d une matrice A. L espace R n est naturellement muni d un produit scalaire canonique, noté,, et défini pour deux vecteurs x, y R n par x, y = x T y. Définition (différentielle). Soient U un ouvert de R n et a U. Une fonction f : U R p est dite différentiable en a s il existe une application linéaire continue L: R n R p et une fonction ε : R n R p telles que pour tout h R n tel que a + h U, f(a + h) f = L(h) + h ε(h) ; lim h 0 ε(h) = 0. Si L existe, elle est unique : on la note Df (ou f, df, D a f...) et on l appelle différentielle de f en a : dans la suite, on notera f(a + h) = f + Dfh + o( h ). La fonction f est dite différentiable, si elle est différentiable en tout point de U. Exemple. Si f est une application linéaire sur U = R n alors f est différentiable de différentielle f. Si f : R n R est définie pour tout x R n par f(x) = x T Ax avec A une matrice n n à coefficients réels, alors f est différentiable de différentielle Dfh = a T (A + A T )h. Théorème. Soient U un ouvert de R n et a U. Soient f, g : U R p deux fonctions différentiables en a et λ R. L application f + λg est différentiable en a de différentielle D(f + λg) = Df + λdg. Soient f : U R p une application différentiable en a et g : f(u) R q une application différentiable en f. L application g f est différentiable en a de différentielle D(g f) = Dg(f) Df. Exercice. Soient U un ouvert de R n, a U, v R n et f : U R p une application différentiable en a. Montrer que l application t R f(a + tv) est définie sur un voisinage de t = 0 et est différentiable en 0. Que vaut sa différentielle en 0? Si f : U R p est différentiable en a, on note f/ x i (ou i f) le vecteur Dfe i R p. Grâce à la linéarité de la différentielle, on a pour tout h = (h,..., h n ) R n n f Dfh = h i. x i i= Définition 2 (gradient). On se place ici dans le cas où p =. On considère à nouveau un ouvert U de R n. Si f est une application U R différentiable en un point a U, telle que Df n est pas l application nulle, alors il existe un unique vecteur f R n, appelé gradient de f en a, vérifiant pour tout h R n, Dfh = f, h. On peut aisément vérifier que f = ( f/ x,..., f/ x n ). Exemple 2. Si f est une forme linéaire, de matrice u T R n (cela veut donc dire que f(x) = u T x pour tout x R n ), alors f = u. Si f(x) = x T Ax, alors f = (A + A T )a. Exercice 2. Soit f : R n R une application différentiable. Pour tout réel c, on appelle ligne de niveau c de f l ensemble N c = {x R n f(x) = c}. Soit x 0 N c. Montrer que f(x 0 ) est orthogonal à N c en x 0. 2

.2 Différentielle seconde et Hessienne On se limite dans cette sous-section aux fonctions numériques, pour simplifier l exposé : il est bien sûr possible de généraliser les définitions et théorèmes suivants au cas général. Définition 3 (différentielle seconde et Hessienne). Soient U un ouvert de R n et a U. Une fonction f : U R est dite deux fois différentiable en a si les conditions suivantes sont vérifiées : f est différentiable sur un voisinage V de a dans U ; l application Df : V (R n ), u Df(u) (on note (R n ) l espace vectoriel des formes linéaires sur R n, qui s identifie par dualité à R n lui-même) est différentiable en a. On note alors D 2 f = D(Df) (application linéaire de R n dans (R n ) ) la différentielle seconde ainsi obtenue. Cette application linéaire est représentée dans les bases canoniques (base canonique de R n et base duale canonique de (R n ) ) par une matrice carrée appelée matrice Hessienne de f en a, souvent notée 2 f. On note vérifier que x i x j le vecteur x i ( f x j ), et on abrège 2 f = x 2. x x n x 2 x.... x 2 x n... De même qu on a associé à Df la forme linéaire sur R n h R n Dfh = n i= x i x i en 2 f x 2 i x n x. On peut alors aisément.. x 2 n f x i h i = h, fa, on associe à D 2 f une forme bilinéaire sur R n R n définie par (h, k) R n R n D 2 f(h, k) = n i,j= x i x j h i k j = h, 2 fk. Exercice 3. Calculer la Hessienne de la fonction f : R n R, x x T Ax. Théorème 2 (Schwarz). Soit U un ouvert de R n et a U. Si f : U R est deux fois différentiable en a, alors pour tous i, j {,..., n}, x i x j = 2 f x j x i. Autrement dit, la matrice 2 f est symétrique, ou bien la forme bilinéaire D 2 f est symétrique. Théorème 3 (Formule de Taylor-Young à l ordre 2). Soit U un ouvert de R n et a U. Si f : U R est deux fois différentiable en a, on a lorsque h tend vers 0 dans R n. f(a + h) f Dfh 2 D2 f(h, h) = o( h 2 ) Rappelons au passage la formule de Taylor-Lagrange à l ordre 2 pour les fonctions g : R R deux fois dérivables en a R (dont la preuve repose sur le théorème de Rolle) : pour tout h R, il existe θ [0, ] tel que g(a + h) = g + g h + 2 g (a + θh)h 2. Si f : U R est une fonction différentiable sur un ouvert U de R n, cette formule est en particulier applicable à la fonction g(t) = f(a + tv) pour tout a U et v R n. 3

.3 Conditions d optimalité Soient X une partie de R n, a X et f : X R une fonction numérique. On dit que f admet en a un minimum global si f(x) f pour tout x X. On dit que f admet en a un minimum local s il existe un voisinage V de a dans R n tel que f(x) f pour tout x V X. On dit que f admet en a un minimum strict si les inégalités précédentes sont strictes pour x a. Les définitions correspondantes pour maximum s en déduisent en inversant les inégalités. Le terme extremum signifie maximum ou minimum. Théorème 4. Soient U un ouvert de R n, a U et f : U R une fonction numérique.. Condition nécessaire (pas suffisante) du premier ordre : si f admet en a un extremum local et si f est différentiable en a, alors Df = 0. 2. Condition nécessaire (pas suffisante) du second ordre : si f admet en a un minimum local et si f est deux fois différentiable en a, alors Df = 0 et D 2 f(h, h) 0 pour tout vecteur h R n. 3. Condition suffisante (pas nécessaire) du second ordre : si f est deux fois différentiable en a, Df = 0 et D 2 f(h, h) > 0 pour tout h R n {0}, alors f admet en a un minimum local strict. 2 Optimisation de fonctions quadratiques 2. Solution analytique On considère le problème () dans le cas où l expert choisit la catégorie des modèles affines : f(x) = w T x + β avec w R n et β R. Afin de simplifier les notations, on introduit le paramètre ( ) y x T β θ = R w n+, le vecteur y =. R N et la matrice X =.. de taille N (n + ). y N x T N Ainsi, on est ramené au problème de minimisation suivant : minimiser 2 Xθ y 2 2 pour θ R n+ où on a noté 2 la norme 2 sur R N, issue du produit scalaire canonique. En utilisant le Théorème 4, on peut montrer que toute solution optimale θ de ce problème vérifie l équation X T Xθ = X T y (2) appelée équations normales. Exercice 4. Montrer (2). 2.2 Régularisation Comme toujours dans un tel problème d apprentissage, la tentation est grande de «surapprendre» les données. Pour éviter ce désagrément, il est possible d introduire un terme de régularisation, empêchant le paramètre θ de prendre des valeurs trop importantes : minimiser 2 Xθ y 2 2 + λ 2 θ 2 2 pour θ R n+ avec un paramètre λ de régularisation. Dans ce cas particulier, on trouve également une solution optimale de manière analytique, qui doit vérifier l équation (λi + X T X)θ = X T y, avec I la matrice identité. 4

3 Optimisation de fonctions différentiables 3. Méthode de descente On considère désormais une fonction numérique f : R n R deux fois différentiable. Le principe général des méthodes de descente est de construire une séquence (x k ) k 0 de points de R n qui va converger vers un minimum local x. Cette séquence sera construite en choisissant un point initial x 0 R n puis, pour k 0, à répéter tant que nécessaire les étapes suivantes :. choisir une direction de descente d k R n {0} ; 2. choisir une taille de pas σ k > 0 ; 3. poser x k+ = x k + σ k d k et continuer avec k = k +. Le problème est de bien choisir x 0, les directions d k et les tailles de pas σ k. À chaque étape, d k et σ k sont choisis tels que f(x k+ ) < f(x k ) (sauf si on a atteint le minimum, c est-à-dire x k = x ). 3.2 Cas des fonctions convexes On fixe dans toute la sous-section un ouvert convexe U de R n et une fonction f : U R. On dit que f est convexe sur U si, pour tous x, y U et pour tout t [0, ], f(( t)x + ty) ( t)f(x) + tf(y) où ( t)x+ty appartient à U, grâce à l hypothèse de convexité de U. Ceci revient à dire que le graphe de f est au-dessous des cordes. Exemple 3. Quelques exemples de fonctions convexes : les fonctions affines : f(x) = a, x + b ; les fonctions quadratiques : f(x) = 2 x, Ax + a, x + b avec A une matrice symétrique positive ; les normes l p : x p = ( n i= x i p ) /p pour p < et x = max i x i ; l opposé de la fonction entropie : f(x) = n i= x i log x i (la fonction entropie est donc concave). Théorème 5. Si f est différentiable, alors f est convexe sur U si et seulement si x, y U f(y) f(x) Df(x)(y x) ce qui revient à dire (si n = ) que le graphe de f est au-dessus des tangentes. Si f est deux fois différentiable, alors f est convexe sur U si et seulement si D 2 f est une forme quadratique positive en tout point, c est-à-dire Exercice 5. Prouver le Théorème 5. x U, h R n D 2 f(x)(h, h) 0. En utilisant ce théorème, il est donc aisé d obtenir des conditions suffisantes du type de celles du Théorème 4 permettant de prouver l existence d un minimum global (et non local). Exercice 6. Soit f : U R une fonction sur U convexe ouvert de R n.. Si f est convexe et différentiable sur U et que Df = 0, montrer que f admet en a un minimum global sur U. 2. En déduire que si f est deux fois différentiable et vérifie les conditions Df = 0 et x U, h R n D 2 f(x)(h, h) 0 alors f admet en a un minimum global. Dans le cas d une fonction convexe f, on peut trouver une condition simple permettant de trouver une direction de descente dans l algorithme de descente. 5

Exercice 7. Montrer, en utilisant le théorème 5, que la direction de descente d k doit vérifier f(x k ) T d k < 0. Un choix raisonnable consiste donc à choisir d k = f(x k ) : dans ce cas, on parle de descente de gradient. Ce choix est aussi utilisable dans le cas général. Il reste à choisir la taille de pas σ k. On peut faire une recherche exhaustive, à savoir chercher la taille σ minimisant f(x k σ f(x k )). C est parfois trop coûteux et donc on se permet souvent de faire une approximation sur cette étape. Sous certaines conditions sur f (par exemple forte convexité), on peut prouver que cette méthode converge quel que soit le choix de x 0 et borner sa vitesse de convergence : il existe une constant c ]0, [ (dépendant de f) tel que pour tout k 0, f(x k ) f(x ) c k (f(x 0 ) f(x )). Cet algorithme est relativement lent, même s il est abondamment utilisé car ne nécessite pas de calculs trop coûteux ou de mise en œuvre compliquée. Citons par ailleurs que l algorithme rapide usuel est la méthode de Newton, une méthode de descente qui se base sur le calcul de la Hessienne (coûteux en général) plutôt que sur le gradient uniquement. 3.3 Gradient stochastique Si l on suppose que la fonction à minimiser s écrit comme une somme de fonctions convexes f = N i= f i, alors une méthode permettant de réduire potentiellement le coût en calcul consiste à considérer chaque fonction f i aléatoirement (ou alternativement en cycle). Ainsi, la mise à jour devient x k+ = x k σ k f i (x k ) avec i tiré aléatoirement parmi {,..., N}. On peut également choisir un petit nombre de fonctions f i à chaque mise à jour. De retour à l exemple mentionné en (), cela revient à dire qu on considère chaque donnée (x i, y i ) aléatoirement à chaque étape. Références [] Stephen Boyd and Lieven Vandenberghe. Convex optimization. Cambridge University Press, 2004. Disponible en ligne à l adresse http://www.stanford.edu/~boyd/cvxbook/. [2] François Rouvière. Petit guide de calcul différentiel à l usage de la licence et de l agrégation. Cassini, 2003. Deuxième édition revue et augmentée. 6