Logo
Bannière
avatar
Par Nada Belaidi
Data Scientist
avatar
Par Nada Belaidi
Data Scientist
Publié le 12 avril 2022
Catégorie Machine Learning
Publié le 12 avril 2022
Catégorie Machine Learning

L’apprentissage supervisé : définition et exemples


L’apprentissage supervisé est une sous-catégorie de l’apprentissage automatique et de l’intelligence artificielle. Il est défini par son utilisation d’ensembles de données étiquetés pour former des algorithmes qui permettent de classer les données ou de prédire les résultats avec précision. L'objectif est de donner un sens aux données dans le contexte d’une question spécifique. L’apprentissage supervisé est utilisé pour des problèmes de classification et de régression, comme la détermination de la catégorie à laquelle appartient un article de presse, ou la prévision du volume des ventes pour une date future donnée.

Dans cet article, nous allons détailler les types d'apprentissage en Machine Learning, ce qu'est l'apprentissage supervisé, comment évaluer son modèle supervisé et quels sont les algorithmes possibles à utiliser.

Types d'apprentissage en Machine Learning

L’apprentissage automatique est une application de l’IA qui permet aux systèmes d’apprendre et de s’améliorer à partir de l’expérience sans être explicitement programmés. En effet, il s'agit de développer des modèles prédictifs qui peuvent accéder aux données et les utiliser pour apprendre par eux-mêmes.

À l’instar de la façon dont le cerveau humain acquiert connaissance et compréhension, l’apprentissage automatique repose sur des entrées, comme des données d'entrainement ou des graphiques de connaissances, pour comprendre les entités, les domaines et les liens entre eux.

Formellement, en Machine Learning, on cherche à déterminer une fonction mathématique $f$ où le résultat $f(x)$ d'une observation $x$ correspond à la réponse du phénomène étudié. Par exemple, si $x$ représentait les caractéristiques d'un logement, le phénomène étudié correspondant au marché immobilier, la réponse $f(x)$ correspondrait au prix de ce logement.

Il existe plusieurs types d'apprentissage pour calibrer cette fonction $f$, parmi lesquels on retrouve :

L'apprentissage supervisé

L’apprentissage supervisé est fait en utilisant une vérité, c’est-à-dire qu'on a une connaissance préalable de ce que les valeurs de sortie pour nos échantillons devraient être. Par conséquent, le but de ce type d'apprentissage est d’apprendre une fonction qui, compte tenu d’un échantillon de données et de résultats souhaités, se rapproche le mieux de la relation entre les entrées et les sorties observables dans les données.

Dans l'apprentissage supervisé, on a deux types d'algorithmes :

  • Les algorithmes de régression, qui cherchent à prédire une valeur continue, une quantité.
  • Les algorithmes de classification, qui cherchent à prédire une classe/catégorie.

L'apprentissage non supervisé

Les algorithmes d’apprentissage automatique non supervisés sont utilisés lorsque l’information utilisée pour entraîner le modèle n’est ni classifiée ni étiquetée. Le modèle en question étudie ses données d'entrainement dans le but de déduire une fonction pour décrire une structure cachée à partir ces données. À aucun moment le système ne connaît la sortie correcte avec certitude. Au lieu de cela, il tire des inférences des ensembles de données quant à ce que la sortie devrait être.

Les algorithmes de ce type d'apprentissage peuvent être utilisés pour trois types en problèmes.

  • Association : un problème où on désire découvrir des règles qui décrivent de grandes portions de ses données. Par exemple, dans un contexte d'une étude de comportement d’achat d'un groupe de clients, les personnes qui achètent tel produit ont également tendance à acheter un autre produit spécifique.
  • Regroupement : un problème où on veut découvrir les groupements inhérents aux données, comme le regroupement des clients par le comportement d’achat.
  • La réduction de dimension : on vise à réduire le nombre de variables à prendre en compte dans l’analyse.

L'apprentissage par renforcement

L'apprentissage par renforcement est une méthode qui consiste à optimiser de manière itérative un algorithme uniquement à partir des actions qu'il entreprend et de la réponse associée de l'environnement dans lequel il évolue.

Cette méthode permet aux machines et aux agents de déterminer automatiquement le comportement idéal dans un contexte spécifique pour maximiser ses performances. Une simple rétroaction de récompense, connue sous le nom de signal de renforcement, est nécessaire pour que l’agent apprenne quelle action est la meilleure.

