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 ?

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.

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".

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 :

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.