Modification du lasso pour LARS

12

J'essaie de comprendre comment l'algorithme Lars peut être modifié pour générer Lasso. Bien que je comprenne le LARS, je ne suis pas en mesure de voir la modification au Lasso de l'article de Tibshirani et al. En particulier, je ne vois pas pourquoi la condition de signe en ce que le signe de la coordonnée non nulle doit concorder avec le signe de la corrélation actuelle. Quelqu'un pourrait m'aider avec ça. Je suppose que je suis à la recherche d'une preuve mathématique utilisant la condition KKT sur le problème de norme L-1 d'origine, à savoir le Lasso. Merci beaucoup!

newbiequant
la source
Faites-vous référence à stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf d'Efron et al ? Cela le prouve dans le lemme 8 de la section 5. Ou est-ce que je comprends mal votre question?
Peter Ellis
1
Je ne suis pas sûr non plus de la question, mais en fait, le Lasso est une simplification du Lars: pour le Lasso, vous ne recherchez que des corrélations positives entre le résiduel actuel et les fonctions de base restantes, car seules les corrélations positives conduisent à des résultats positifs. (~ non négatifs) coefficients.
M. White

Réponses:

2

Xn×pyn×1βp×1λ>0l1

β=argminβ L(β,λ)L(β,λ)=yXβ22+λβ1

La résolution de ce problème pour toutes les valeurs de donne le soi-disant chemin de régularisation LASSO .λ>0β(λ)

Pour une valeur fixe du coefficient de pénalisation (ie nombre fixe de prédicteurs actifs = pas fixe de l'algorithme LARS), il est possible de montrer que satisfait (il suffit d'écrire la condition de stationnarité KKT comme dans ce réponse )λβ

λ=2 sign(βa)XaT(yXβ),   aA

avec représentant l'ensemble des prédicteurs actifs.A

Parce que doit être positif (c'est un coefficient de pénalisation), il est clair que le signe de (poids de tout prédicteur non nul donc actif) doit être le même que celui de ie la corrélation avec le résidu de régression courant.λβaXaT(yXβ)=XaTr

Quantuple
la source
1

@ Mr._White a fourni une grande explication intuitive de la différence majeure entre LARS et Lasso; le seul point que j'ajouterais est que le lasso est (un peu) comme une approche de sélection en arrière, éliminant un terme à chaque étape tant qu'il existe un terme pour lequel de ces corrélations ("normalisées" sur ) existent. LARS conserve tout là-dedans - essentiellement en exécutant le lasso dans tous les ordres possibles. Cela signifie que dans le lasso, chaque itération dépend des termes qui ont déjà été supprimés. X×X

L'implémentation d'Effron illustre bien les différences: lars.R dans le paquet source pour lars . Notez l'étape de mise à jour des matrices matrice et partir de la ligne 180, et la suppression des termes pour lesquels . Je peux imaginer des situations étranges provenant d'espaces où les termes sont déséquilibrés ( et sont très corrélés mais pas avec les autres, avec mais pas avec les autres, etc.) l'ordre de sélection pourrait être assez biaisé.X×Xζζmin<ζcurrentAx1x2x2x3

egbutter
la source