Régression par le plus petit angle vs lasso


39

La régression aux angles moindres et le lasso tendent à produire des chemins de régularisation très similaires (identiques sauf lorsqu'un coefficient passe à zéro).

Ils peuvent tous deux être ajustés efficacement par des algorithmes pratiquement identiques.

Y a-t-il jamais une raison pratique de préférer une méthode à une autre?


Si vous avez réévalué les réponses à ce stade, choisiriez-vous une réponse "acceptée" différente?
Aaron Hall

Réponses:


13

Les théorèmes "pas de repas gratuit" suggèrent qu'il n'y a pas de distinction a priori entre les algorithmes d'inférence statistique, c'est-à-dire que le meilleur fonctionnement de LARS ou de LASSO dépend de la nature de l'ensemble de données particulier. Dans la pratique, il est donc préférable d’essayer les deux et d’utiliser un estimateur fiable des performances de généralisation pour décider lequel utiliser en fonctionnement (ou utiliser un ensemble). Comme les différences entre LARS et LASSO sont plutôt faibles, les différences de performances le seront probablement également, mais en général, il n’ya qu’une façon de le savoir!


Pouvez-vous développer une «méthode d'ensemble» possible dans ce cas particulier?
chl

35

Lorsqu'il est utilisé en mode étape par étape, l'algorithme LARS est une méthode gloutonne qui ne produit pas d'estimateur d'une cohérence prouvée (en d'autres termes, il ne converge pas vers un résultat stable lorsque vous augmentez le nombre d'échantillons).

Inversement, LASSO (et donc l'algorithme LARS utilisé en mode LASSO) résout un problème d'ajustement de données convexe. En particulier, ce problème (l’estimateur linéaire pénalisé N1) présente de nombreuses propriétés éprouvées (cohérence, sparsistency).

Je voudrais donc essayer de toujours utiliser les LARS en mode LASSO (ou d’utiliser un autre solveur pour LASSO), à moins que vous n’ayez de très bonnes raisons de préférer les étapes.


9

LASSO n'est pas un algorithme en soi, mais un opérateur.

Il existe de nombreuses manières de dériver des algorithmes efficaces pour problèmes régularisés. Par exemple, on peut utiliser la programmation quadratique pour s’attaquer directement. Je suppose que c'est ce que vous appelez LASSO.1

LARS en est un autre, très populaire en raison de sa simplicité, de son lien avec des procédures avancées (mais pas trop gourmand), d’une preuve très constructive et d’une généralisation aisée.

Même comparé aux solveurs de programmation quadratiques de pointe, LARS peut être beaucoup plus efficace.


9

l1l1l2

L’intention de cette réponse est de souligner que, de nos jours, LARS semble avoir été remplacé par des méthodes de descente par coordonnées et de méthodes de descente par coordonnées stochastiques . Ces méthodes reposent sur des algorithmes particulièrement simples, alors que, parallèlement, les performances semblent supérieures à celles de LARS (souvent un ou deux ordres de grandeur plus rapidement). Pour des exemples, voir cet article de Friedman et al.

Donc, si vous envisagez de mettre en œuvre LARS, ne le faites pas. Utilisez la descente en coordonnées qui prend quelques heures.


1
+1 pour ne pas mettre en œuvre LARS mais pour coordonner la descente: il existe des paramètres dans lesquels il vaut mieux que pour la descente coordonnée (par exemple pour les problèmes de taille modeste et de taille mod très rare, voir la thèse de Julien Mairal pour des comparaisons empiriques), mais c’est vrai. très difficile à mettre en œuvre à droite, beaucoup plus difficile que la descente coordonnée.
Gaël Varoquaux

3

λ


Voici mon avis:

Cp

De plus, LARS est rapide et fiable sur le plan informatique. Lasso est rapide, mais il existe une différence minime entre les algorithmes qui permettent au LARS de remporter le défi de la vitesse. D’autre part, il existe des paquets alternatifs, par exemple en R, appelés «glmnet», qui fonctionnent plus efficacement que les paquets lars (parce qu’ils sont plus généraux).

En résumé, il n’ya rien d’important à considérer entre lars et lasso. Cela dépendait du contexte dans lequel vous allez utiliser le modèle.

Je conseille personnellement d’utiliser glmnet in R dans les cas de grande et de basse dimension. ou si vous êtes intéressé par différents critères, vous pouvez utiliser http://cran.r-project.org/web/packages/msgps/ package.


0

Dans certains contextes, une version régularisée de la solution des moindres carrés peut être préférable. L’algorithme LASSO (opérateur de moindre contraction et de sélection absolu), par exemple, trouve une solution des moindres carrés avec la contrainte que | β | 1, la norme L1 du vecteur de paramètre, n'est pas supérieure à une valeur donnée. De manière équivalente, il peut résoudre une minimisation sans contrainte de la pénalité des moindres carrés avec α | β | 1 ajouté, où α est une constante (c'est la forme lagrangienne du problème sous contrainte.) Ce problème peut être résolu à l'aide de méthodes de programmation quadratique ou d'optimisation convexe plus générales, ainsi que par des algorithmes spécifiques tels que l'algorithme de régression du moindre angle. La formulation régularisée en L1 est utile dans certains contextes en raison de sa tendance à préférer les solutions avec moins de valeurs de paramètre non nul, réduire efficacement le nombre de variables dont dépend la solution donnée [11]. Pour cette raison, le LASSO et ses variantes sont fondamentaux dans le domaine de la détection comprimée.


5
En tout respect, cela ressemble à un copier-coller direct de Wikipedia et ne répond pas vraiment à la question.
NPE

3
(-1) Vous devriez au moins reconnaître la citation tirée de Wikipedia, § sur la méthode LASSO à l' adresse fr.wikipedia.org/wiki/Least_squares !!! BTW vous avez oublié de coller la 11ème référence.
chl

J'ai oublié de mettre le lien, c'est vrai, mais je pense que c'est une bonne réponse à cette question. Désolé si je vous ai fait penser que j'ai écrit ça
mariana soffer

n«p
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.