Blog de Pythonia

Guides, IA, tutos et newsletter pour devenir une bête en programmation

Télécharger Apprendre-la-programmation-avec-python

Rejoignez notre communauté de professionnels et de passionnés, pour rester à la pointe des dernières actualités.

Qu'est ce que l'apprentissage supervisé?




Mis à jour le Oct. 4, 2022, 3:08 p.m.



L'apprentissage supervisé est le processus d'apprentissage d'un modèle en lui fournissant des données d'entrée ainsi que des données de sortie correctes (les labels). Pensez à un enseignant qui, connaissant la bonne réponse, attribue ou retire des points à un élève en fonction de l'exactitude de sa réponse à une question. L'apprentissage supervisé est souvent utilisé pour créer des modèles d'apprentissage automatique pour deux types de problèmes.


1- Entrainer un modèle
2- Apprentissage supervisé vs non supervisé
3- Overfitting
4- Underfitting



Type de problème d'apprentissage supervisé numéro 1: La Régression (Le modèle trouve des sorties qui sont des variables réelles c'est à dire nombre qui peut avoir des décimales.
Type de problème d'apprentissage supervisé numéro 2: La Classification - Le modèle doit trouver les classes correspondante (par exemple chat vs chien)

Comme dit, un algorithme de machine learning superviséest un type d'algorithme qui nécessitent d'avoir pour son entrainement (training) des données "labelisées" (étiquetées). Ces données sont au préalable étiquetées par des humains puis on entraine ces données grâce à un algorithme de machine learning.
Par exemple, un algorithme entraîné sur un ensemble de données d'images qui ont été étiquetées comme contenant un chat ou un chien. Une fois l'algorithme d'apprentissage supervisé entraîné, il peut être utilisé pour classer de nouvelles images (qu'il n'a jamais vu) comme contenant un chat ou un chien.

Parmi les algorithmes courants de machine learning superviséfigurent les arbres de décision, la régression linéaire et les machines à vecteurs de support ou encore les réseaux de neurones.

Entrainer un modèle de machine learning supervisé? Training, test et validation

Si l'on dispose de suffisamment de données, on peut entrainer un modèle, ce qui consiste à diviser les données étiquetées en trois ensembles : un set de training, un set de test et un set de validation. L'algorithme utilise le set de training pour ajuster le modèle afin de minimiser l'erreur (pour apprendre quoi).
 Par exemple, le set de training peut contenir une variété d'images d'animaux avec une étiquette associée à chaque image, permettant à l'algorithme de comparer l'étiquette prédite avec l'étiquette correcte. C'est là que l'apprentissage s'éffectue. On regarde si nos prédictions sont correctes en les comparant aux vrais labels et si elles ne le sont pas, notre algorithme devra modifier son apprentissage.

Le set de validation est séparé du set de training et permet de mesurer indépendamment les progrès de l'algorithme. Cette mesure peut être utilisée pour déterminer à partir de quand dans l'entrianement de l'algorithme d'apprentissage on commence à overfitter (un ajustement excessif) ou underfitter.

Le set de test est l'ensemble final et il ne doit être utilisé que lorsque le modèle s'est avéré optimal sur le set de validation. Cet ensemble fournit une évaluation "en situation réelle" des performances du modèle sur des données jamais vues auparavant. Les données de test sont une sorte d'"examen final" pour un modèle qui a appris ses données de formation de manière efficace et qui peut généraliser à de nouvelles données.


Apprentissage supervisé vs apprentissage non supervisé

Si l'apprentissage supervisé peut être comparé à une relation maître-élève, l'apprentissage non supervisé peut être comparé à la manière dont un enfant apprend une langue en trouvant de manière indépendante une structure/patterns à partir d'une entrée donnée.  Dans le cas de l'apprentissage non-supervisé, aucune étiquette n'est fournie, et des algorithmes d'apprentissage différents sont donc nécessaires pour parvenir à la detection de différents pattern.  Je vous invite aller ici si vous souhaitez en savoir plus sur l'apprentissage non-supervisé.

 Apprentissage superviséApprentissage non supervisé
