Évaluer les résultats d'un modèle d'apprentissage automatisé pour :
Il peut bien sûr arriver qu'un algorithme d'apprentissage ne donne pas les résultats escomptés.
En fonction du type de modèle on pourra mener des tests différents :
On pourra alors opter pour différentes stratégies pour essayer de l'améliorer.
Résoud l'underfitting (high bias) | Résoud l'surapprentissage (high variance) | Commentaire | |
---|---|---|---|
Entraîner l'algorithme sur plus de données | Non | Oui | pour qu'il acquière une vision plus fine du problème |
Enlever des caractéristiques | Non | Oui | L'hypothèse est trop dépendante des données connues, elle pourrait ne pas bien prédire de nouvelles données |
Augmenter le facteur de régularisation | Non | Oui | La pénalisation de paramètres permet de moins coller aux données connues |
Diminuer le facteur de régularisation | Oui | Non | Ne pas trop pénaliser les paramètres permet de mieux prendre en compte les données connues |
Ajouter des caractéristiques | Oui | Non | L'hypothèse est trop simple. Des caractéristiques pourraient manquer à résoudre le problème |
Ajouter des caractéristiques polynomiales (`x_1^2, x_2^2, x_1x_2`, etc.) si c'est adapté à votre algorithme | Oui | Non | permettront de mieux cerner les hypothèses |
Cependant le travail nécessaire à ces améliorations peut se révéler long et il est recommandé de mener au préalable une analyse/un diagnostic aidant à sélectionner l'option la plus prometteuse. Ceci commence souvent par segmenter les données disponibles en ensembles de :
ce qui permet d'utiliser une fonction de calcul de coût paramétrée pour un ensemble sur un autre ensemble. Il pourra aussi être utile de tracer les "courbes d'apprentissage" (learning curves) que représentent les erreurs (sans régularisation) des ensembles d'entraînement et de validation, en fonction de la taille de l'ensemble d'entraînement : ces courbes qui devraient converger peuvent en effet être indicatrices d'un underfitting (biais élevé si la convergence s'effectue mais ne parvient pas à descendre d'un haut taux d'erreurs) ou surapprentissage (variance élevée si les erreurs de l'ensemble de validation restent bien au-dessus de celles de l'ensemble d'entraînement).
On pourra utiliser la PCA pour réduire le nombre de features (mais pas pour éviter le surapprentissage).