Benjamin Monmege - Cours Optimisation

Telechargé par Ser Be
Cours optimisation
Benjamin Monmege
29 février 2012
On appelle problème d’optimisation la donnée d’une instance de la forme
minimiser/maximiser f(x)
sous les conditions (gi(x)≤0∀i∈ {1, . . . , m}
hj(x)=0 ∀j∈ {1, . . . , m0}
avec f:Rp→Rune fonction objectif et gi, hj:Rp→Rdes fonctions de contraintes.
L’ensemble des points
{x∈Rp|gi(x)≤0∀i∈ {1, . . . , m}, hj(x) = 0 ∀j∈ {1, . . . , m0}}
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 frestreinte à cet ensemble de candidats, noté x∗.
Dans ce cours, on étudie uniquement les problèmes de minimisation sans contraintes, c’est-à-dire
avec m=m0= 0. Ainsi, l’ensemble des candidats correspond à l’espace Rptout entier. Remarquons
qu’un problème de maximisation max f(x)peut naturellement se transformer en un problème de mi-
nimisation 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 : (xi, yi)∈Rn×R, i ∈ {1, . . . , N}
But : trouver un « modèle » y=f(x)susceptible d’avoir généré les données (1)
dans le but de pouvoir ensuite prédire au mieux le comportement sur une nouvelle donnée brute x∈Rn.
Un expert, sachant d’où sont extraites les données, choisit alors une catégorie de modèles potentiels,
à savoir une famille (fθ)θ∈Rpde fonctions Rn→Rrégie par des paramètres θ∈Rp. 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 :
minimiser 1
2
N
X
i=1
|fθ(xi)−yi|2pour θ∈Rp.
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 fsur 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 [1].
1
1 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].
1.1 Différentielle et gradient
On se place dans des espaces vectoriels normés de dimension finie : on notera toujours k·k la
norme, indépendamment de l’espace utilisé. Dans l’espace Rn, on note (e1, . . . , en)la base canonique et
on identifie le plus souvent une application linéaire et sa matrice dans la base canonique. Par ailleurs,
on notera ATla transposée d’une matrice A. L’espace Rnest naturellement muni d’un produit scalaire
canonique, noté h·,·i, et défini pour deux vecteurs x, y ∈Rnpar hx, yi=xTy.
Définition 1 (différentielle).Soient Uun ouvert de Rnet a∈U. Une fonction f:U→Rpest dite
différentiable en as’il existe une application linéaire continue L:Rn→Rpet une fonction ε:Rn→Rp
telles que
– pour tout h∈Rntel que a+h∈U,f(a+h)−f(a) = L(h) + khkε(h);
–lim
h→0kε(h)k= 0 .
Si Lexiste, elle est unique : on la note Df(a)(ou f0(a),df(a),Daf...) et on l’appelle différentielle de
fen a: dans la suite, on notera
f(a+h) = f(a)+Df(a)h+o(khk).
La fonction fest dite différentiable, si elle est différentiable en tout point de U.
Exemple 1.Si fest une application linéaire sur U=Rnalors fest différentiable de différentielle f.
Si f:Rn→Rest définie pour tout x∈Rnpar f(x) = xTAx avec Aune matrice n×nà coefficients
réels, alors fest différentiable de différentielle Df(a)h=aT(A+AT)h.
Théorème 1. Soient Uun ouvert de Rnet a∈U.
– Soient f, g :U→Rpdeux fonctions différentiables en aet λ∈R. L’application f+λg est
différentiable en ade différentielle D(f+λg)(a)=Df(a) + λDg(a).
– Soient f:U→Rpune application différentiable en aet g:f(U)→Rqune application dif-
férentiable en f(a). L’application g◦fest différentiable en ade différentielle D(g◦f)(a) =
Dg(f(a)) ◦Df(a).
Exercice 1. Soient Uun ouvert de Rn,a∈U,v∈Rnet f:U→Rpune application différentiable en
a. Montrer que l’application t∈R7→ 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→Rpest différentiable en a, on note ∂f/∂xi(a)(ou ∂if(a)) le vecteur Df(a)ei∈Rp. Grâce
à la linéarité de la différentielle, on a pour tout h= (h1, . . . , hn)∈Rn
Df(a)h=
n
X
i=1
∂f
∂xi
(a)hi.
Définition 2 (gradient).On se place ici dans le cas où p= 1. On considère à nouveau un ouvert U
de Rn. Si fest une application U→Rdifférentiable en un point a∈U, telle que Df(a)n’est pas
l’application nulle, alors il existe un unique vecteur ∇f(a)∈Rn, appelé gradient de fen a, vérifiant
pour tout h∈Rn,Df(a)h=h∇f(a), hi.
On peut aisément vérifier que ∇f(a)=(∂f/∂x1(a), . . . , ∂f /∂xn(a)).
Exemple 2.Si fest une forme linéaire, de matrice uT∈R1×n(cela veut donc dire que f(x) = uTx
pour tout x∈Rn), alors ∇f(a) = u. Si f(x) = xTAx, alors ∇f(a)=(A+AT)a.
Exercice 2. Soit f:Rn→Rune application différentiable. Pour tout réel c, on appelle ligne de niveau
cde fl’ensemble Nc={x∈Rn|f(x) = c}. Soit x0∈ Nc. Montrer que ∇f(x0)est orthogonal à Nc
en x0.
2
1.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 Uun ouvert de Rnet a∈U. Une fonction
f:U→Rest dite deux fois différentiable en asi les conditions suivantes sont vérifiées :
–fest différentiable sur un voisinage Vde adans U;
– l’application Df:V→(Rn)∗, u 7→ Df (u)(on note (Rn)∗l’espace vectoriel des formes linéaires
sur Rn, qui s’identifie par dualité à Rnlui-même) est différentiable en a.
On note alors D2f(a) = D(Df)(a)(application linéaire de Rndans (Rn)∗) la différentielle seconde ainsi
obtenue. Cette application linéaire est représentée dans les bases canoniques (base canonique de Rnet
base duale canonique de (Rn)∗) par une matrice carrée appelée matrice Hessienne de fen a, souvent
notée ∇2f(a).
On note ∂2f
∂xi∂xj(a)le vecteur ∂
∂xi∂f
∂xj(a), et on abrège ∂2f
∂xi∂xi(a)en ∂2f
∂x2
i
(a). On peut alors aisément
vérifier que
∇2f(a) =
∂2f
∂x2
1
(a)∂2f
∂x2∂x1(a). . . ∂2f
∂xn∂x1(a)
.
.
..
.
..
.
.
∂2f
∂x1∂xn(a)∂2f
∂x2∂xn(a). . . ∂2f
∂x2
n(a)
.
De même qu’on a associé à Df(a)la forme linéaire sur Rn
h∈Rn7→ Df(a)h=
n
X
i=1
∂f
∂xi
(a)hi=hh, ∇fai,
on associe à D2f(a)une forme bilinéaire sur Rn×Rndéfinie par
(h, k)∈Rn×Rn7→ D2f(a)(h, k) =
n
X
i,j=1
∂2f
∂xi∂xj
(a)hikj=hh, ∇2f(a)ki.
Exercice 3. Calculer la Hessienne de la fonction f:Rn→R, x 7→ xTAx.
Théorème 2 (Schwarz).Soit Uun ouvert de Rnet a∈U. Si f:U→Rest deux fois différentiable
en a, alors pour tous i, j ∈ {1, . . . , n},
∂2f
∂xi∂xj
(a) = ∂2f
∂xj∂xi
(a).
Autrement dit, la matrice ∇2f(a)est symétrique, ou bien la forme bilinéaire D2f(a)est symétrique.
Théorème 3 (Formule de Taylor-Young à l’ordre 2).Soit Uun ouvert de Rnet a∈U. Si f:U→R
est deux fois différentiable en a, on a
f(a+h)−f(a)−Df(a)h−1
2D2f(a)(h, h) = o(khk2)
lorsque htend vers 0dans Rn.
Rappelons au passage la formule de Taylor-Lagrange à l’ordre 2 pour les fonctions g:R→Rdeux
fois dérivables en a∈R(dont la preuve repose sur le théorème de Rolle) : pour tout h∈R, il existe
θ∈[0,1] tel que
g(a+h) = g(a) + g0(a)h+1
2g00(a+θh)h2.
Si f:U→Rest une fonction différentiable sur un ouvert Ude Rn, cette formule est en particulier
applicable à la fonction g(t) = f(a+tv)pour tout a∈Uet v∈Rn.
3
1.3 Conditions d’optimalité
Soient Xune partie de Rn,a∈Xet f:X→Rune fonction numérique. On dit que fadmet en a
un minimum global si f(x)≥f(a)pour tout x∈X.
On dit que fadmet en aun minimum local s’il existe un voisinage Vde adans Rntel que
f(x)≥f(a)pour tout x∈V∩X.
On dit que fadmet en aun minimum strict si les inégalités précédentes sont strictes pour x6=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 Uun ouvert de Rn,a∈Uet f:U→Rune fonction numérique.
1. Condition nécessaire (pas suffisante) du premier ordre : si fadmet en aun extremum local et si
fest différentiable en a, alors Df(a)=0.
2. Condition nécessaire (pas suffisante) du second ordre : si fadmet en aun minimum local et si f
est deux fois différentiable en a, alors Df(a) = 0 et D2f(a)(h, h)≥0pour tout vecteur h∈Rn.
3. Condition suffisante (pas nécessaire) du second ordre : si fest deux fois différentiable en a,
Df(a) = 0 et D2f(a)(h, h)>0pour tout h∈Rn− {0}, alors fadmet en aun minimum local
strict.
2 Optimisation de fonctions quadratiques
2.1 Solution analytique
On considère le problème (1) dans le cas où l’expert choisit la catégorie des modèles affines :
f(x) = wTx+βavec w∈Rnet β∈R. Afin de simplifier les notations, on introduit le paramètre
θ=β
w∈Rn+1, le vecteur y=
y1
.
.
.
yN
∈RNet la matrice X=
1xT
1
.
.
..
.
.
1xT
N
de taille N×(n+ 1).
Ainsi, on est ramené au problème de minimisation suivant :
minimiser 1
2kXθ −yk2
2pour θ∈Rn+1
où on a noté k·k2la norme 2 sur RN, 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
XTXθ∗=XTy(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 1
2kXθ −yk2
2+λ
2kθk2
2pour θ∈Rn+1
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 +XTX)θ∗=XTy, avec Ila matrice
identité.
4
3 Optimisation de fonctions différentiables
3.1 Méthode de descente
On considère désormais une fonction numérique f:Rn→Rdeux fois différentiable. Le principe
général des méthodes de descente est de construire une séquence (xk)k≤0de points de Rnqui va
converger vers un minimum local x∗. Cette séquence sera construite en choisissant un point initial
x0∈Rnpuis, pour k≥0, à répéter tant que nécessaire les étapes suivantes :
1. choisir une direction de descente dk∈Rn− {0};
2. choisir une taille de pas σk>0;
3. poser xk+1 =xk+σkdket continuer avec k=k+ 1.
Le problème est de bien choisir x0, les directions dket les tailles de pas σk. À chaque étape, dket
σksont choisis tels que f(xk+1)< f(xk)(sauf si on a atteint le minimum, c’est-à-dire xk=x∗).
3.2 Cas des fonctions convexes
On fixe dans toute la sous-section un ouvert convexe Ude Rnet une fonction f:U→R. On dit
que fest convexe sur Usi, pour tous x, y ∈Uet pour tout t∈[0,1],
f((1 −t)x+ty)≤(1 −t)f(x) + tf(y)
où (1−t)x+ty appartient à U, grâce à l’hypothèse de convexité de U. Ceci revient à dire que le graphe
de fest au-dessous des cordes.
Exemple 3.Quelques exemples de fonctions convexes :
– les fonctions affines : f(x) = ha, xi+b;
– les fonctions quadratiques : f(x) = 1
2hx, Axi+ha, xi+bavec Aune matrice symétrique positive ;
– les normes `p:kxkp= (Pn
i=1 |xi|p)1/p pour 1≤p < ∞et kxk∞= maxixi;
– l’opposé de la fonction entropie : f(x) = −Pn
i=1 xilog xi(la fonction entropie est donc concave).
Théorème 5. – Si fest différentiable, alors fest convexe sur Usi et seulement si
∀x, y ∈U f(y)−f(x)≥Df(x)(y−x)
ce qui revient à dire (si n= 1) que le graphe de fest au-dessus des tangentes.
– Si fest deux fois différentiable, alors fest convexe sur Usi et seulement si D2fest une forme
quadratique positive en tout point, c’est-à-dire
∀x∈U, h ∈RnD2f(x)(h, h)≥0.
Exercice 5. Prouver le Théorème 5.
En utilisant ce théorème, il est donc aisé d’obtenir des conditions suffisantes du type de celles du
Théorème 4permettant de prouver l’existence d’un minimum global (et non local).
Exercice 6. Soit f:U→Rune fonction sur Uconvexe ouvert de Rn.
1. Si fest convexe et différentiable sur Uet que Df(a) = 0, montrer que fadmet en aun minimum
global sur U.
2. En déduire que si fest deux fois différentiable et vérifie les conditions
Df(a) = 0 et ∀x∈U, h ∈RnD2f(x)(h, h)≥0
alors fadmet en aun 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
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!