La différence entre la régression du pont et le filet élastique est une question fascinante, étant donné leurs pénalités similaires. Voici une approche possible. Supposons que nous résolvions le problème de régression du pont. On peut alors se demander en quoi la solution nette élastique différerait. L'examen des gradients des deux fonctions de perte peut nous en dire quelque chose.
Régression du pont
Supposons que est une matrice contenant des valeurs de la variable indépendante ( n points x d dimensions), y est un vecteur contenant des valeurs de la variable dépendante et w est le vecteur de poids.Xndyw
La fonction de perte pénalise la norme des poids, de magnitude λ b :ℓqλb
Lb(w)=∥y−Xw∥22+λb∥w∥qq
Le gradient de la fonction de perte est:
∇wLb(w)=−2XT(y−Xw)+λbq|w|∘(q−1)sgn(w)
désigne la puissance de Hadamard (c'est-à-dire par élément), qui donne un vecteur dont le i ème élément est v cv∘ci . sgn(w)est la fonction de signe (appliquée à chaque élément dew). Le gradient peut être indéfini à zéro pour certaines valeurs deq.vcisgn(w)wq
Filet élastique
La fonction de perte est:
Le(w)=∥y−Xw∥22+λ1∥w∥1+λ2∥w∥22
Cela pénalise le ℓ1 norme des poids de magnitude et la norme ℓ 2 de magnitude λ 2 . Le papier net élastique appelle minimisation de cette fonction de perte le «filet élastique naïf» car il réduit doublement les poids. Ils décrivent une procédure améliorée où les poids sont ensuite redimensionnés pour compenser le double retrait, mais je vais juste analyser la version naïve. C'est une mise en garde à garder à l'esprit.λ1ℓ2λ2
Le gradient de la fonction de perte est:
∇wLe(w)=−2XT(y−Xw)+λ1sgn(w)+2λ2w
Le gradient n'est pas défini à zéro lorsque car la valeur absolue de la pénalité ℓ 1 n'y est pas différenciable.λ1>0ℓ1
Approche
Supposons que nous sélectionnons les poids qui résolvent le problème de régression du pont. Cela signifie que le gradient de régression du pont est nul à ce stade:w∗
∇wLb(w∗)=−2XT(y−Xw∗)+λbq|w∗|∘(q−1)sgn(w∗)=0⃗
Par conséquent:
2XT(y−Xw∗)=λbq|w∗|∘(q−1)sgn(w∗)
Nous pouvons le remplacer par le gradient net élastique, pour obtenir une expression du gradient net élastique à . Heureusement, cela ne dépend plus directement des données:w∗
∇wLe(w∗)=λ1sgn(w∗)+2λ2w∗−λbq|w∗|∘(q−1)sgn(w∗)
En regardant le gradient net élastique à nous dit: étant donné que la régression du pont a convergé vers les poids w ∗ , comment le filet élastique voudrait-il changer ces poids?w∗w∗
Il nous donne la direction locale et l'amplitude du changement souhaité, car le gradient pointe dans le sens de la montée la plus abrupte et la fonction de perte diminue lorsque nous nous déplaçons dans la direction opposée au gradient. Le gradient peut ne pas pointer directement vers la solution nette élastique. Mais, comme la fonction de perte nette élastique est convexe, la direction / amplitude locale donne quelques informations sur la façon dont la solution nette élastique différera de la solution de régression de pont.
Cas 1: Contrôle de santé mentale
( λb=0,λ1=0,λ2=1 ). Dans ce cas, la régression de pont est équivalente aux moindres carrés ordinaires (OLS), car la pénalité est nulle. Le filet élastique est une régression de crête équivalente, car seule la norme est pénalisée. Les graphiques suivants montrent différentes solutions de régression de pont et comment le gradient net élastique se comporte pour chacune.ℓ2
Graphique de gauche: gradient net élastique par rapport au poids de régression du pont le long de chaque dimension
L'axe des x représente une composante d'un ensemble de poids w∗ sélectionnés par régression en pont. L'axe des y représente la composante correspondante du gradient net élastique, évaluée à . Notez que les poids sont multidimensionnels, mais nous examinons simplement les poids / gradient le long d'une seule dimension.w∗
Graphique de droite: variations nettes élastiques des poids de régression des ponts (2d)
Chaque point représente un ensemble de poids 2d w∗ sélectionnés par régression en pont. Pour chaque choix de , un vecteur est tracé pointant dans la direction opposée au gradient net élastique, avec une amplitude proportionnelle à celle du gradient. C'est-à-dire que les vecteurs tracés montrent comment le filet élastique veut changer la solution de régression du pont.w∗
Ces graphiques montrent que, par rapport à la régression de pont (OLS dans ce cas), le filet élastique (régression de crête dans ce cas) veut réduire les poids vers zéro. La quantité de retrait souhaitée augmente avec l'ampleur des poids. Si les poids sont nuls, les solutions sont les mêmes. L'interprétation est que nous voulons nous déplacer dans la direction opposée au gradient pour réduire la fonction de perte. Par exemple, supposons que la régression du pont ait convergé vers une valeur positive pour l'un des poids. Le gradient net élastique est positif à ce stade, donc le filet élastique veut diminuer ce poids. Si vous utilisez la descente de gradient, nous prendrions des étapes proportionnelles en taille au gradient (bien sûr, nous ne pouvons pas techniquement utiliser la descente de gradient pour résoudre le filet élastique en raison de la non-différentiabilité à zéro,
Cas 2: Pont assorti et filet élastique
q=1.4,λb=1,λ1=0.629,λ2=0.355 ). J'ai choisi les paramètres de pénalité de pont pour correspondre à l'exemple de la question. J'ai choisi les paramètres de filet élastique pour donner la pénalité de filet élastique la mieux adaptée. Ici, les moyennes les mieux adaptées, étant donné une distribution particulière des poids, nous trouvons les paramètres de pénalité nette élastique qui minimisent la différence quadratique attendue entre le pont et les pénalités nettes élastiques:
minλ1,λ2E[(λ1∥w∥1+λ2∥w∥22−λb∥w∥qq)2]
[−2,2]
Surface de pénalité
q=1.4,λb=100λ1=0.629,λ2=0.355
Comportement dégradé
Nous pouvons voir ce qui suit:
- w∗jj .
- |w∗j|<0.25 , le filet élastique veut réduire le poids vers zéro.
- |w∗j|≈0.25 , la régression du pont et les solutions de filet élastique sont les mêmes. Mais, le filet élastique veut s'éloigner si le poids diffère même légèrement.
- 0.25<|w∗j|<1.31
- |w∗j|≈1.31
- |w∗j|>1.31
qλbλ1,λ2 . Les points où les solutions de pont et de filet élastique coïncident changent légèrement, mais le comportement des gradients est par ailleurs similaire.
Cas 3: Pont dépareillé et filet élastique
(q=1.8,λb=1,λ1=0.765,λ2=0.225)λ1,λ2ℓ1ℓ2
Par rapport à la régression de pont, le filet élastique veut réduire les petits poids vers zéro et augmenter les poids plus importants. Il y a un seul ensemble de poids dans chaque quadrant où la régression du pont et les solutions de filet élastique coïncident, mais le filet élastique veut s'éloigner de ce point si les poids diffèrent même légèrement.
(q=1.2,λb=1,λ1=173,λ2=0.816)ℓ1q>1λ1,λ2ℓ2ℓ1 peine).
Par rapport à la régression de pont, le filet élastique veut augmenter de petits poids et rétrécir des poids plus grands. Il y a un point dans chaque quadrant où la régression du pont et les solutions de filet élastique coïncident, et le filet élastique veut se déplacer vers ces poids à partir de points voisins.