Lasso
La régression ridge nous permet de réduire l'amplitude des coefficients d'une régression linéaire et d'éviter le sur-apprentissage. Cependant, on peut souhaiter pousser les choses plus loin, et annuler certains coefficients. Les variables qui auront un coefficient égal à zéro ne feront plus partie du modèle, qui en sera simplifié d'autant. Un tel modèle, avec beaucoup de coefficients nuls, est appelé un modèle parcimonieux (ou « sparse » en anglais).
Il s'agit donc d'une méthode de sélection de variables et de réduction de dimension supervisée : les variables qui ne sont pas nécessaires à la prédiction de l'étiquette sont éliminées.
Pour arriver à cela, il suffit de remplacer le terme de régularisation de la régression ridge, autrement dit la norme ℓ2 de β , par la norme ℓ1 de ce vecteur, c'est-à-dire : ||β||1=∑pj=1|βj|.
Nous avons donc maintenant le problème d'optimisation suivant :
C'est ce qu'on appelle le lasso, pour Least Absolute Shrinkage and Selection Operator. « Absolute » pour l'utilisation de la norme 1, « shrinkage » (réduction) parce qu'on contraint les coordonnées de β à avoir des valeurs faibles, et « selection » parce qu'on va tellement les réduire que certaines seront nulles.
Contrairement à la régression ridge, ce problème d'optimisation n'a pas de solution explicite ! Heureusement, on peut utiliser un algorithme du gradient pour le résoudre.
Interprétation géométrique
Mais pourquoi donc l'utilisation de la norme ℓ1 force-t-elle certains coefficients à 0, contrairement à la norme ℓ2 ?
Il se trouve que, pour une valeur de λ∈R+ donnée, il existe un t∈R+ unique tel que le lasso est équivalent à résoudre le problème suivant :
Géométriquement, cela veut dire que, sauf dans le cas où la solution sans contrainte (c'est-à-dire non pénalisée, autrement dit la solution de la régression linéaire obtenue par la méthode des moindre carrés) vérifie aussi la contrainte, la solution est un point situé à l'intersection d'une ligne de niveau du terme d'erreur ||y−Xβ||22 et de la région admissible, c'est-à-dire la région de Rp+1 où la contrainte est vérifiée. Comme le terme d'erreur est quadratique en β , la ligne de niveau est une ellipsoïde. Par ailleurs, la région admissible est une boule ℓ1 de rayon t , autrement dit, un hypercube. Comme cette boule a des « coins », l'ellipsoïde est susceptible de la rencontrer sur un de ces coins, là où une ou plusieurs coordonnées sont nulles.
Comparaison avec la régression ridge
Qu'en est-il de la régression ridge ? On peut démontrer une équivalence similaire, et la régression ridge est équivalent à résoudre
On s'intéresse donc maintenant à l'intersection d'une courbe de niveau de l'erreur avec la boule ℓ2 de rayon t , autrement dit la boule euclidienne « ronde » dont on a plus l'habitude. Il n'y a ici aucune raison que cette intersection se fasse à un endroit où une ou plusieurs coordonnées s’annulent...
Chemin de régularisation
Comme pour la régression ridge, on peut visualiser les poids affectés aux différentes variables selon la valeur du coefficient de régularisation λ . Quand λ est grand, le modèle est très parcimonieux ( β=0 si λ est suffisamment grand). Plus il diminue, plus de variables vont avoir un coefficient non nul : on voit les variables entrer une à une (ou petit groupe par petit groupe) dans le modèle.
Elastic Net
Si je résume, l'utilisation de la norme ℓ2 nous permet d'éviter le sur-apprentissage avec une solution unique, et l'utilisation de la norme ℓ1 d'avoir un modèle parcimonieux mais instable. Ne peut-on pas avoir un peu de beurre et d'argent du beurre à la fois ?
Eh bien si ! C'est ce que permet la méthode elastic net, qui combine les deux termes de régularisation en un. On formule ainsi le problème suivant :
La région admissible a une forme intermédiaire entre celles des boules de norme ℓ1 et de norme ℓ2 , et la solution est parcimonieuse mais moins que pour le lasso, car les variables corrélées entre elles qui sont pertinentes sont toutes sélectionnées (et reçoivent le même coefficient), comme avec la régression ridge.
Conclusion
Le lasso utilise la norme ℓ1 du vecteur β comme régularisateur pour obtenir un modèle parcimonieux.
Le lasso peut donc être utilisé comme un algorithme de réduction de dimension supervisée.
Le lasso n'a pas de solution explicite, ni nécessairement unique.
L'elastic net combine les normes ℓ1 et ℓ2 pour obtenir une solution moins parcimonieuse que le lasso, mais plus stable et dans laquelle toutes les variables corrélées pertinentes pour la prédiction de l'étiquette sont sélectionnées et reçoivent un poids identique.