J'essaie d'effectuer une régression au lasso, qui a la forme suivante:
Minimiser dans
Étant donné un , on m'a conseillé de trouver le optimal à l'aide de la programmation quadratique, qui prend la forme suivante:
Minimiser en , sous réserve deAx≤b.
Maintenant, je me rends compte que le terme doit être transformé en terme de contrainte A x ≤ b , ce qui est assez simple. Cependant, je ne vois pas comment je pourrais transférer le premier terme de la première équation dans le premier terme du second. Je ne pouvais pas trouver grand-chose sur le net, alors j'ai décidé de demander ici.
la source
Je voulais ajouter comment résoudre la transformation des contraintes dans une forme utilisable pour la programmation quadratique, car ce n'est pas aussi simple que je le pensais. Il n'est pas possible de trouver une matrice A réelletelle que A w ≤ s ↔ ∑ | w i | ≤ s .∑|wi|≤s A Aw≤s↔∑|wi|≤s
L'approche que j'ai utilisée était de diviser les éléments du vecteur w en w + i et w - i , de sorte que w i = w + i - w - i . Si w i ≥ 0 , vous avez w + i = w i et w - i + i = 0wi w w+i w−i wi=w+i−w−i wi≥0 w+i=wi , sinon vous avez w - i = | w i | et ww−i=0 w−i=|wi| w+i=0 . Ou en termes plus mathématiques, w+i=|wi|+wi2 et Les deuxw - i etw + i sontnombres non négatifs. L'idée derrière la répartition des nombres est que vous avez maintenant| wi| =w + i +w - i , éliminant efficacement les valeurs absolues.w−i=|wi|−wi2. w−i w+i |wi|=w+i+w−i
La fonction d'optimisation se transforme en: , sous réserve de w + i + w - i ≤ s ,12(w+−w−)TQ(w+−w−)+cT(w+−w−) w+i+w−i≤s,w+i,w−i≥0
Où et c sont donnés comme indiqué ci-dessus par Glen_bQ c
Cela doit être transformé en une forme utilisable, c'est-à-dire que nous avons besoin d'un vecteur. Cela se fait de la manière suivante:
sujet à
Où est le D matrice unité de dimension, s D a D de dimension vecteur constitué uniquement de la valeur s et 0 D a 2 * D de dimension de vecteur nul. Le premier semestre assure | w i | = w + i + w - i ≤ s , le second w w + et w -ID D sD D s 0D 2∗D |wi|=w+i+w−i≤s Maintenant, il est sous une forme utilisable d'utiliser la programmation quadratique pour rechercherw+i,w−i≥0 w+ w− , étant donné l' . Une fois cela fait, votre paramètre optimal par rapport à s est w = w + - w - .s s w=w+−w−
Source et lectures complémentaires: Résolution d'un problème de programmation quadratique avec des contraintes linéaires contenant des valeurs absolues
la source