• 10 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 6/9/23

Trouvez le bon compromis entre biais et variance

Après avoir démystifié certains aspects du travail de modélisation dans les précédents chapitres, je vais ici vous présenter un des plus gros points d'attention du data scientist lors de l'entraînement d'un modèle de machine learning : le compromis entre biais et variance

Tout est affaire d'équilibre !

Pour mieux comprendre ce problème et en développer une intuition visuelle, reprenons le modèle k-NN que nous avons utilisé dans le TP de la partie précédente.

Que se passe-t-il lorsqu'on utilise le 1-NN ? C'est-à-dire que l'on ne prend en considération qu'un seul voisin pour prédire la classe d'un point ?

Les zones désignées par les flèches ne vont pas être bien classées
Les zones désignées par les flèches ne vont probablement pas être bien classées...

Comme on peut le voir, le classifieur considéré "colle" trop aux données d'entraînement. En d'autres termes, changer même très légèrement le training set, en y ajoutant un point par exemple, aurait déjà une conséquence non-négligeable.

On voit donc ici une dépendance très forte au training set, autrement dit une variation très forte de la décision en fonction des données d'entraînement. Cette variabilité est appelée, à juste titre, variance du modèle. 😉

En réalité, on souhaite plutôt obtenir quelque chose de plus "stable", qui ne va pas autant dépendre de notre sélection des données d'entraînement. Pour réduire cette dépendance, on peut dans notre cas utiliser une moyenne de plusieurs voisins, c'est-à-dire augmenter le "k" du k-NN.

Classifieur 5-nn sur le même jeu de données, beaucoup plus efficace.
Le classifieur 5-nn sur le même jeu de données est beaucoup plus efficace. 

Top ! On est déjà moins dépendant du training set dans ce cas. Augmenter le nombre k de voisins sur lesquels on effectue une moyenne pour prédire la classe d'appartenance permet donc de "lisser" notre prédiction, de la rendre moins dépendante des variations du training set et donc, comme on l'a dit, de diminuer la variance.

Je me rappelle que dans le TD, l'erreur du modèle augmentait énormément quand on augmentait le nombre de voisins k, non ?

Oui, effectivement ! Augmenter le k ne va malheureusement pas tout résoudre, car on crée par la même occasion un autre type d'erreur, qui s'appelle le biais.

Le biais correspond en quelque sorte à quel point on vise à côté de la "vraie" valeur d'un point considéré. Pour revenir à notre exemple, si je considère à présent le classifieur 10-NN, la frontière de décision, bien que "lisse", devient très éloignée de la zone "idéale".

Parce qu'on a choisi un k trop grand, la zone de classification est trop lisse par rapport à la complexité du modèle
Parce qu'on a choisi un k trop grand, la zone de classification (frontière rouge/bleue) est trop lisse par rapport à la complexité du modèle en noir, plus proche de la réalité.

Le problème du biais est lié à la complexité du modèle choisi. Comme on peut le voir, si on prend un modèle trop simple par rapport au phénomène que l'on veut modéliser, on va avoir un biais élevé. En prenant un modèle plus complexe, on va diminuer le biais.

Quel est le lien avec l'erreur d'un modèle ?

On peut décomposer l'erreur de prédiction en x de la manière suivante :

Err(x)=Biais2+Variance+Erreur Irréductible

Tout le jeu va donc être de minimiser cette erreur, en prenant en compte les comportements opposés du biais et de la variance qui dépendent de la complexité du modèle :

On cherche à se placer au minimum de l'erreur totale
On cherche à se placer au minimum de l'erreur totale.

Comment trouver le bon compromis ?

Réduire les dimensions

Quand on se trouve dans le cas d'une variance excessive (trop forte dépendance au data set d'entraînement), réduire le nombre de dimensions du modèle (c.-à-d. le nombre de variables en entrée) permet de diminuer la variance en simplifiant la complexité du modèle.

Sélectionner et entraîner le bon modèle

Il existe plusieurs méthodes de sélection de modèle qui permettent de trouver la complexité optimale pour faire la balance entre le biais et la variance. La manière d'entraîner le modèle est primordiale aussi et il existe des méthodes pour minimiser la prise en compte de variances non-représentatives du modèle présentes dans le dataset.

Un peu de patience, nous étudierons ces méthodes d'évaluation et d'entraînement de modèles dans un prochain cours...

Utiliser des méthodes ensemblistes

Il faut aussi savoir qu'il existe toute une famille d'algorithmes appelés les méthodes d'ensembles qui se basent sur la combinaison de plusieurs modèles à haute variance et les agrègent (p. ex. en les moyennant) pour réduire la variance finale.

En résumé

  • Le principe de compromis entre biais et variance est une des problématiques à laquelle vous serez confronté lors de votre travail quotidien !

  • En utilisant un modèle comportant une trop grande complexité – dit "à haute variance" – on peut mal capturer le phénomène sous-jacent et devenir trop dépendant aux données d'entraînement et aux petites fluctuations aléatoires, non représentatives du phénomène.

  • A contrario, il ne faut pas choisir un modèle trop "simple" qui biaise le résultat et ne parvient pas à capturer toute la complexité du phénomène.

Ever considered an OpenClassrooms diploma?
  • Up to 100% of your training program funded
  • Flexible start date
  • Career-focused projects
  • Individual mentoring
Find the training program and funding option that suits you best
Example of certificate of achievement
Example of certificate of achievement