Anda di halaman 1dari 6

Cours optimisation

Benjamin Monmege
29 fvrier 2012
On appelle problme doptimisation la donne dune instance de la forme
minimiser/maximiser f (x)
(
gi (x) 0 i {1, . . . , m}
sous les conditions
hj (x) = 0 j {1, . . . , m0 }
avec f : Rp R une fonction objectif et gi , hj : Rp R des fonctions de contraintes.
Lensemble des points
{x Rp | gi (x) 0 i {1, . . . , m}, hj (x) = 0 j {1, . . . , m0 }}
est appel ensemble de candidats. Sil est non vide, on appelle solution du problme doptimisation
tout minimum/maximum global de la fonction f restreinte cet ensemble de candidats, not x .
Dans ce cours, on tudie uniquement les problmes de minimisation sans contraintes, cest--dire
avec m = m0 = 0. Ainsi, lensemble des candidats correspond lespace Rp tout entier. Remarquons
quun problme de maximisation max f (x) peut naturellement se transformer en un problme de minimisation min f (x).
Pourquoi sintresser ces problmes doptimisation ? Mettons-nous un instant dans la situation
o lon souhaite apprendre des donnes :
Donnes :
But :

(xi , yi ) Rn R, i {1, . . . , N }
trouver un modle y = f (x) susceptible davoir gnr les donnes

(1)

dans le but de pouvoir ensuite prdire au mieux le comportement sur une nouvelle donne brute x Rn .
Un expert, sachant do sont extraites les donnes, choisit alors une catgorie de modles potentiels,
savoir une famille (f )Rp de fonctions Rn R rgie par des paramtres Rp . Notre objectif est
alors de trouver le meilleur paramtre , par exemple en minimisant la fonction derreur des sommes
de carrs, cest--dire de rsoudre le problme doptimisation :
N

minimiser

1X
|f (xi ) yi |2 pour Rp .
2
i=1

Avant de dtailler les outils qui vont nous permettre de rsoudre ces problmes doptimisation,
notons quil est possible de restreindre nos attentes en cherchant un optimum local (et non global
comme prcdemment), cest--dire chercher une valeur x qui optimise la fonction f sur un voisinage
de x et non sur lespace tout entier. Dans ce cas, on peut utiliser des mthodes de descente (si la
fonction objectif est diffrentiable), par exemple base sur le gradient, que nous dvelopperons en
Section 2, ou des mthodes telles que la mthode du simplexe (si la fonction objectif est linaire) ou
de recherches de motifs (si la fonction objectif nest pas diffrentiable). noter que dans le cas dune
fonction objectif prenant des valeurs discrtes, les mthodes sont tout fait diffrentes et constituent
le domaine de loptimisation combinatoire. Dans le cas des optima globaux, il est souvent ncessaire
dintroduire du non-dterminisme pour schapper des optima locaux, moins bien sr de vouloir
payer le prix dune recherche exhaustive. noter que le cas convexe que nous allons dvelopper permet
dassurer que le minimum local trouv est en fait un minimum global : on trouvera de plus amples
dtails sur loptimisation convexe dans [1].
1

Outils mathmatiques et conditions doptimalit

Afin de dvelopper les mthodes doptimisation, il est ncessaire de connatre un minimum doutils
mathmatiques relatifs au calcul diffrentiel. Pour de plus amples informations ou exercices, on se
reportera par exemple [2].

1.1

Diffrentielle et gradient

On se place dans des espaces vectoriels norms de dimension finie : on notera toujours k k la
norme, indpendamment de lespace utilis. Dans lespace Rn , on note (e1 , . . . , en ) la base canonique et
on identifie le plus souvent une application linaire et sa matrice dans la base canonique. Par ailleurs,
on notera AT la transpose dune matrice A. Lespace Rn est naturellement muni dun produit scalaire
canonique, not h, i, et dfini pour deux vecteurs x, y Rn par hx, yi = xT y.
Dfinition 1 (diffrentielle). Soient U un ouvert de Rn et a U . Une fonction f : U Rp est dite
diffrentiable en a sil existe une application linaire continue L : Rn Rp et une fonction : Rn Rp
telles que
pour tout h Rn tel que a + h U , f (a + h) f (a) = L(h) + khk(h) ;
lim k(h)k = 0 .
h0

Si L existe, elle est unique : on la note Df (a) (ou f 0 (a), df (a), Da f ...) et on lappelle diffrentielle de
f en a : dans la suite, on notera
f (a + h) = f (a) + Df (a)h + o(khk) .
La fonction f est dite diffrentiable, si elle est diffrentiable en tout point de U .
Exemple 1. Si f est une application linaire sur U = Rn alors f est diffrentiable de diffrentielle f .
Si f : Rn R est dfinie pour tout x Rn par f (x) = xT Ax avec A une matrice n n coefficients
rels, alors f est diffrentiable de diffrentielle Df (a)h = aT (A + AT )h.
Thorme 1. Soient U un ouvert de Rn et a U .
Soient f, g : U Rp deux fonctions diffrentiables en a et R. Lapplication f + g est
diffrentiable en a de diffrentielle D(f + g)(a) = Df (a) + Dg(a).
Soient f : U Rp une application diffrentiable en a et g : f (U ) Rq une application diffrentiable en f (a). Lapplication g f est diffrentiable en a de diffrentielle D(g f )(a) =
Dg(f (a)) Df (a).
Exercice 1. Soient U un ouvert de Rn , a U , v Rn et f : U Rp une application diffrentiable en
a. Montrer que lapplication t R 7 f (a + tv) est dfinie sur un voisinage de t = 0 et est diffrentiable
en 0. Que vaut sa diffrentielle en 0 ?
Si f : U Rp est diffrentiable en a, on note f /xi (a) (ou i f (a)) le vecteur Df (a)ei Rp . Grce
la linarit de la diffrentielle, on a pour tout h = (h1 , . . . , hn ) Rn
Df (a)h =

n
X
f
(a)hi .
xi
i=1

Dfinition 2 (gradient). On se place ici dans le cas o p = 1. On considre nouveau un ouvert U


de Rn . Si f est une application U R diffrentiable en un point a U , telle que Df (a) nest pas
lapplication nulle, alors il existe un unique vecteur f (a) Rn , appel gradient de f en a, vrifiant
pour tout h Rn , Df (a)h = hf (a), hi.
On peut aisment vrifier que f (a) = (f /x1 (a), . . . , f /xn (a)).
Exemple 2. Si f est une forme linaire, de matrice uT R1n (cela veut donc dire que f (x) = uT x
pour tout x Rn ), alors f (a) = u. Si f (x) = xT Ax, alors f (a) = (A + AT )a.
Exercice 2. Soit f : Rn R une application diffrentiable. Pour tout rel c, on appelle ligne de niveau
c de f lensemble Nc = {x Rn | f (x) = c}. Soit x0 Nc . Montrer que f (x0 ) est orthogonal Nc
en x0 .
2

1.2

Diffrentielle seconde et Hessienne

On se limite dans cette sous-section aux fonctions numriques, pour simplifier lexpos : il est bien
sr possible de gnraliser les dfinitions et thormes suivants au cas gnral.
Dfinition 3 (diffrentielle seconde et Hessienne). Soient U un ouvert de Rn et a U . Une fonction
f : U R est dite deux fois diffrentiable en a si les conditions suivantes sont vrifies :
f est diffrentiable sur un voisinage V de a dans U ;
lapplication Df : V (Rn ) , u 7 Df (u) (on note (Rn ) lespace vectoriel des formes linaires
sur Rn , qui sidentifie par dualit Rn lui-mme) est diffrentiable en a.
On note alors D2 f (a) = D(Df )(a) (application linaire de Rn dans (Rn ) ) la diffrentielle seconde ainsi
obtenue. Cette application linaire est reprsente dans les bases canoniques (base canonique de Rn et
base duale canonique de (Rn ) ) par une matrice carre appele matrice Hessienne de f en a, souvent
note 2 f (a).
 
2f
2f
f
2f

On note xi x
(a)
le
vecteur
xi xj (a), et on abrge xi xi (a) en x2i (a). On peut alors aisment
j
vrifier que

2f
2f
2f
(a)
.
.
.
(a)
(a)
2
x
x
x
x
n
2
1
1

x1.
..
..
.
.
2 f (a) =
.
.
.

2f
2f
2f
(a)
x1 xn (a) x2 xn (a) . . .
x2
n

De mme quon a associ Df (a) la forme linaire sur

Rn

n
X
f
hR
7 Df (a)h =
(a)hi = hh, f ai ,
xi
n

i=1

on associe D2 f (a) une forme bilinaire sur Rn Rn dfinie par


(h, k) Rn Rn 7 D2 f (a)(h, k) =

n
X
i,j=1

2f
(a)hi kj = hh, 2 f (a)ki .
xi xj

Exercice 3. Calculer la Hessienne de la fonction f : Rn R, x 7 xT Ax.


Thorme 2 (Schwarz). Soit U un ouvert de Rn et a U . Si f : U R est deux fois diffrentiable
en a, alors pour tous i, j {1, . . . , n},
2f
2f
(a) =
(a) .
xi xj
xj xi
Autrement dit, la matrice 2 f (a) est symtrique, ou bien la forme bilinaire D2 f (a) est symtrique.
Thorme 3 (Formule de Taylor-Young lordre 2). Soit U un ouvert de Rn et a U . Si f : U R
est deux fois diffrentiable en a, on a
1
f (a + h) f (a) Df (a)h D2 f (a)(h, h) = o(khk2 )
2
lorsque h tend vers 0 dans Rn .
Rappelons au passage la formule de Taylor-Lagrange lordre 2 pour les fonctions g : R R deux
fois drivables en a R (dont la preuve repose sur le thorme de Rolle) : pour tout h R, il existe
[0, 1] tel que
1
g(a + h) = g(a) + g 0 (a)h + g 00 (a + h)h2 .
2
Si f : U R est une fonction diffrentiable sur un ouvert U de Rn , cette formule est en particulier
applicable la fonction g(t) = f (a + tv) pour tout a U et v Rn .
3

1.3

Conditions doptimalit

Soient X une partie de Rn , a X et f : X R une fonction numrique. On dit que f admet en a


un minimum global si f (x) f (a) pour tout x X.
On dit que f admet en a un minimum local sil existe un voisinage V de a dans Rn tel que
f (x) f (a) pour tout x V X.
On dit que f admet en a un minimum strict si les ingalits prcdentes sont strictes pour x 6= a.
Les dfinitions correspondantes pour maximum sen dduisent en inversant les ingalits. Le terme
extremum signifie maximum ou minimum.
Thorme 4. Soient U un ouvert de Rn , a U et f : U R une fonction numrique.
1. Condition ncessaire (pas suffisante) du premier ordre : si f admet en a un extremum local et si
f est diffrentiable en a, alors Df (a) = 0.
2. Condition ncessaire (pas suffisante) du second ordre : si f admet en a un minimum local et si f
est deux fois diffrentiable en a, alors Df (a) = 0 et D2 f (a)(h, h) 0 pour tout vecteur h Rn .
3. Condition suffisante (pas ncessaire) du second ordre : si f est deux fois diffrentiable en a,
Df (a) = 0 et D2 f (a)(h, h) > 0 pour tout h Rn {0}, alors f admet en a un minimum local
strict.

2
2.1

Optimisation de fonctions quadratiques


Solution analytique

On considre le problme (1)


f (x) = wT x + avec w Rn et
 

Rn+1 , le vecteur y =
=
w

dans le cas o lexpert choisit la catgorie des modles affines :

on
R.
Afin de simplifier les notations,

introduit le paramtre
y1
1 xT
1
..
.. de taille N (n + 1).
N et la matrice X = ..

R
.
.
.

yN
Ainsi, on est ramen au problme de minimisation suivant :
minimiser

1 xT
N

1
kX yk22 pour Rn+1
2

o on a not k k2 la norme 2 sur RN , issue du produit scalaire canonique.


En utilisant le Thorme 4, on peut montrer que toute solution optimale de ce problme vrifie
lquation
X T X = X T y
(2)
appele quations normales.
Exercice 4. Montrer (2).

2.2

Rgularisation

Comme toujours dans un tel problme dapprentissage, la tentation est grande de surapprendre
les donnes. Pour viter ce dsagrment, il est possible dintroduire un terme de rgularisation, empchant le paramtre de prendre des valeurs trop importantes :
minimiser

kX yk22 + kk22 pour Rn+1


2
2

avec un paramtre de rgularisation. Dans ce cas particulier, on trouve galement une solution
optimale de manire analytique, qui doit vrifier lquation (I + X T X) = X T y, avec I la matrice
identit.
4

Optimisation de fonctions diffrentiables

3.1

Mthode de descente

On considre dsormais une fonction numrique f : Rn R deux fois diffrentiable. Le principe


gnral des mthodes de descente est de construire une squence (xk )k0 de points de Rn qui va
converger vers un minimum local x . Cette squence sera construite en choisissant un point initial
x0 Rn puis, pour k 0, rpter tant que ncessaire 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 + k dk et continuer avec k = k + 1.
Le problme est de bien choisir x0 , les directions dk et les tailles de pas k . chaque tape, dk et
k sont choisis tels que f (xk+1 ) < f (xk ) (sauf si on a atteint le minimum, cest--dire xk = x ).

3.2

Cas des fonctions convexes

On fixe dans toute la sous-section un ouvert convexe U de Rn 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, 1],
f ((1 t)x + ty) (1 t)f (x) + tf (y)
o (1 t)x + ty appartient U , grce lhypothse 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) = ha, xi + b ;
les fonctions quadratiques : f (x) = 12 hx, Axi + ha, xi + b avec A une matrice symtrique positive ;
P
1 p < et kxk = maxi xi ;
les normes `p : kxkp = ( ni=1 |xi |p )1/p pourP
loppos de la fonction entropie : f (x) = ni=1 xi log xi (la fonction entropie est donc concave).
Thorme 5.

Si f est diffrentiable, 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 = 1) que le graphe de f est au-dessus des tangentes.
Si f est deux fois diffrentiable, alors f est convexe sur U si et seulement si D2 f est une forme
quadratique positive en tout point, cest--dire
x U, h Rn

D2 f (x)(h, h) 0 .

Exercice 5. Prouver le Thorme 5.


En utilisant ce thorme, il est donc ais dobtenir des conditions suffisantes du type de celles du
Thorme 4 permettant de prouver lexistence dun minimum global (et non local).
Exercice 6. Soit f : U R une fonction sur U convexe ouvert de Rn .
1. Si f est convexe et diffrentiable sur U et que Df (a) = 0, montrer que f admet en a un minimum
global sur U .
2. En dduire que si f est deux fois diffrentiable et vrifie les conditions
Df (a) = 0

et

x U, h Rn

D2 f (x)(h, h) 0

alors f admet en a un minimum global.


Dans le cas dune fonction convexe f , on peut trouver une condition simple permettant de trouver
une direction de descente dans lalgorithme de descente.
5

Exercice 7. Montrer, en utilisant le thorme 5, que la direction de descente dk doit vrifier f (xk )T dk <
0.
Un choix raisonnable consiste donc choisir dk = f (xk ) : dans ce cas, on parle de descente de
gradient. Ce choix est aussi utilisable dans le cas gnral. Il reste choisir la taille de pas k . On peut
faire une recherche exhaustive, savoir chercher la taille minimisant f (xk f (xk )). Cest parfois
trop coteux 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 mthode
converge quel que soit le choix de x0 et borner sa vitesse de convergence : il existe une constant c ]0, 1[
(dpendant de f ) tel que pour tout k 0,
f (xk ) f (x ) ck (f (x0 ) f (x )) .
Cet algorithme est relativement lent, mme sil est abondamment utilis car ne ncessite pas de
calculs trop coteux ou de mise en uvre complique. Citons par ailleurs que lalgorithme rapide usuel
est la mthode de Newton, une mthode de descente qui se base sur le calcul de la Hessienne (coteux
en gnral) plutt que sur le gradient uniquement.

3.3

Gradient stochastique

PNSi lon suppose que la fonction minimiser scrit comme une somme de fonctions convexes f =
i=1 fi , alors une mthode permettant de rduire potentiellement le cot en calcul consiste considrer
chaque fonction fi alatoirement (ou alternativement en cycle). Ainsi, la mise jour devient xk+1 =
xk k fi (xk ) avec i tir alatoirement parmi {1, . . . , N }. On peut galement choisir un petit nombre
de fonctions fi chaque mise jour.
De retour lexemple mentionn en (1), cela revient dire quon considre chaque donne (xi , yi )
alatoirement chaque tape.

Rfrences
[1] Stephen Boyd and Lieven Vandenberghe. Convex optimization. Cambridge University Press, 2004.
Disponible en ligne ladresse http://www.stanford.edu/~boyd/cvxbook/.
[2] Franois Rouvire. Petit guide de calcul diffrentiel lusage de la licence et de lagrgation. Cassini,
2003. Deuxime dition revue et augmente.

Anda mungkin juga menyukai