Par Équipe Blent
Data Scientist
Publié le 12 avr. 2022
Catégorie Machine Learning
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.
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.
À lire aussi : découvrez notre formation MLOps
Il existe plusieurs types d'apprentissage pour calibrer cette fonction \(f\), parmi lesquels on retrouve :
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 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.
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.
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.
À lire aussi : découvrez notre formation MLOps
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.
À 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.
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.
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.
Cela aboutit donc à la création du F1 score :
$$\text{Score}_{F1}=2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}$$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}\(\)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.
À lire aussi : découvrez notre formation MLOps
Il existe de nombreuses applications de l'apprentissage supervisé :
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.
Vous souhaitez vous former au MLOps ?
Articles similaires
20 sept. 2022
Hugging Face est une startup française qui s'est fait connaître grâce à l'infrastructure NLP qu'ils ont développée. Aujourd'hui, elle est sur le point de révolutionner le domaine du Machine Learning et traitement automatique du langage naturel. Dans cet article, nous allons présenter Hugging Face et détailler les taches de base que cette librairie permet de réaliser. Nous allons également énumérer ses avantages et ses alternatifs.
Équipe Blent
Data Scientist
Lire l'article
12 juil. 2022
spaCy est une bibliothèque open-source pour le traitement avancé du langage naturel. Elle est conçue spécifiquement pour une utilisation en production et permet de construire des applications qui traitent et comprennent de grands volumes de texte.
Équipe Blent
Data Scientist
Lire l'article
4 juil. 2022
Un auto-encodeur est une structure de réseaux neuronaux profonds qui s'entraîne pour réduire la quantité de données nécessaires pour représenter une donnée d'entrée. Ils sont couramment utilisés en apprentissage automatique pour effectuer des tâches de compression de données, d'apprentissage de représentations et de détection de motifs.
Équipe Blent
Data Scientist
Lire l'article
60 rue François 1er
75008 Paris
Blent est une plateforme 100% en ligne pour se former aux métiers Tech & Data.
Organisme de formation n°11755985075.
Data Engineering
IA Générative
MLOps
Cloud & DevOps
À propos
Gestion des cookies
© 2024 Blent.ai | Tous droits réservés