Quelle est la complexité temporelle de la régression du Lasso?

14

Quelle est la complexité temporelle asymptotique de la régression Lasso à mesure que le nombre de lignes ou de colonnes augmente?

user2763361
la source

Réponses:

4

Rappelons que le lasso est un modèle linéaire avec une régularisation .l1

La recherche des paramètres peut être formulée comme un problème d'optimisation sans contrainte, où les paramètres sont donnés par

.argminβ||yXβ||2+α||β||1

Dans la formulation contrainte, les paramètres sont donnés par

argminβ||yXβ||2s.t.||β||1<α

Ce qui est un problème de programmation quadratique et donc polynomial.

Presque toutes les routines d'optimisation convexes, même pour des éléments non linéaires flexibles comme les réseaux de neurones, reposent sur le calcul de la dérivée de vos paramètres wrt cibles. Vous ne pouvez pas prendre la dérivée de cependant. À ce titre, vous comptez sur différentes techniques. Il existe de nombreuses méthodes pour trouver les paramètres. Voici un article de synthèse sur le sujet, Optimisation des moindres carrés avec régularisation L1-Norm . La complexité temporelle de l'optimisation convexe itérative est un peu délicate à analyser, car elle dépend d'un critère de convergence. Généralement, les problèmes itératifs convergent en moins d'époques à mesure que les observations augmentent.α||w||1

Jessica Collins
la source
4
Plusieurs choses: dire qu'un problème est "polynomial" n'est pas particulièrement utile, à moins que vous ne regardiez peut-être une sorte de problème combinatoire (qui est généralement exponentiel). Deuxièmement, le calcul des dérivés n'est pratiquement pas toujours l'étape limitante. Troisièmement, généralement lorsque l'on discute de la complexité temporelle d'un algorithme itératif, on examine généralement le coût par étape et ne dépend donc pas de critères de convergence. Enfin, ce n'est généralement pas le cas que plus d'observations = moins d'itérations.
Cliff AB
13

Alors que @JacobMick fournit une vue d'ensemble plus large et un lien vers un article de synthèse, permettez-moi de donner une "réponse raccourcie" (qui peut être considérée comme un cas spécial de sa réponse).

Soit le nombre de variables candidates (entités, colonnes) et la taille de l'échantillon (nombre d'observations, lignes) n . Considérons LASSO implémenté à l'aide de l'algorithme LARS ( Efron et al., 2004 ). La complexité de calcul de LASSO est O ( K 3 + K 2 n ) ( ibid. )KnO(K3+K2n)

  • Pour , K 3 < K 2 n et la complexité de calcul de LASSO est O ( K 2 n ) , qui est la même que celle d'une régression avec K variables ( Efron et al., 2004 , p. 443-444 ; également cité dans Schmidt, 2005 , section 2.4; pour la complexité de calcul d'une régression, voir cet article ).K<nK3<K2nO(K2n)K
  • KnK3K2nO(K3)

Les références:

Richard Hardy
la source
Richard, pouvez-vous commenter la complexité des itérations pour l'approche GLM ici stats.stackexchange.com/questions/280304/… ?
rnoodle
@moodle, je ne peux pas sans creuser profondément (ce que je n'ai pas le temps pour le moment), mais +1 pour votre question.
Richard Hardy
J'ai jeté un coup d'œil, mais ce n'est pas clair - ce serait bien d'avoir une deuxième paire d'yeux dessus. Il y a donc une complexité d'itération et une complexité de convergence totale, et je pense que la littérature est quelque peu vague parfois sur les définitions. Fondamentalement, j'ai un algorithme qui utilise un solveur au lasso dans une position très critique, de sorte que la complexité de mon algorithme dépend fortement du solveur. Ce serait bien de clouer cela. À votre santé! Je vais mettre une prime dessus pour votre entrée
rnoodle
@rnoodle, je doute fortement que je pourrai vous y aider de sitôt, mais une prime pourrait certainement attirer d'autres personnes qui connaissent mieux. Bonne chance!
Richard Hardy