Le papier net élastique original Zou & Hastie (2005) Régularisation et sélection des variables via le filet élastique introduit la fonction de perte nette élastique pour la régression linéaire (ici, je suppose que toutes les variables sont centrées et mises à l'échelle de la variance unitaire): mais appelé "filet élastique naïf". Ils ont fait valoir qu'il effectue un double retrait (lasso et crête), a tendance à sur-rétrécir et peut être amélioré en redimensionnant la solution résultante comme suit: \ hat \ beta ^ * = (1+ \ lambda_2) \ hat \ beta. Ils ont donné quelques arguments théoriques et des preuves expérimentales que cela conduit à de meilleures performances.
Cependant, l' glmnet
article suivant Friedman, Hastie et Tibshirani (2010) Les chemins de régularisation pour les modèles linéaires généralisés via la descente de coordonnées n'utilisaient pas cette mise à l'échelle et n'avaient qu'une brève note de bas de page disant
Zou et Hastie (2005) ont appelé cette pénalité le filet élastique naïf et ont préféré une version redimensionnée qu'ils ont appelée filet élastique. Nous abandonnons cette distinction ici.
Aucune autre explication n'y est donnée (ni dans aucun des manuels de Hastie et al.). Je trouve cela un peu déroutant. Les auteurs ont-ils omis le rééchelonnement parce qu'ils le jugeaient trop ad hoc ? parce qu'il a fait pire dans certaines expériences supplémentaires? parce qu'il n'était pas clair comment le généraliser au cas GLM? Je n'ai aucune idée. Mais en tout cas, le glmnet
package est devenu très populaire depuis lors et j'ai donc l'impression que de nos jours, personne n'utilise le redimensionnement de Zou & Hastie, et la plupart des gens ne sont probablement même pas au courant de cette possibilité.
Question: après tout, ce rééchelonnement était-il une bonne ou une mauvaise idée?
Avec le glmnet
paramétrage, le redimensionnement de Zou & Hastie devrait être
la source
glmnet
code. Il n'est pas disponible là-bas, même en tant que fonctionnalité facultative (leur code précédent qui accompagnait le document de 2005 prend bien sûr en charge le redimensionnement).Réponses:
J'ai envoyé cette question par courriel à Zou et à Hastie et j'ai obtenu la réponse suivante de Hastie (j'espère qu'il ne me dérangerait pas de la citer ici):
J'interprète ces mots comme une approbation d'une certaine forme de "rééchelonnement" de la solution de filet élastique vanille, mais Hastie ne semble plus adhérer à l'approche particulière proposée dans Zou & Hastie 2005.
Dans ce qui suit, je passerai brièvement en revue et comparerai plusieurs options de redimensionnement.
J'utiliserai le
glmnet
paramétrage de la perte la solution étant notée .L'approche de Zou & Hastie est d'utiliserNotez que cela produit une mise à l'échelle non triviale pour la crête pure lorsque ce qui n'a sans doute pas beaucoup de sens. D'un autre côté, cela ne donne aucun rééchelonnement pour le lasso pur lorsque , malgré diverses affirmations dans la littérature selon lesquelles l'estimateur du lasso pourrait bénéficier d'un rééchelonnement (voir ci-dessous).
Pour le lasso pur, Tibshirani a suggéré d'utiliser l'hybride lasso-OLS, c'est-à-dire d'utiliser l'estimateur OLS en utilisant le sous-ensemble de prédicteurs sélectionnés par le lasso. Cela rend l'estimateur cohérent (mais annule le retrait, ce qui peut augmenter l'erreur attendue). On peut utiliser la même approche pour le filet élastique mais le problème potentiel est que le filet élastique peut sélectionner plus de prédicteurs et OLS se décomposeront (en revanche, le lasso pur ne sélectionne jamais plus de prédicteurs).
Le lasso détendu mentionné dans l'e-mail de Hastie cité ci-dessus est une suggestion pour exécuter un autre lasso sur le sous-ensemble de prédicteurs sélectionnés par le premier lasso. L'idée est d'utiliser deux pénalités différentes et de sélectionner les deux via une validation croisée. On pourrait appliquer la même idée au filet élastique, mais cela semblerait nécessiter quatre paramètres de régularisation différents et les régler est un cauchemar.
Je suggère un schéma de réseau élastique détendu plus simple : après avoir obtenu , effectuez une régression de crête avec et le même sur le sous-ensemble sélectionné de prédicteurs:Ceci (a) ne nécessite aucun paramètre de régularisation supplémentaire, (b) fonctionne pour n'importe quel nombre de prédicteurs sélectionnés, et (c) ne fait rien si l'on commence avec une crête pure. Ça me semble bien.β^ α = 0 λ
Je travaille actuellement avec un petit ensemble de données avec et , où est bien prédits par les quelques grands PC de . Je comparerai les performances des estimateurs ci-dessus en utilisant 100 fois la validation croisée répétée de 11 fois. En tant que mesure de performance, j'utilise une erreur de test, normalisée pour produire quelque chose comme un R au carré:Dans la figure ci-dessous, les lignes en pointillés correspondent à l'estimateur net élastique vanille et trois sous-parcelles correspondent aux trois approches de redimensionnement:n ≪ p n = 44 p = 3000 y X
Ainsi, au moins dans ces données, les trois approches surpassent l'estimateur net élastique vanille, et le «filet élastique détendu» donne les meilleurs résultats.
la source