Quasi tous les tutoriels, cours ou articles de blog parlant de la régularisation L2 que j'ai pu voir n'abordent qu'une seule chose :
La régularisation L2 est une technique de machine learning qui évite l'overfitting en ajoutant un terme de pénalité à la loss function du modèle, basé sur le carré de ses paramètres.
Dans les tâches de classification, par exemple, augmenter l'effet de la régularisation produit des frontières de décision plus simples.
Bien sûr, ces affirmations sont tout à fait correctes, et je ne le nie absolument pas.
D'ailleurs, on peut le vérifier avec le schéma ci-dessous :

Sur l'image ci-dessus, plus on se déplace vers la droite, plus le paramètre de régularisation augmente, et le modèle crée une frontière de décision plus simple sur les 5 datasets.
Revenons à notre sujet…
Ce qui me déçoit le plus, c'est que la plupart des ressources ne mentionnent pas que la régularisation L2 est un excellent remède contre la multicolinéarité.
La multicolinéarité apparaît quand deux (ou plusieurs) features sont fortement corrélées, OU quand deux (ou plusieurs) features permettent de prédire une autre feature :

Quand on utilise la régularisation L2 dans une régression linéaire, l'algorithme est aussi appelé Ridge regression.

Mais comment la régularisation L2 élimine-t-elle la multicolinéarité ?
Aujourd'hui, je vais te donner une intuition démonstrative sur ce sujet, qui expliquera aussi pourquoi la "ridge regression" porte ce nom.
C'est parti !
Dataset factice
Pour la démonstration, prenons ce dataset factice à deux features :

Comme montré ci-dessus, on a volontairement rendu featureB fortement corrélée à featureA. Cela nous donne un dataset factice avec lequel travailler.
Pour la suite, on va ignorer tout terme d'intercept, histoire de simplifier.
Régression linéaire sans pénalité L2
Lors de la modélisation par régression, l'objectif est de déterminer les paramètres spécifiques (θ₁, θ₂) qui minimisent la somme des carrés des résidus (RSS) :

Voici ce qu'on va faire :
On va tracer la valeur du RSS pour de nombreuses combinaisons différentes de paramètres (θ₁, θ₂). Cela va créer un graphique 3D :
axe x →
θ₁axe y →
θ₂axe z → valeur du
RSS
Ensuite, on va examiner visuellement ce graphique pour repérer les paramètres spécifiques (θ₁, θ₂) qui minimisent la valeur du RSS.
Allons-y.
Sans la pénalité L2, on obtient le graphique suivant (c'est le même graphique, mais vu sous différents angles) :

Tu as remarqué quelque chose ?
Le graphique 3D présente une vallée. Il existe plusieurs combinaisons de valeurs de paramètres (θ₁, θ₂) pour lesquelles le RSS est minimal.
Il est donc impossible d'obtenir une valeur unique pour les paramètres (θ₁, θ₂) qui minimisent le RSS.
Régression linéaire avec pénalité L2
Quand on utilise une pénalité L2, l'objectif est de minimiser l'expression suivante :

En traçant à nouveau le même graphique que précédemment, on obtient ceci :

Tu remarques quelque chose de différent cette fois-ci ?
Comme le montre l'image ci-dessus, l'utilisation de la régularisation L2 supprime la vallée qu'on avait observée plus tôt et donne un minimum global à l'erreur RSS.
Il est désormais possible d'obtenir une valeur unique pour les paramètres (θ₁, θ₂) qui minimise le RSS.
Comme par magie, la régularisation L2 nous a permis d'éliminer la multicolinéarité.
Pourquoi le nom "ridge regression" ?
C'est d'ailleurs de là que vient le nom "ridge regression" : elle élimine la crête ("ridge") présente dans la fonction de vraisemblance quand on applique la pénalité L2.

Bien sûr, dans les démonstrations qu'on vient de voir, on a observé une vallée, pas une crête.
Cependant, dans ce cas, on considérait la somme des carrés des résidus, une grandeur qu'on minimise pour obtenir les paramètres optimaux.
La fonction d'erreur donne donc logiquement une vallée.
Si on utilisait plutôt la vraisemblance, une grandeur qu'on cherche à maximiser, cela inverserait (en quelque sorte) le graphique et donnerait une crête à la place :

Apparemment, c'est la fonction de vraisemblance qui a été prise en compte au moment de nommer l'algorithme.
Et c'est pour ça qu'on l'a appelé "ridge regression".
Plutôt cool, non ?
Quand j'ai découvert ça il y a quelques années, je n'avais littéralement aucune idée qu'on avait réfléchi aussi profondément avant de nommer la ridge regression.
J'espère que tu as appris quelque chose de nouveau aujourd'hui :)
Si tu veux en savoir plus sur l'origine probabiliste de la régularisation L2, jette un œil à cet article :
Envie d'aller plus loin ? DataXp t'attend : formations et parcours pour progresser en data science, machine learning et IA.
👉 À toi de jouer : quels sont, selon toi, d'autres avantages de la régularisation L2 ?