Comment fonctionne l’apprentissage supervisé ?

Dans l’apprentissage supervisé, les données d'entrainement fournies aux machines fonctionnent comme le superviseur qui apprend aux machines à prédire correctement la sortie. Il applique le même concept qu’un élève apprend dans la supervision de l’enseignant.

L’apprentissage supervisé, c’est lorsque l'on a des variables d’entrée $x$ et une variable de sortie $y$ et qu'on utilise un algorithme pour apprendre la fonction de mappage de l’entrée à la sortie.

$$y = f(x)$$

Cela se fait sur plusieurs étapes : pour mieux comprendre, nous prendrons comme exemple un jeu de données où $x$ représente les caractéristiques d'un logement, le phénomène étudié correspondant au marché immobilier, la réponse $f(x)$ correspondrait au prix de ce logement.

En pratique, $x$ représente presque toujours plusieurs points de données. Dans notre cas, le prédicteur du prix du logement pourrait prendre non seulement la superficie $x_1$, mais aussi le nombre de chambres $x_2$, le nombre de salles de bains $x_3$, le nombre d’étages $x_4$, et ainsi de suite.

La détermination des entrées à utiliser est une partie importante de la conception du modèle, cela se fait généralement à l'aide du Feature Engineering (ou l'ingénierie des caractéristiques en français). Une fois les données sont transformées en formes adaptées à la modélisation et que l'on a conservé que les entrées pertinentes, l'étape suivante consiste à entraîner son modèle.

Cependant, dans notre cas, il est plus facile de supposer qu’une seule valeur d’entrée est utilisée. Supposons que le jeu de donnée soit représenté par le nuage de points suivant (le prix du logement en fonction de la superficie).

Et supposons que la fonction de prédiction a cette forme :

$$f(x)=ax+b$$

$a$ et $b$ sont des constantes. L'objectif est de trouver les valeurs optimales de $a$ et $b$ pour que le prédicteur fonctionne le mieux possible. À chaque fois que le modèle est entraîne avec une observation du jeu de données, on modifie $a$ et $b$ en résolvant l'équation $ax+b=y$ avec $y$ le prix du logement et $x$ est sa superficie. Ce processus est répété encore et encore jusqu’à ce que le système ait convergé vers les valeurs optimales.

Au fur et à mesure que le modèle s’entraîne, et les valeurs de $a$ et $b$ changent, on se trouve avec plusieurs droites reliant la superficie du logement à son prix.

 here

À un certain stade, si on répète le processus plusieurs fois, on constate que $a$ et $b$ ne changeront plus et ainsi on voit que le système a convergé. Cela signifie que nous avons trouvé le prédicteur optimal.

La dernière étape du processus de l'apprentissage supervisé consiste à vérifier la capacité de l’algorithme à généraliser et produire de résultats une fois mis en production avec des données qu'il ne connaît pas.

Alors comment mesurer si ce modèle est performant ? En réalité, c’est très simple, la meilleure droite est celle qui minimise les écarts entre la réalité et les prédictions. Dans notre cas, la droite rouge est moins bonne que la droite verte, car elle présente des écarts plus importants que l’autre droite.

Dans le monde réel, les problèmes sont beaucoup plus complexes et par suite les fonctions de prédiction le sont aussi. Et c'est pourquoi les algorithmes de Machine Learning existent.

Scores et performance

Maintenant que l'on a déterminé la fonction $f$ comment évaluer la qualité et les performances de son modèle ? Il existe plusieurs métriques permettant de mesurer les performances d'un modèle d'un point de vue quantitatif.

Cas de la classification

Considérons un problème de classification binaire : les réponses prennent les valeurs 0 ou 1.

L'accuracy est une métrique de score élémentaire qui calcule le nombre moyen d'observations correctement prédites. Elle peut être calculée directement par la formule suivante pour $n$ prédictions.

$$\text{accuracy} = \frac{1}{n} \sum_{i=1}^n \mathbf{1}_{\{ \hat{y_i}=y_i \}}$$

Par exemple, supposons que $y=[0,1,1,0,1,0,0,1,1,1]$ les valeurs réelles et $\hat{y}=[0,0,1,0,1,0,1,1,0,1]$ les valeurs prédites, alors :

$$\text{accuracy} = \frac{1+0+1+1+1+1+0+1+0+1}{10}=70%$$

