• Aucun résultat trouvé

Les algorithmes de classification supervisés sont nombreux et variés, tant dans leur ap-proche théorique que dans les problèmes spécifiques qu’ils adressent ([FD+14] cite 17 familles distinctes). Nous limitons cette section à la présentation des algorithmes utilisés dans nos études et à la comparaison de leurs qualités et défauts respectifs.

Nous utilisons les implémentations proposées par la bibliothèque Python scikit-learn [Ped+11].

4.3.1 La régression logistique

L’algorithme de régression logistique est une régression adaptée à la classification binaire. La probabilité d’un élément d’appartenir à une classe y est supposée suivre une loi logis-tique : on utilise une sigmoïde (Fig. 4.8) pour associer une probabilité à une prédiction. La probabilité H0 pour un vecteur de variables X est donnée équation (4.2).

Figure 4.8 – Fonction sigmoïde.

H0(X) = 1

1 + e−(β0+β1X) (4.2) Les valeurs obtenues appartiennent à l’intervalle [0,1]. La fonction de coût (eq. (4.3) est basée sur le principe du maximum de vraisemblance et est minimisée par descente de gradient [AC19].

coût(H0(X), y) = (

− log(H0(X)) if y = 1 − log(1−H0(X)) if y = 0

(4.3) Pour prédire à quelle classe appartient un point, un seuil doit être établi. La probabilité estimée est classée en fonction de son positionnement par rapport au seuil. On peut également déterminer une limite de décision non linéaire.

La régression logistique favorise une variance faible, notamment si on rajoute un terme de régularisation L2 (attention dans ce cas à normaliser l’échelle des variables). Facile à implémenter, paramétrer et interpréter, c’est une bonne première méthode à tester avant de complexifier le modèle de prédiction. Toutefois, elle est plus robuste quand il n’y a pas d’attribut corrélé ou inutile et s’adapte globalement mal à l’augmentation du nombre de variables. Lorsque les données ne sont pas séparables linéairement, il vaut mieux tester les arbres de décision.

4.3.2 Les forêts aléatoires

L’algorithme des forêts aléatoires (Random Forests) a été développé en 2001 par Leo Breiman [Bre01]. C’est une méthode dite ensembliste basée sur le vote de plusieurs éléments de base simples, les arbres de décision.

Arbre de décision

Un arbre est un graphe orienté dont les arcs sont les branches, les sommets sont les nœuds (issus d’une seule branche) et les extrémités des branches sont les feuilles. Chaque nœud d’un arbre de décision constitue un test sur une des variables [SL91]. L’ensemble des tests partitionne le jeu d’entrainement en sous-groupes, eux mêmes divisés par les nœuds suivants (Fig. 4.9a).

A chaque nœud, l’objectif est de déterminer quelle variable doit être choisie et quel test doit lui être appliqué pour découper le sous-ensemble. Dans le cas d’une variable quantitative le test revient à déterminer un seuillage optimal. Ces deux choix s’effectuent de façon à

Figure 4.9 – Arbre de décision. (a) Construction. (b) Entrainement. (c) Prédiction d’une donnée inconnue.

maximiser un critère d’homogénéité ou à minimiser un critère d’entropie des groupes ainsi générés. Par exemple, l’indice de diversité de Gini [Gin21] pour un sous-ensemble renvoie la probabilité pi de mal étiqueter un élément i choisi au hasard, si on le classe aléatoirement en suivant la distribution des étiquettes C du sous-ensemble (eq. 4.4).

G =

C

X

i=1

pi ∗ (1 − pi) (4.4) Il est nécessaire de déterminer des conditions pour stopper le partitionnement et éviter le sur-apprentissage avec de multiples branches à une feuille. On fixe donc des seuils qui sont des hyperparamètres de l’algorithme : pourcentage d’homogénéité satisfaisant, taille minimale d’un sous-groupe, profondeur maximale de l’arbre, nombre total maximal de subdivisions, etc.

Quand l’arbre est construit, chacune de ses feuilles se voit assigner une prédiction et une probabilité. La première est une étiquette qui correspond à la valeur majoritairement représentée dans son groupe d’appartenance (vote). La seconde est la proportion d’éléments positifs du groupe.

Lors de la prédiction d’une nouvelle observation, ses réponses successives aux tests des nœuds lui font parcourir une sélection d’embranchements. La classe prédite et la probabilité de la prédiction sont celles de la feuille qu’elle atteint au terme du parcours.

Un classifieur constitué d’un arbre seul est limité car très sensible au bruit dans un jeu de données. Il aura une nette tendance au sur-apprentissage.

Forêts

L’algorithme des forêts aléatoires tire profit de la construciton d’une suite d’arbres de décision (Fig. 4.10). Chaque arbre est différent car développé à partir d’un sous-ensemble de variables et d’un sous-ensemble de données tirées aléatoirement avec remise. Le nombre de variables et d’échantillons conservés par arbre peut être optimisé et comme souvent, il n’existe pas vraiment de consensus quant à la façon de déterminer ces valeurs optimales1.

1. In practice the best values for these parameters will depend on the problem, and they should be treated as tuning parameters. [Has09]

Figure 4.10 – Une forêt aléatoire est un ensemble d’arbres votant.

Pour chaque nouvelle observation à tester, la RF renvoie une prédiction déterminée par les votes de chacun de ses arbres pondérés par les probabilités calculées. La probabilité de la prédiction finale est définie par la moyenne des probabilités obtenues par les arbres.

Utiliser une collection d’arbres comme dans les RF rend la méthode plus robuste au bruit. Chaque arbre ne voit qu’une sous-partie des échantillons et de leurs variables, ce qui garantit que le classifieur final est moins sujet au sur-apprentissage. En contrepartie, les modèles RF sont plus compliqués à analyser.

Les forêts peuvent donner une estimation fiable de l’importance relative de chaque ca-ractéristique dans la prédiction en moyennant leur participation respective à l’optimisation de l’homogénéité des branches. On note toutefois que les variables corrélées entre elles ont autant de chance d’être sélectionnées les unes que les autres et en cela, voient leur importance relative diminuer [GMSP13].

4.3.3 Les k plus proches voisins

La méthode des k plus proches voisins (k-Nearest Neighbours [CH67]) est un algorithme de classification supervisé (également utilisable pour la régression). Basés sur un principe intuitif, les kNN permettent de modéliser des relations non-linéaires entre plusieurs points. Aucune étape d’entrainement spécifique n’est requise.

Pour chaque nouvelle observation à classer, l’algorithme cherche les k points déjà éti-quetés dont les coordonnées sont les plus proches (distance euclidienne) dans l’espace des caractéristiques (Fig 4.11). Ces "plus proches voisins" votent alors pour assigner une classe à la nouvelle observation.

Figure 4.11 – Méthode des kNN avec k = 3 pour deux variables.

En revanche cette méthode n’applique aucune pondération sur les différentes variables de l’espace de description des points. Elles sont donc toutes considérées d’égale importance dans la recherche des plus proches voisins. Ce défaut est amplifié si les valeurs des variables ont des ordres de grandeur différents et n’ont pas été normalisées entre elles (voir section 4.2.2). On note qu’en cas de jeu de données non équilibré, la classe la plus fréquente aura statistiquement plus de chances de se trouver parmi les plus proches voisins et donc d’orienter fortement le vote. Cette caractéristique est en partie contrebalancée par la pondération des distances, mais il reste assez fréquent d’éprouver des difficultés à obtenir une prédiction de la classe minoritaire dans les cas d’asymétrie poussée. La figure 4.12 montre un exemple où la classe dominante pèse sur la prédiction : la donnée inconnue est assignée à la classe 2 potentiellement à tort.

Figure 4.12 – Nouveau cas ambigu : la classe dominante influe sur le résultat.

4.3.4 Les séparateurs à vastes marges

Les séparateurs à vastes marges ou machines à vecteurs de support (Support Vector Machine) sont basés sur le principe de classification à marges maximales [VL63]. Cet algo-rithme vise à trouver l’hyperplan optimal pouvant séparer un jeu de données en deux groupes. L’hyperplan optimal est celui dont les distances avec les observations sont maximales : il réduit ainsi au mieux l’erreur de généralisation (Fig. 4.13). Les marges sont définies par l’espace entre l’hyperplan et les points les plus proches, les points de support. L’hyperplan ne dépend donc que de ces points particuliers (s’ils bougent, l’hyperplan aussi).

Dans les cas où les données ne sont pas séparables linéairement, on utilise une adaptation de l’algorithme qui autorise un nombre (limité) de mauvaises classifications : le soft margin classifier. Cette méthode passe par l’augmentation artificielle de l’espace de dimensions avec une fonction noyau (kernel ) qui re-décrit les données de façon à les rendre linéairement séparables.

Les SVM sont réputées compétentes même avec un nombre de dimensions élevé voire supé-rieur au nombre d’observations [GBG01]. Cependant, les résultats sont difficiles à interpréter en cas d’utilisation d’un kernel car les données ont été transformées.

4.3.5 Les réseaux de neurones

Nous avons jusque là introduit des algorithmes d’apprentissage statistique classiques. Nous terminons cette présentation des méthodes de classification par les réseaux de neurones

Figure 4.13 – SVM sur deux variables. (a) Le jeu de données peut être divisé par une infinité de plans. (b) En rouge, l’hyperplan donnant les marges maximales.

artificiels (Artificial Neural Network), à la base de la famille des algorithmes d’apprentissage profonds (deep learning). L’un des plus simples, le perceptron multi-couches, est représenté Figure 4.14.

Figure 4.14 – Réseau de neurones à 3 couches cachées. Les données des neurones d’entrée sont envoyées dans la succession des nœuds des couches cachées. Chaque nœud opère une combinaison pondérée non linéaire des valeurs de la couche précédente avant de renvoyer le

résultat au suivant.

Un neurone artificiel (ou nœud) est une fonction mathématique non linéaire dont l’entrée et/ou la sortie est connectée à d’autres neurones, de façon à former un réseau organisé en couches. La valeur de chaque nœud est une combinaison linéaire pondérée des valeurs entrantes. L’objectif de l’apprentissage est d’estimer la valeur des coefficients de façon à retrouver la bonne sortie. Les données d’apprentissage constituent chacune un neurone de la couche d’entrée et la prédiction finale est renvoyée par le neurone de sortie.

Les méthodes d’apprentissage profond montrent une puissance supérieure à celle des algorithmes d’apprentissage classique, au prix d’un grand nombre de paramètres à estimer,

d’une structure complexe bien plus difficile à analyser et d’une quantité décuplée de données nécessaires à l’apprentissage.