L’apprentissage supervisé – Machine Learning

By | 19 février 2017
0 Flares Twitter 0 LinkedIn 0 Reddit 0 Google+ 0 Filament.io 0 Flares ×

Dans l’un de mes précédents articles, j’ai démystifié les concepts et définitions clés du Machine Learning. J’y ai évoqué les concepts d’apprentissage supervisé (Supervised Learning), et l’apprentissage non supervisé (Unsupervised Learning).

Dans cet article, nous verrons plus en détails l’apprentissage supervisé.

Qu’est ce que l’apprentissage supervisé (Supervised Learning) ?

L’apprentissage supervisé est le concept derrière plusieurs applications sympas de nos jours : reconnaissance faciale de nos photos par les smartphones, filtres anti-spam des emails, etc.

Plus formellement, étant donné un ensemble de données D, décrit par un ensemble de caractéristiques X, un algorithme d’apprentissage supervisé va trouver  une fonction de mapping entre les variables prédictives en entrée X et la variable à prédire Y. la fonction de mapping décrivant la relation entre X et Y s’appelle un modèle de prédiction.

f(X)  \rightarrow Y

 

Les caractéristiques (features en anglais) X peuvent être des valeurs numériques, alphanumériques, des images… Quant à la variable prédite Y, elle peut être de deux catégories :

  • Variable discrète : La variable à prédire peut prendre une valeur d’un ensemble fini de valeurs (qu’on appelle des classes). Par exemple, pour prédire si un mail est SPAM ou non, la variable Y peut prendre deux valeurs possible : Y \in  \{SPAM, NON SPAM\}
  • Variable continue : La variable Y peut prendre n’importe quelle valeur. Pour illustrer cette notion, on peut penser à un algorithme qui prend en entrée des caractéristiques d’un véhicule, et tentera de prédire le prix du véhicule (la variable Y).

 

La catégorie de la variable prédite Y fait décliner l’apprentissage supervisé en deux sous catégories :

  • La classification
  • La régression

Les algorithmes de classification

Quand la variable à prédire prend une valeur discrète, on parle d’un problème de classification. Parmi les algorithmes de classification, on retrouve : Support Vector Machine (SVM), Réseaux de neurones, Naïve Bayes, Logistic Regression…

Chacun de ses algorithmes a ses propres propriétés mathématiques et statistiques. En fonction des données d’entrainement (Training set), et nos features, on optera pour l’un ou l’autre de ces algorithmes. Toutefois, la finalité est la même : pouvoir prédire à quelle classe appartient une donnée (ex : un nouveau email est il spam ou non).

Quand l’ensemble des valeurs possibles d’une classification dépasse deux éléments, on parle de classification multi-classes (Multi-class Classification). L’image suivante illustre les deux types de classifications.

Dans l’image ci-dessus, les ronds en bleu représentent une classe (mail non spam par exemple), et les croix rouges peuvent représenter des SPAM. L’image à droite est une multi-class classification, car nous avons trois classes possibles (les triangles, les croix, et les carrés).

Les algorithmes de régression

Un algorithme de régression permet de trouver un modèle (une fonction mathématique) en fonction  des données d’entrainement. Le modèle calculé permettra de donner une estimation sur une nouvelle donnée non encore vue par l’algorithme (qui ne faisait pas partie des données d’entrainement).

Les algorithmes de régression peuvent prendre plusieurs formes en fonction du modèle qu’on souhaite construire. La régression linéaire est le modèle le plus simple : Il consiste à trouver la meilleure droite qui s’approche le plus des données d’apprentissage. La fonction de prédiction sera donc une droite.

Le modèle prédit par l’algorithme de régression linaire sera de la forme Y = f(X) = \alpha * X\textsubscript{1}+ \beta     (a et \beta sont les coefficients de la droite).

 

Dans la vraie vie, supposer une corrélation linéaire entre les données n’est pas suffisant pour faire des modèles prédictifs complexes. Les données n’ont pas forcément une relation linéaire entre elles, et plusieurs variables prédictives peuvent être nécessaires pour effectuer prédiction réaliste. La régression polynomiale et la régression multivariée (à plusieurs variables) permettent de calculer des fonctions de mapping complexes qui s’adaptent bien aux données d’apprentissage.

 

Dans cet exemple, nous avons deux fonctions polynomiales avec des degrés de polynôme différents. Toutes les deux peuvent être de bonnes prédictions pour les données affichées dans le graphe.

Généralement, plus on monte dans le degré du polynôme, plus nous avons des fonctions qui s’adaptent bien aux données.

 

Cet article introduit les notions de régression et de classification. Dans les prochains articles, j’entrerai plus en détail dans les algorithmes d’apprentissage supervisé.

Si l’article vous plait, ou que vous avez des remarques, n’hésitez de faire des commentaires et de partager l’article ! 🙂

 

 

Inscrivez-vous à la Newsletter
Rejoignez la communauté Mr mint, le blog Français dédié à la Data Science et recevez des contenus exclusifs et d'autres goodies !
Nous détestons les spams. Votre adresse e-mail ne sera pas vendue ou partagée avec quelqu'un d'autre.
0 Flares Twitter 0 LinkedIn 0 Reddit 0 Google+ 0 Filament.io 0 Flares ×