• Aucun résultat trouvé

      γkR+, k=1, ..., K. g(x) 60 ∇xL(γ, x) =0 gk(x)γk =0, k=1, ..., K. (2.7)

La condition fondamentale (par rapport aux extrema li´es) est la qua-tri`eme, dont nous verrons qu’elle aura une importance de premi`ere ordre dans la r´esolution Lasso par la m´ethode LARS-Lasso. Cette derni`ere stipule que, si une condition k n’est pas satur´ee (i.e. gk(x)6= 0), alors forc´ement

γk =0.

Le th´eor`eme, que nous donnons ici sans d´emonstration, permet de r´e-soudre le probl`eme de minimisation avec des contraintes sous forme d’in´ega-lit´es :

Th´eor`eme 18 Soit (P) le probl`eme de la recherche d’un x tel que :

x ∈argmin

xRM g(x)60K

 f(x),

avec f et g deux fonctions convexes comme d´ecrites pr´ec´edemment, et f continˆument diff´erentiable. Le probl`eme (P) admet une solution si et seule-ment si il existe γRK tel que les conditions KKT soient remplies.

Ce th´eor`eme, utile pour r´esoudre le probl`eme dans sa premi`ere tion (2.3), peut s’´ecrire de mani`ere ´equivalente, pour la deuxi`eme formula-tion (2.5), en annulant le gradient de :

f(β) = N

n=1 ynM

m=1 βmxnm !2 +λ2 M

m=1 |βm

Une remarque pour clore cette section :

Remarque 19 Sauf dans le cas o`u la matrice tX X est sym´etrique d´efinie positive,

l’exis-tence d’une solution unique n’est pas assur´ee, puisque le probl`eme n’est plus strictement convexe.

2.5 L’algorithme LARS-Lasso

`

A partir de maintenant, et sauf mention contraire, le probl`eme Lasso r´ef´erera toujours `a la deuxi`eme ´ecriture (2.5). Ainsi nous ´ecrirons ˆβL(λ) `a la place de ˆβLasso 2(λ2).

D’autre part, nous supposerons que les r´egresseurs, ainsi que la variable r´eponse, sont centr´es et r´eduits.

En utilisant les r´esultats de la partie pr´ec´edente, nous obtenons les condi-tions d’optimalit´e suivantes :

2.5. L’ALGORITHME LARS-LASSO 45

Th´eor`eme 20 (Conditions d’optimalit´e) Le vecteur ˆβL(λ) est solution du probl`eme Lasso dans sa deuxi`eme ´ecriture (2.5) si et seulement si :

         tX"yX ˆβL(λ) =λγ ∀i=1, ..., p : γi  sgn(ˆβL i(λ)), quand ˆβL i(λ)6=0 ∈ [−1; 1] quand ˆβL i(λ) =0. (2.8)

Il est facile de voir que nous retrouvons la r´egression ordinaire lorsque

λ =0. En effet, si λ=0 dans l’´equation (2.8), la condition d’optimalit´e se r´esume `a :

tX"yX ˆβL(0)=0.

Autrement dit, βL(0)est solution du probl`eme Lasso si et seulement si les r´esidus sont orthogonaux `a l’ensemble des pr´edicteurs, ce qui est exac-tement une condition n´ecessaire et suffisante dans la m´ethode des moindres carr´es ordinaires.

Un examen approfondi du th´eor`eme 20 permet de comprendre comment le Lasso fonctionne. Pour cela, remarquons que ce th´eor`eme implique, entre autre, pour tout i=1, ..., M :

ˆβL

i(λ)6=0⇒

txi"yX ˆβL(λ) =λ (2.9)

ˆβL

i(λ)6=0⇒ |<xi, ε>| =λ,

en notant ε les r´esidus de la r´egression : ε =

"

YX ˆβL(λ) .

Notons que dans le cadre pr´esent de variables r´eduites, le cœfficient de parcimonie λ peut ˆetre associ´e `a un facteur de corr´elation maximale. Ainsi, si λ > 1, le mod`ele choisi est le mod`ele nul, o`u le cœfficient de tous les r´egresseurs est nul (i.e., β=0M).

