• Aucun résultat trouvé

Optimisation et conditions d’optimalité

2.3 Challenges et recherches en cours

3.1.4 Optimisation et conditions d’optimalité

d,r

X

i=1,j=1

W

i,j2

1 2

= trace(W

T

W). (3.11)

avec W

i,j

la composante de la i

e

ligne et j

e

colonne de la matrice, est une norme

2

sur la

vectorisation de la matrice W.

Une autre régularisation assez commune en apprentissage statistique est la régularisation

par norme nucléaire de la matriceW :

(W) =

min(d,r)

X

i=1

σ

i

(W) (3.12)

Cette régularisation peut être vue comme une relaxation convexe du rang de la matrice W

[Bach 2008b,Ji 2009], de la même manière que la régularisation

1

est une relaxation convexe

de la régularisation

0. Elle peut être interprétée comme une norme

1

sur les valeurs singulières

de la matrice W. Elle a donc pour effet, de rendre nulles des valeurs singulières de W et ainsi

de minimiser son rang.

La norme nucléaire est utilisée dans les travaux de Tomioka pour apprendre un classifieur

sur des matrices de signaux de potentiel évoqué [Tomioka 2010a]. Ces signaux se présentent

sous la forme de matrice (un signal par colonne). Or comme ils sont fortement corrélés, il parait

judicieux de forcer les paramètres du classifieur à être de faible rang. Ceci revient à déterminer un

sous-espace linéaire discriminant, une approche similaire au filtrage spatial xDAWN [Rivet 2009].

De même, ce terme de régularisation a été introduit dans le cadre de l’apprentissage

multi-tâche par [Argyriou 2008]. Il permet en effet, d’apprendre plusieurs classifieurs (un par colonne

de la matriceW) en leur faisant partager un sous-espace linéaire.

3.1.4 Optimisation et conditions d’optimalité

Le problème d’apprentissage exprimé Équation (3.5) est un problème de minimisation du

risque structurel. La solution de ce problème ne peut, la plupart du temps, pas être exprimée

de manière analytique, c’est pourquoi des algorithmes d’optimisation numérique doivent être

utilisés [Nocedal 2000]. Ces derniers sont basés sur la mise à jour itérative d’un vecteur jusqu’à

convergence vers un point stationnaire de la fonction objectif.

Dans la suite de cette section, notre but est d’optimiser le problème suivant :

min

x∈Rd

{J(x) =J

1(

x) +λΩ(x)} (3.13)

Ce problème, similaire à (3.5), est un problème de minimisation du risque structurel où J

1

(·)

est une fonction d’attache aux données et Ω(·) un terme de régularisation. On considère dans la

suite de cette section que la fonction J(·) est propre et coercive.

Nous introduisons certaines de ces méthodes, puis nous discutons de leurs conditions

d’opti-malité, i.e. des conditions nécessaires et suffisantes pour qu’un vecteur soit solution du problème

d’optimisation.

Algorithmes d’optimisation

Il existe de multiples algorithmes dédiés à la résolution des problèmes de type (3.5). Les

algo-rithmes utilisés dans nos travaux sont décrits en AnnexeA.1mais nous introduisons rapidement

ici leur conditions d’utilisation.

Gradient Conjugué (GC) Soit les hypothèses suivantes :

1. L’ensemble de niveauL:={x|J(x)J(x

0

)} est borné, la fonctionJ(·) est coercive.

2. Sur un voisinage ouvert N de L, le gradient de la fonction de coûtJ(·) est lipschitzien,

c’est-à-dire qu’il existe une constante L∈R

+

telle que :

k∇J(x)− ∇J(x

)k

2

Lkxx

k

2

x∈ N,x

∈ N (3.14)

SiJ(·) est deux fois différentiable, il est équivalent de montrer que :

L∈R

+

,k∇

2

J(x)k

2

Lx (3.15)

avec k · k

2

la norme matricielle induite par la norme

2

.

Théorème 3.2. (Al-Baali [Al-Baali 1985]) Si les conditions précédentes sont vérifiées et si

l’algorithme du gradient conjugué est implémenté avec une méthode de minimisation linéaire

satisfaisant les conditions fortes de Wolfe [Nocedal 2000], alors

lim

k→∞

k∇J

k

k= 0

L’algorithme converge globalement, c’est-à-dire vers un point stationnaire de J(·).

La définition d’un point stationnaire est donnée dans la suite du manuscrit.

Le gradient conjugué est un algorithme de descente de gradient de type Quasi-Newton. À

chaque itération, une direction de descente est calculée suivie d’une minimisation linéaire le

long de cette direction pour obtenir la nouvelle valeur du vecteur. La particularité du gradient

conjugué est que la direction de descente est une combinaison linéaire de la direction de

des-cente précédente et du gradient au point courant. Cet algorithme a été à l’origine proposé pour