DéfinitionTechnique d'apprentissage automatique où des exemples étiquetés sont utilisés pour entraîner un modèle à effectuer des prédictions.Technique d'apprentissage automatique où les données ne sont pas étiquetées et où le modèle apprend à partir de la structure et des motifs intrinsèques des données.
ObjectifPrédire ou classer des données étiquetéesDécouvrir des structures, des groupes ou des schémas cachés dans les données
ExemplesClassification, régression, détection d'anomaliesClustering, réduction de dimensionnalité, extraction de caractéristiques
ÉtiquetageNécessite des données étiquetées pour l'entraînement Les données ne sont pas étiquetées
SupervisionNécessite la présence d'un humain pour fournir les étiquettes des données d'entraînementAucune supervision externe nécessaire
PerformanceÉvaluation par rapport à des données de test étiquetéesÉvaluation subjective ou basée sur des métriques spécifiques à la tâche
AvantagesCapacité à effectuer des prédictions précises avec des étiquettes connuesDécouverte de motifs et de structures cachées dans les données
LimitationsDépendance des données étiquetées et de la qualité des étiquettesInterprétation subjective des résultats et manque d'étiquettes
UtilisationsClassification d'images, prédiction de prix, analyse de sentiment

Clustering de documents, segmentation d'images, recommandation de produits

 

L'apprentissage supervisé et l'apprentissage non supervisé sont deux approches différentes en apprentissage automatique (machine learning). L'apprentissage supervisé utilise des données étiquetées pour entraîner un modèle à effectuer des prédictions précises, tandis que l'apprentissage non supervisé cherche à découvrir des structures et des motifs cachés dans les données non étiquetées. Chaque approche a ses avantages et ses limitations, et comme toujours, leur choix dépend du type de problème et des données disponibles.

Overfitting:

L'overfitting est un problème courant dans le machine learning supervisé, lorsqu'un modèle est entraîné sur un ensemble de données de training mais qu'il ne se généralise pas bien aux données en dehors de cet ensemble. Cela peut se produire pour diverses raisons, mais l'une d'entre elles est que le modèle est trop complexe pour la quantité de données disponibles. Lorsque cela se produit, le modèle commence à apprendre le bruit et les fluctuations aléatoires des données, au lieu du signal sous-jacent. En conséquence, le modèle donne de bons résultats sur les données d'apprentissage, mais peu sur les nouvelles données. L'overfitting peut être évité en utilisant des modèles plus simples, tels que les modèles linéaires, ou en utilisant davantage de données pour l'apprentissage. En outre, diverses méthodes de régularisation peuvent être utilisées pour contraindre le modèle et empêcher l'overfitting.

 

Underfitting:

L'underfitting, ou "sous-apprentissage" en français, est un problème courant en machine learning. Il se produit lorsque notre modèle ne parvient pas à capturer les patterns présents dans les données d'entraînement, conduisant ainsi à des performances médiocres et à une faible capacité de généralisation. L'underfitting se produit lorsque notre modèle est trop simple ou ne dispose pas d'une capacité suffisante pour représenter les données d'entraînement de manière adéquate, ce qui entraîne des performances médiocres.

Voici quelques causes courantes de l'underfitting :
- Modèle trop simple : lorsque notre modèle est trop simple et ne dispose pas d'une capacité suffisante pour représenter les données de manière adéquate, il peut sous-apprendre les motifs présents dans les données.
- Données insuffisantes : lorsque nous disposons d'un ensemble de données d'entraînement trop petit, le modèle peut avoir du mal à généraliser les motifs présents dans les données.
- Sur-régularisation : lorsque nous appliquons une régularisation excessive à notre modèle, il peut être trop contraint et ne pas être en mesure de s'ajuster de manière adéquate aux données d'entraînement. La régularisation vise à réduire le l'overfitting en ajoutant une contrainte supplémentaire aux paramètres du modèle. Donc si on régularise trop on peut overfitter

 

A l'attention de mes chers lecteurs: "ensemble" et "set" signifient la même chose ici.

 

 

 




Inscrivez-vous pour ne pas louper la suite de cette série.


Commentaires

Aucun commentaire pour cet article.

Laissez un commentaire