Heuristiquement, les moindres carr´es ordinaires “prennent” toute l’infor-mation des pr´edicteurs susceptibles d’expliquer les variations de la variable r´eponse. Dans la r´egression Lasso, seule une partie, d´efinie par le cœfficient

λ est prise en compte. Par cons´equent, les covariables ne permettant

d’ex-pliquer qu’une faible partie de la variable r´eponse sont ignor´ees.

L’algorithme LARS-Lasso se dessine alors tout naturellement. D´efinis-sons tout d’abord l’ensemble des pr´edicteurs dont la corr´elation lin´eaire avec les r´esidus est maximale (i.e., dont la corr´elation vaut λ) :

∆=ni∈1, ..., M t.q.

txi"yX ˆβL(λ) =λo· (2.10) Alternativement, cet ensemble d´ecrit le support de la r´egression : Remarque 21 Il est facile de voir que :

— Si i∈∆ alors ˆβiL(λ)6=0. — Si i /∈∆ alors ˆβiL(λ) =0.

Cet ensemble permet aussi de d´efinir la sous-matrice de X compos´ee des r´egresseurs inclus dans le support :

D´efinition 22 Notons X la sous-matrice de X o`u nous avons s´electionn´e les colonnes correspondant aux indices dans ∆.

Etant donn´e que nous souhaitons travailler dans les cas o`u M>> N, se pose le probl`eme de l’inversibilit´e de la matricetX X ; c’est pourquoi nous

al-lons devoir nous satisfaire d’une notion un peu plus faible, dont la d´efinition est donn´ee ci-dessous :

D´efinition 23 (Pseudo-inverse) Soit A une matrice r´eelle. Une matrice A+ est appel´ee pseudo-inverse de A si :        AA+A= A A+AA+= A+ t"AA+= AA+ t"A+A= A+A (2.11)

Propri´et´e 24 Dans le cas des matrices r´eelles :

— Le pseudo-inverse d’une matrice nulle est sa transpos´ee. — Le pseudo-inverse peut ˆetre vu comme limite :

lim

δ→0

"t

AA+δId1tA.

— Dans le cas o`u la matrice est carr´ee et non singuli`ere, la d´efinition de pseudo-inverse co¨ıncide avec la notion d’inverse.

— Le pseudo-inverse, lorsqu’il existe, est unique.

En utilisant les conditions d’optimalit´e de la propri´et´e 2.8 (r´e´ecrit dans l’´equation (2.9)), et l’ensemble ∆ de la d´efinition 22 :

tX

"

yXˆβL(λ) =λγ. (2.12)

Dans l’´equation (2.12) ci-dessus, le vecteur λγest dans l’image detX. Par cons´equent : tX∆tX+λγ = tX∆tX+tX" yXˆβL(λ) de f 23 = tX" yXˆβL(λ) = λγ.

Autrement dit, la propri´et´e d´emontr´ee ci-dessus indique qu’une matrice multipli´ee par son pseudo-inverse agit comme l’identit´e lorsque que le vec-teur appartient `a l’image de ladite matrice.

2.5. L’ALGORITHME LARS-LASSO 47

En reprenant, `a partir de l’´equation (2.12) :

tX " yXˆβL(λ)= λγtXXˆβL(λ) =tXytX∆tX+λγtXXˆβL(λ) =tX" ytX+λγ  ⇔ tX+tXXˆβL(λ) =tX+tX " ytX+λγ  (2.13) ⇔ ˆβL(λ) =X+XX+"ytX+λγ+h (2.14) ⇔ ˆβL(λ) =X+"ytX+λγ+hˆβL(λ) =X+y | {z } R1λ×X+tX+γ | {z } R2 +h,

avec h un ´el´ement du noyau de X. Si ce noyau se r´eduit `a z´ero, alors la solution au probl`eme Lasso est unique. Ce probl`eme est trait´e par Tibshirani (2012), o`u l’auteur montre que si les variables sont issues d’une distribution continue, alors ce noyau est toujours r´eduit au vecteur nul. Nous supposons donc, `a partir de maintenant h=0 (et donc l’unicit´e de la solution Lasso). L’´etonnant est ici que la solution ˆβL(λ) est lin´eaire en λ, pour peu que nous connaissons le support ∆. Une fois cette remarque faite, l’algorithme est naturel. L’id´ee va ˆetre de commencer par λ>1 de sorte `a avoir ˆβL(λ) =0 et de le faire d´ecroˆıtre. En prenant en compte les conditions d’optimalit´e (´equations (2.8)), il est alors possible de chercher la premi`ere variable `a en-trer dans l’ensemble ∆. Une fois celle-ci trouv´ee, la trajectoire des cœfficients, bien que toujours lin´eaire, est modifi´ee. Calculs faits de ces modifications, il est alors possible de chercher la premi`ere variable `a entrer ou sortir de l’ensemble ∆, lorsque λ continue `a d´ecroˆıtre. Ainsi, `a la fin de ce processus de calcul, nous aurons identifi´e tout le chemin des solutions (en fonction de

λ). Ce chemin est lin´eaire par morceaux, et les nœuds (i.e. les points o`u

