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
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
1.2
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
Rn
n
X
f
hR
7 Df (a)h =
(a)hi = hh, f ai ,
xi
n
i=1
n
X
i,j=1
2f
(a)hi kj = hh, 2 f (a)ki .
xi xj
1.3
Conditions doptimalit
2
2.1
Rn+1 , le vecteur y =
=
w
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
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
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
3.1
Mthode de descente
3.2
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 .
et
x U, h Rn
D2 f (x)(h, h) 0
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.