minimiser des problèmes quadratiques mais il a, par la suite, été étendu à des problèmes non

linéaires et non convexes [Hager 2006]. Une description de l’algorithme est donné en Annexe

A.1.1.

Nous avons choisi de l’utiliser pour optimiser le problème de filtrage vaste marge détaillé

Chapitre 4.

Forward Backward Splitting (FBS) Soient les hypothèses suivantes :

1. La fonction J

1(

·) est de classeC

1

, convexe et de gradient lipschitzien. Il doit donc exister

pour un J

1

(·), une constante de LipschitzL >0 vérifiant l’équation (3.14) ou (3.15).

2. Le terme de régularisation Ω(·) est une fonction propre, semicontinue inférieurement et

Si les hypothèses précédentes sont vérifiées alors l’algorithme FBS converge vers le

mini-mum global de J(·) avec une vitesse de convergence O(

1

k

). Une approche ayant une vitesse de

convergence théorique plus rapide a été proposée par Nesterov [Nesterov 2005,Nesterov 2007].

Cette approche, que nous appellerons dans la suite du manuscrit FBS multipas, a une vitesse de

convergence en valeur objectif O(

1

k2

), ce qui la rend très intéressante en pratique. Nous avons

choisi d’utiliser dans nos travaux l’algorithme FBS multipas proposé dans [Beck 2009].

Les méthodes FBS sont des méthodes faisant appel à l’opérateur proximal de Ω(·) et ont

été proposées pour permettre de résoudre efficacement des problèmes non différentiables. Elles

peuvent être utilisées pour minimiser des problèmes convexes pour lesquels le premier terme est

différentiable et le second terme a un opérateur proximal calculable analytiquement.

Une présentation rapide des algorithmes FBS et FBS multipas ainsi que des opérateurs

proximaux pour les régularisations

1

et

1

2

sont donnés en Annexe A.1.2.

Majoration-Minimisation (MM) Les algorithmes de Majoration-Minimisation sont une

classe générale d’algorithmes permettant l’optimisation de problèmes complexes. Le problème

est résolu itérativement en minimisant une majoration de la fonction à optimiser. Par exemple,

une fonction concave peut être majorée linéairement en un point, ce qui rend le problème bien

plus simple à résoudre.

Une discussion sur ce genre d’algorithme ainsi qu’un exemple d’utilisation pour une

régula-risation

p

non convexe sont fournis en AnnexeA.1.3.

Principe du démarage à chaud Le démarrage à chaud ou Warm-Start est une approche

communément utilisée en apprentissage statistique. Une part importante des algorithmes

uti-lisés dans ce domaine sont des algorithmes itératifs. Lorsque deux problèmes d’apprentissage

similaires doivent être appris à la suite l’un de l’autre, alors il peut être intéressant d’utiliser la

solution du premier pour initialiser le second, ce qui permet de réduire le temps d’optimisation.

Ceci a été proposé dans le cadre des SVM pour pouvoir apprendre de manière efficace le problème

SVM pour plusieurs valeurs du paramètreC [DeCoste 2000]. Ce type d’initialisation a aussi été

utilisé dans le cadre de l’apprentissage de noyaux où de multiples SVM doivent être appris en

changeant légèrement le noyau [Rakotomamonjy 2008a]. Nous avons utilisé cette approche pour

les algorithmes proposés nécessitant de multiples résolutions de problème SVM.

Conditions d’optimalité

Les algorithmes présentés dans la sous-section précédente sont itératifs. Ils consistent donc

à mettre à jour la valeur d’un vecteur donné en le faisant tendre vers la solution du problème.

La question de l’arrêt des itérations, i.e.de savoir si un vecteur donné est solution du problème,

est donc très importante.

Nous supposerons dans la suite que nous cherchons à résoudre le problème de minimisation

(3.13) avec les hypothèses suivantes :

1. J

1

(·) est une fonction convexe, propre et différentiable.

2. Ω(·) est un terme de régularisation convexe, propre et semicontinu inférieurement.

3. L’intérieur relatif des domaines de définition des fonctionsJ

1

(·) et Ω(·) se recouvrent.

Nous allons définir dans la suite certains termes qui permettent d’obtenir des conditions

d’opti-malité du problème.

−1 −0.5 0 0.5 1 1.5 2 2.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3

(a) Exemples de sous-gradients de f(x) pour

x

0

= 0 etx

1

= 1

−1 −0.5 0 0.5 1 1.5 2 2.5 −1 −0.5 0 0.5 1 1.5 2 2.5 3

(b) Test d’optimalité pourx

= 0

Figure 3.6: Exemples de sous-gradients d’une fonction f convexe et non différentiable pour d= 1. (a)

La fonction f est différentiable en x = 0, elle a donc un sous-gradient uniqueg

0

qui permet d’obtenir

la courbe rouge. Elle est par contre non différentiable en x

