La régularisation consiste à pénaliser la complexité d'un modèle afin de réduire le surapprentissage.
Régularisation à des fins de simplicité
Courbe de généralisation
Pénaliser la complexité du modèle
- Nous voulons éviter la complexité du modèle dans la mesure du possible.
- Nous pouvons intégrer cette idée dans l'optimisation effectuée lors de l'entraînement.
- Minimisation du risque empirique:
- Vise une erreur d'entraînement faible
$$ \text{minimize: } Loss(Data\;|\;Model) $$
Pénaliser la complexité du modèle
- Nous voulons éviter la complexité du modèle dans la mesure du possible.
- Nous pouvons intégrer cette idée dans l'optimisation effectuée lors de l'entraînement.
- Minimisation du risque structurel:
- Vise une erreur d'entraînement faible
- tout en équilibrant la complexité
$$ \text{minimize: } Loss(Data\;|\;Model) + complexity(Model) $$
Régularisation
- Comment définir complexité(Modèle) ?
Régularisation
- Comment définir complexité(Modèle) ?
- Privilégier les pondérations plus faibles
Régularisation
- Comment définir complexité(Modèle) ?
- Privilégier les pondérations plus faibles
- La divergence doit entraîner des frais
- Possibilité d'encoder cette idée via la régularisation L2 (également appelée "crête")
- complexité(modèle) = somme des carrés des pondérations
- Pénalise les pondérations très élevées
- Pour les modèles linéaires: privilégie les pentes plus plates
- A priori bayésien:
- les pondérations doivent être centrées autour de zéro
- les pondérations doivent être réparties normalement
Fonction de perte avec régularisation L2
$$ Loss(Data|Model) + \lambda \left(w_1^2 + \ldots + w_n^2 \right) $$
\(\text{Where:}\)
\(Loss\text{: Aims for low training error}\)
\(\lambda\text{: Scalar value that controls how weights are balanced}\)
\(w_1^2+\ldots+w_n^2\text{: Square of}\;L_2\;\text{norm}\)