Plage de lambda en régression nette élastique

9

Étant donné la régression nette élastique

minb12||yXb||2+αλ||b||22+(1α)λ||b||1

comment choisir une plage appropriée de λ pour la validation croisée?

Dans le cas α=1 (régression de crête), la formule

dof=jsj2sj2+λ

peut être utilisé pour donner un degré de liberté équivalent pour chaque lambda (où sj sont les valeurs singulières de X ), et les degrés de liberté peuvent être choisis dans une plage sensible.

Dans le cas α=0 (lasso), nous savons que

λ>λmax=maxj|tytXtj|

entraînera que tous les bj soient nuls, et λ peut être choisi dans une certaine plage (0,λmax) .

Mais comment gérer le cas mixte?

Chris Taylor
la source

Réponses:

4

Je pense que vous devriez utiliser une plage de 0 à

λmax=11αλmax

Mon raisonnement vient de l'extension du cas du lasso, et une dérivation complète est ci-dessous. Le qualificatif est qu'il ne capture pas la contrainte apportée par la régularisation . Si je travaille sur la façon de résoudre ce problème (et de décider s'il doit réellement être corrigé), je reviendrai et le modifierai.dof2


Définissez l'objectif

f(b)=12yXb2+12γb2+δb1

C'est l'objectif que vous avez décrit, mais avec certains paramètres substitués pour améliorer la clarté.

Classiquement, ne peut être une solution au problème d'optimisation si le gradient à est nul. Le terme n'est cependant pas lisse, donc la condition est en fait que se trouve dans le sous-gradient à .b=0minf(b)b=0b10b=0

Le sous-gradient de estf

f=XT(yXb)+γb+δb1

où désigne le sous-gradué par rapport à . À , cela devientbb=0

f|b=0=XTy+δ[1,1]d

où est la dimension de et a est un cube dimensionnel. Donc, pour que le problème d'optimisation ait une solution de , il faut quedb[1,1]ddb=0

(XTy)iδ[1,1]

pour chaque composant . Cela équivaut ài

δ>maxi|jyjXij|

qui est la définition que vous avez donnée pour . Si est maintenant échangé, la formule en haut du message tombe.λmaxδ=(1α)λ

Andy Jones
la source