1

= 1 et a une infinité de sous-gradients dont

g

1

et g

2

tracés en vert et magenta. (b) Le pointx

= 0 est bien le minimum de la fonction f(x) car le

vecteur 0est un sous-gradient def(x).

Sous-gradient Soit une fonction J convexe deR

d

dansR, le vecteur g est un sous-gradient

de J en xR

d

si

J(z)J(x) +g

T

(zx) zR

d

. (3.16)

Le sous-gradient permet donc de minorer une fonction convexe par une approximation linéaire,

g est donc la pente d’une tangente de la fonction au point x. Nous définissons aussi la

sous-différentielle∂J(x) comme l’ensemble de tous les sous-gradients deJ enx. SiJ est une fonction

différentiable, alors le gradient J(x)de la fonction est l’unique sous-gradient de J(·) en x

(∂J(x) ={∇J(x)}) [Bertsekas 2003]. Le sous-gradient peut être utilisé pour trouver une

direc-tion de descente dans des algorithmes itératifs (descente de sous-gradient).

Optimalité Soit une fonction J(·) convexe de R

d

dans R que l’on cherche à minimiser. Le

point x

est le minimum deJ(x) si et seulement si

0∂J(x

). (3.17)

Dans le cas du problème (3.13), sachant l’hypothèse 3, on peut utiliser la propriété de linéarité

des sous-gradients [Hiriart-Urruty 2009] et obtenir la condition d’optimalité suivante :

− ∇J

1(

x

)∂λΩ(x

). (3.18)

Un des sous-gradients de la fonction non différentiable doit donc être capable de « compenser »

le gradient de la fonction J

1

(·) pour que l’on soit à l’optimum. Les travaux de [Nikolova 2000]

ont montré théoriquement pourquoi les termes de régularisation non différentiables en0 auront

tendance à promouvoir de la parcimonie.

Norme

p

Un bon exemple d’utilisation des sous-gradients est le cas de la régularisation

p

terme de régularisation. Elle apparaît aussi dans les normes mixtes

1

p

, pour lesquelles les

sous-gradients sont des outils nécessaires au calcul des opérateurs proximaux.

Avant de donner la sous-différentielle de la norme

p

, nous introduisons le concept de norme

duale. La norme duale d’une norme

p

est définie par :

kxk

q

= sup

z∈Rd

z

T

x (3.19)

s. c. kxk

p

≤1.

La norme duale de la norme

p

avec p ∈ [1,+], est la norme

q

avec q ∈ [1,+] tel que

1

p

+

1

q

= 1. Par exemple, les norme

1

et

sont duales entre elles et la norme

2

est son propre

dual.

Pour obtenir le sous-gradient de la norme

p

, il est nécessaire d’utiliser l’inégalité de

Fenchel-Young

kxk

p

+ı

kgkq1

g

T

x (3.20)

ou ı

kgkq1

est le conjugué de Fenchel de la norme

p

, c’est à dire l’indicatrice de la norme duale

q

telle que :

ı

kgkq1

=

0 si kgk

q

1

∞ sinon . (3.21)

Si l’on suppose que g est un sous-gradient de la norme

p

alors l’inégalité de Fenchel-Young

(3.20) devient une égalité et donc :

g

T

x− kxk

p

=ı

kgkq1

(3.22)

On remarque que pour avoir une inégalité finie, il est nécessaire d’avoir kgk

q

≤1. Pour obtenir

le sous-gradient de la norme

p

, on distingue les deux cas : soit x=0et la seule condition pour

que g soit un sous-gradient est kgk

q

1, soit x 6=0 et la contrainte d’égalité g

T

x =kxk

p

est

également nécessaire. Finalement, le sous-gradient du terme de régularisation k · k

p

est défini

par :

kxk

p

=

(

g:kgk

q

1 six=0

g:kgk

q

1 etg

T

x=kxk

p

six6=0 (3.23)

Ce sous-gradient est utile pour tester les conditions d’optimalité (3.18) du problème (3.13). Il est

aussi utilisé pour obtenir une solution analytique des problèmes proximaux définis en Annexe

A.1.2.

Nous prenons comme exemple la norme

1

qui a pour norme duale la norme

. Le

sous-gradient de la norme

1

peut facilement être obtenu à partir de l’équation (3.23). La contrainte

d’égalité est vérifiée pour gsig

i

= signe(x

i

), ce qui permet d’obtenir les conditions d’optimalité

du problème (3.13) avec Ω(x) =kxk

1

:

− ∇J

1(

x)∂λkxk

1

⇔ −(J

1(

x))

k

sgn(x

k

) six

k

6= 0

[1,1] six

k

= 0 k1, . . . , d (3.24)

On remarque que la composante k du sous-gradient est unique lorsque la composante

corres-pondante x

k

est différente de zéro car le terme de régularisation est différentiable.