Evaluer un modèle en apprentissage automatique


Dans ce billet et pour clore notre parcours sur l’apprentissage automatique (Machine Learning) et ses principes de fonctionnement, nous allons nous intéresser aux indicateurs qui permettent de mesurer la qualité d’un modèle.

Ceci va nous amener à expliquer que calculer ces indicateurs ne s’avère pas toujours suffisant à cause du phénomène de sur-apprentissage. Nous brosserons dans ce contxete les contours d’une méthodologie afin d’obtenir un modèle performant.

Indicateurs de performance en classification

Matrice de confusion

Prenons l’exemple d’un classifieur binaire, c’est-à-dire, qui prédit 2 classes notées classe 0 et classe 1.

Pour mesurer les performances de ce classifieur, il est d’usage de distinguer 4 types d’éléments classés pour la classe voulue :

  1. Vrai positif VP. Elément de la classe 1 correctement prédit
  2. Vrai négatif VN. Elément de la classe 0 correctement prédit
  3. Faux positif FP. Elément de la classe 1 mal prédit
  4. Faux négatif FN. Elément de la classe 0 mal prédit

Ces informations peuvent être rassemblés et visualisés sous forme de tableau dans une matrice de confusion. Dans le cas d’un classifieur binaire, on obtient :

image

En particulier, si la matrice de confusion est diagonale, le classifieur est parfait.

Notons que la matrice de confusion est aussi généralisable lorsqu’il y a k > 2 classes à prédire.

Indicateurs de base

Il est possible de calculer plusieurs indicateurs résumant la matrice de confusion. Par exemple si nous souhaitons rendre compte de la qualité de la prédiction sur la classe 1, on définit :

  • Précision. Proportion d’éléments bien classés pour une classe donnée :

clip_image003

  • Rappel. Proportion d’éléments bien classés par rapport au nombre d’éléments de la classe à prédire :

clip_image004

  • F-mesure. Mesure de compromis entre précision et rappel :

clip_image005

Il est possible de calculer tous ces indicateurs pour chaque classe. La moyenne sur chaque classe de ces indicateurs donne des indicateurs globaux sur la qualité du classifieur.

clip_image006

Courbe ROC (Received Operating Characteristic)

Dans le cas d’un classifieur binaire, il est possible de visualiser les performances du classifieur sur ce que l’on appelle une courbe ROC. La courbe ROC est une représentation du taux de vrais positifs en fonction du taux de faux positifs. Son intérêt est de s’affranchir de la taille des données de test dans le cas où les données sont déséquilibrées.

Cette représentation met en avant un nouvel indicateur qui est l’aire sous la courbe. Plus elle se rapproche de 1, plus le classifieur est performant.

clip_image008

Indicateurs de performances en régression

Dans le cadre de la seconde partie du billet sur l’apprentissage supervisé consacrée à la régression, nous avons expliqué que la fonction de régression f était obtenue en minimisant une fonction R mesurant la somme du carré des erreurs. Nous avons donc donné implicitement une méthode pour mesurer les performances d’un classifieur : plus la fonction erreur est petite, plus le classifieur est performant 🙂

Pour la régression, on préfère parfois parler de coefficient de détermination noté qui est une normalisation de la fonction d’erreur. Le coefficient est compris entre 0 et 1. Plus est proche de 1, plus la somme des erreurs est faible.

Indicateurs de performance en apprentissage non-supervisé

Nous avons distingué précédemment principalement deux types d’algorithmes non-supervisés : les algorithmes de clustering et de détection d’outliers. Comme dans le billet sur la régression, nous avons implicitement défini des indicateurs de performances pour ces deux types d’algorithmes.

Pour les algorithmes de clustering, nous avons défini deux indicateurs de performance : la distance intra-classes et la distance inter-classes. Concernant les algorithmes de détection d’outliers, les indicateurs sont les scores de densité des outliers (par exemple le LOF score).

Une méthodologie : la validation croisée

Motivation, combattre la malédiction de la dimensionnalité

Certains classifieurs comme les arbres de décision, les SVMs et les régressions à noyau sont souvent sujettes au phénomène de sur-apprentissage. Ainsi, en évaluant les indicateurs de performances sur les données d’entraînement, on trouve une estimation largement optimiste des performances du classifieur.

Si par exemple on applique respectivement trois méthodes de SVM respectivement sans astuce du noyau, en prenant un noyau racine, et en prenant un noyau de grandes dimensions, on obtient les résultats suivants :

clip_image010

Intuitivement, on sait que le second classifieur est plus performant car il reflète le sens physique d’un problème. Pourtant, sur les données d’entraînement, le 3ème classifieur donnera de meilleurs indicateurs de performance sur le modèle.

Non ce n’est pas grave, il existe une solution systématique pour se rendre compte qu’un modèle sur-apprend : la validation croisée.

Variante 1 – Division entraînement test

La version la plus simple de la validation croisée consiste à diviser le jeu de données en deux sous-ensembles : l’ensemble d’entraînement et l’ensemble de test.

On entraîne notre algorithme sur le premier sous-ensemble de données. Ensuite, on compare les indicateurs de performances en appliquant l’algorithme sur le premier et le second ensemble de données.

Si les indicateurs trouvés pour l’ensemble d’entraînement sont bien supérieurs à ceux trouvés sur l’ensemble de test, notre algorithme sur-apprend et il peut valoir le coup de retoucher le modèle pour améliorer les performances sur l’ensemble de test.

Sinon, il faut penser à augmenter la complexité du modèle afin d’obtenir de meilleures performances.

clip_image012

Variante 2 – Validation croisée à k plis

L’idée est d’aller plus loin en divisant l’historique en k sous-ensembles aussi appelés plis. On procède à l’apprentissage sur un ensemble et au test sur les k-1 ensembles restants, et ce k fois. On compare ensuite les moyennes des indicateurs sur les ensembles d’entraînement et de test pour savoir si le modèle sur-apprend.

Variante 3 – LOO (Leave One Out)

C’est un cas particulier de la variante 2 où le nombre de sous-ensembles k est égal au nombre d’échantillons n.

Lexique français / anglais

Comme la plupart de la documentation et des bibliothèques sur le sujet sont en anglais, il nous paraît important de préciser les correspondances entre les termes français et anglais.

Français

Anglais

Vrai positif

True positive

Vrai négatif

True negative

Faux positif

False positive

Faux négatif

False negative

Précision

Precision

Rappel

Recall

F-mesure

F-score

Aire sous la courbe

AUC

Validation croisée

Cross validation

Noyau

Kernel

Pli

Fold

Sur-apprentissage

Overfitting

Sous-apprentissage

Underfitting

Comments (0)

Skip to main content