Mis à jour le 14/05/2018
  • 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Trouvez le bon compromis entre biais et variance

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

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'autre 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égligable.

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 aux variations du training set et donc, comme on l'a dit, de diminuer la variance.

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

Héhé oui effectivement. Augmenter le k ne va malheureusement pas tout résoudre car on créé 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) = \text{Biais}^2 + \text{Variance} + \text{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'est à dire 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 qui fait 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ées les méthodes d'ensembles qui se basent sur la combinaison de plusieurs modèles à haute variance et les aggrègent (par exemple 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 tout le temps 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.

 

Exemple de certificat de réussite
Exemple de certificat de réussite