Le F1-score est une métrique plus fine qui prend en compte la notion de faux positifs et faux négatifs. Elle se base sur le calcul de deux mesures, qui font appel à la matrice de confusion.

  • La précision, qui est la proportion d'observations correctement prédites positivement parmi toutes celles qui sont prédites positivement. Quand je prédis positif, est-ce que la bonne réponse était souvent positive ?

$$\text{Precision}=\frac{VP}{VP+FP}$$

  • Le rappel, qui est la proportion d'observations correctement prédites positivement parmi toutes celles qui devraient être prédites positivement. Est-ce que je n'ai pas tendance à trop souvent prédire négatif à tort ?

$$\text{Recall}=\frac{VP}{VP+FN}$$

Cela aboutit donc à la création du F1 score :

$$\text{Score}_{F1}=2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$$

Cas de la régression

Dans le cadre de la régression, le calcul est différent : les valeurs ne sont plus discrètes (0 ou 1) mais continues (à valeurs dans $\mathbb{R}$). Il faut donc utiliser des métriques adaptées. Le meilleur moyen pour comparer les performances sur un modèle de régression est de calculer les différences entre les réponses théoriques et les réponses prédites.

La RMSE (Root Mean Squared Error) calcule cette différence avec une élévation au carré pour ne pas avoir de problèmes de signe. Le meilleur moyen pour comparer les performances sur un modèle de régression est de calculer les différences entre les réponses théoriques et les réponses prédites.

$$RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^n (y_i-\hat{y}_i)^2}$$

La MAE (Mean Absolute Error) ressemble fortement à la RMSE, puisque la valeur absolue est utilisée à la place de l'élévation au carré.

$$MAE=\frac{1}{n}\sum_{i=1}^n |y_i-\hat{y}_i|$$

L'avantage de ces deux métriques est qu'elles permettent de quantifier les performances en terme d'écart (absolu ou quadratique), mais ne permettent pas d'obtenir un score en pourcentage. Dans ce dernier cas de figure, on se tournera plutôt vers le coefficient de détermination $R^2$

:

$$R^2=1-\frac{\sum_{i=1}^n (y_i-\hat{y}i)^2}{\sum{i=1}^n (y_i-\bar{y})^2}$$

Quels sont les algorithmes d'apprentissage supervisé et quels sont ses applications ?

Pour créer un modèle d'apprentissage supervisé, on peut recourir à différents algorithmes , on peut citer en guise d'exemple la régression linéaire et logistique, l'arbre de choix avec différentes variables de sortie, le Naive Bayes, Random Forest, SVM et k-NN.

Il existe de nombreuses applications de l'apprentissage supervisé :

  • Étude de clientèle.
  • Diagnostic médical.
  • Reconnaissance vocale.
  • Vision par ordinateur.
  • Traitement automatique du langage (NLP).

On peut l'utiliser également pour la détection de spams dans les mails, la détection de fraude, la gestion des chatbots ainsi que pour la robotique.

À l’aide de l’apprentissage supervisé, le modèle peut prédire les résultats sur la base d’expériences antérieures. Mais cela ne veut pas dire qu'il est capable de gérer des tâches complexes. En effet, ce genre d'algorithmes ne sont pas capables de fournir de bons résultats si les données de test sont différents de ceux de l'entrainement, et ils ne peuvent fonctionner correctement que si on possède une bonne connaissance des classes des éléments du jeu de données.

Partager l'article
Nos parcours
Data Scientist
120 heures
Apprends à résoudre des problématiques métiers grâce à la Data Science et la maîtrise du Machine Learning.
Data Engineer
120 heures
Apprends à manipuler les bases de données non structurées et à lancer des calculs intensifs sur des clusters distants.
Machine Learning Engineer
120 heures
Apprends à déployer des modèles de Machine Learning, à industrialiser des projets et à gérer des infrastructures hautement scalables.
Sois le premier au courant !
Inscris-toi à notre newsletter pour tout connaître de la Blent Family (c'est promis, ta boîte mail ne sera pas inondée 😉).
logo
C'est quoi Blent ?
Blent est la seule plateforme 100% en ligne où tu peux te former aux métiers de Data Scientist, Data Engineer et Machine Learning Engineer. Notre communauté compte plusieurs centaines d'alumnis, de mentors et d'entreprises.
Organisme de formation n°11755985075.
Suis-nous
Réseau social
Réseau social
Réseau social
Réseau social
© 2018 - 2022 Blent.ai | Tous droits réservés