la pente change) correspondent chacun `a une entr´ee ou `a une sortie d’une variable dans l’ensemble ∆.

L’algorithme est d´ecrit en pseudo-code ci-dessous : 1. Commencer avec λ= +∞. Dans ce cas : ˆβL=0M.

2. Nous faisons d´ecroˆıtre λ vers 0 jusqu’`a ce qu’une variable xi1 soit telle que i1 rejoint ∆.

3. Nous continuons `a faire d´ecroˆıtre λ vers 0. L’ensemble ∆ peut alors changer pour deux raisons :

— Un indice ik qui n’appartenait pas `a ∆ rejoint cet ensemble. — Un indice ik′ qui appartenait `a ∆ n’y appartient plus.

4. L’algorithme s’arrˆete quand λ=0. Le probl`eme Lasso pour tout λ est alors r´esolu.

Il reste maintenant `a d´eterminer quand une variable entre ou sort de cet ensemble.

Entr´ee et sortie des variables dans ∆

Entr´ee : L’algorithme LARS-Lasso repose donc sur un ensemble de nœuds, chacun d’entre eux repr´esentant le moment o`u une variable int`egre ou sort de l’ensemble ∆. Supposons que nous nous retrouvons au moment o`u λ=λ(tk).

Une variable xi qui appartient `a l’ensemble ∆ sort de celui-ci lorsque (voir ´equation (2.13)) :

ˆβL

i(λ) =R1,iλR2,i =0,

ou encore, en supposant R2,i 6=0 :

λ= R1,i

R2,i· (2.15)

Sortie : Notons tout

k,i le moment de sortie de chaque variable. Le premier moment de sortie est alors calcul´e de la fa¸con suivante :

toutk =max

i∈∆



toutk,i toutk,i <λ(tk) · (2.16) Une variable Xi ∈/ ∆ rejoindra l’ensemble ∆ d`es lors que (voir ´equation (2.8)) :

tXi(yX ˆβiL(λ)) =±λ. (2.17)

En utilisant l’´equation (2.13), nous obtenons :

tXi"yX(R1,iλR2,i)λ. (2.18) Le moment d’entr´ee dans l’ensemble ∆ est alors :

tjoink,i =

tXi"XiR1y

tXiXiR2±1 . (2.19)

Remarque 25 tjoink,i semble ne pas ˆetre bien d´efini, mais nous choisissons celui des deux qui est dans l’intervalle d’int´erˆet [0; λ(tk)].

Conclusion : Soit donc λ(tk) le dernier nœud sur lequel nous nous sommes arrˆet´es. Le prochain nœud est alors d´efini, en utilisant (2.16) et (25) par :

λ(tk+1) =max(tkjoin, toutk ).

Nous donnons un exemple de fonctionnement du LARS-Lasso dans la figure 2.5. L’algorithme va d’abord chercher la variable avec laquelle il forme le plus angle. Cette variable ´etant de plus en plus prise en compte alors que

2.5. L’ALGORITHME LARS-LASSO 49 Response Group 1 covariables Group 2 covariables Response Group 1 covariables Group 2 covariables Response Group 1 covariables Group 2 covariables Residuals Response Group 1 covariables Group 2 covariables Residuals