17 Moindres carrés régularisés (régression ridge)
En régression linéaire, la méthode des moindres carrés permet d’estimer les paramètres \boldsymbol{w}\in\mathbb{R}^d du modèle f(\boldsymbol{x}) = \boldsymbol{w}^T\boldsymbol{x} \tag{17.1} directement par minimisation du risque empirique, et donc de trouver le modèle linéaire qui « colle » le plus possible aux données. Cependant, lorsque la dimension d des données est trop grande par rapport au nombre m d’exemples, cela peut conduire au surapprentissage.
Pour éviter cela, la régularisation consiste à ajouter un terme pénalisant la complexité du modèle dans la minimisation. La régression ridge propose de mesurer cette complexité par la norme euclidienne du vecteur de paramètres. Cela conduit à formuler l’apprentissage ainsi : \hat{\boldsymbol{w}} = \arg\min_{\boldsymbol{w}\in\mathbb{R}^d} \sum_{i=1}^m (y_i-\boldsymbol{w}^T\boldsymbol{x}_i)^2 + \lambda \|\boldsymbol{w}\|^2 où l’hyperparamètre \lambda>0 règle le compromis entre l’attache aux données et la régularisation.
Comme pour les moindres carrés classiques, ce problème d’optimisation possède une solution explicite : \hat{\boldsymbol{w}} = (\boldsymbol{X}^T\boldsymbol{X} + \lambda\boldsymbol{I})^{-1} \boldsymbol{X}^T \boldsymbol{y} où \boldsymbol{I} est la matrice identité de taille d\times d et les m exemples d’apprentissages (\boldsymbol{x}_i, y_i) sont concaténés dans \boldsymbol{X}=\begin{bmatrix}\boldsymbol{x}_1^T\\\vdots\\\boldsymbol{x}_m^T\end{bmatrix}\in\mathbb{R}^{m\times d},\qquad \boldsymbol{y} = \begin{bmatrix}y_1\\\vdots\\y_m\end{bmatrix}\in\mathbb{R}^m . La seule différence par rapport à la version non régularisée est donc l’ajout du coefficient de régularisation \lambda sur la diagonale de \boldsymbol{X}^T\boldsymbol{X}.
En suivant le cas non régularisé, nous pouvons commencer par formuler le critère à minimiser en fonction des matrices \boldsymbol{X}, \boldsymbol{y} : J(\boldsymbol{w}) = \sum_{i=1}^m (y_i - \boldsymbol{w}^T\boldsymbol{x}_i)^2+ \lambda \|\boldsymbol{w}\|^2 = \|\boldsymbol{y} - \boldsymbol{X}\boldsymbol{w}\|^2 + \lambda\|\boldsymbol{w}\|^2 Il suffit ensuite de calculer le gradient de cette fonction et de déterminer le point \hat{\boldsymbol{w}} où il s’annule : \frac{\text{d} J(\boldsymbol{w})}{\text{d} \boldsymbol{w}} = -2 \boldsymbol{X}^T (\boldsymbol{y} - \boldsymbol{X} \boldsymbol{w}) + 2\lambda \boldsymbol{w} = -2\boldsymbol{X}^T\boldsymbol{y} + 2 (\boldsymbol{X}^T\boldsymbol{X} + \lambda\boldsymbol{I})\boldsymbol{w} Et donc \frac{\text{d} J(\hat{\boldsymbol{w}})}{\text{d} \boldsymbol{w}} = \boldsymbol{0}\quad \Rightarrow \quad (\boldsymbol{X}^T\boldsymbol{X} + \lambda\boldsymbol{I})\hat{\boldsymbol{w}} = \boldsymbol{X}^T\boldsymbol{y} ce qui conduit à la solution par multiplication à gauche par la matrice inverse de (\boldsymbol{X}^T\boldsymbol{X} + \lambda\boldsymbol{I}).
17.1 Lien entre la complexité du modèle et la norme des paramètres
La complexité du modèle peut se mesurer en termes de variations de sa sortie par rapport aux variations de son entrée, autrement dit par l’amplitude de sa dérivée, ou plus précisément pour d>1, par la norme de son gradient : \left\|\frac{\text{d} f(\boldsymbol{x})}{\text{d} \boldsymbol{x}}\right\| Pour le modèle linéaire en Équation 17.1, le gradient correspond simplement au vecteur des paramètres : \frac{\text{d} f(\boldsymbol{x})}{\text{d} \boldsymbol{x}} = \boldsymbol{w} puisque chaque composante w_k correspond au coefficient directeur de l’hyperplan correspondant au graphique de f(\boldsymbol{x}) selon l’axe x_k.