Quelle est la complexité temporelle asymptotique de la régression Lasso à mesure que le nombre de lignes ou de colonnes augmente?
Quelle est la complexité temporelle asymptotique de la régression Lasso à mesure que le nombre de lignes ou de colonnes augmente?
Réponses:
Rappelons que le lasso est un modèle linéaire avec une régularisation .
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
.
Dans la formulation contrainte, les paramètres sont donnés par
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.
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. )
Les références: