• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 09/06/2023

Identifiez les différents types d'apprentissage automatiques

Dans le chapitre précédent, nous avons vu les éléments spécifiques nécessaires à la formulation et à la résolution d'un problème de machine learning. Dans ce chapitre, je vais vous présenter les grandes familles d'algorithmes d'apprentissage existantes.

Apprentissage "supervisé" ou "non supervisé"

Une première grande distinction à faire en machine learning est la différence entre apprentissage supervisé et non supervisé. En anglais, ces deux notions se nomment respectivement supervised learning et unsupervised learning.

Pour bien comprendre la différence, reprenons un exemple : supposez que vous avez une nouvelle base de photos à catégoriser. Vous disposez de données d'exemple (training set) préalables pour entraîner votre modèle.

En apprentissage supervisé, vous allez récupérer des données dites annotées de leurs sorties pour entraîner le modèle, c'est-à-dire que vous leur avez déjà associé un label ou une classe cible et vous voulez que l'algorithme devienne capable, une fois entraîné, de prédire cette cible sur de nouvelles données non annotées. Dans notre exemple, les données d'entrée seraient des images et la cible (ou target en anglais) la catégorie de photos que vous voulez.

Chaque image est labellée de sa catégorie
Chaque image utilisée pour entraîner l'algorithme est étiquetée avec sa catégorie.

En apprentissage non supervisé, les données d'entrées ne sont pas annotées. Comment cela peut-il fonctionner ? Eh bien, l'algorithme d'entraînement s'applique dans ce cas à trouver seul les similarités et distinctions au sein de ces données, et à regrouper ensemble celles qui partagent des caractéristiques communes. Dans notre exemple, les photos similaires seraient ainsi regroupées automatiquement au sein d'une même catégorie.

Voici une visualisation de l'utilisation d'une méthode non supervisée qui regroupe les images par similarité. Je vous conseille de regarder la version HD ici.

Une visualisation 2D d'une méthode non supervisée qui permet de grouper les images par similarité. La version HD: http://cs.stanford.edu/people/karpathy/cnnembed/cnn_embed_6k.jpg

Visualisation 2D d'une méthode non supervisée qui permet de grouper les images par similarité (crédits : http://cs.stanford.edu/people/karpathy)

Des chercheurs de Google Brain ont appliqué des algorithmes d'apprentissage non supervisés il y a quelques années à des vidéos YouTube, afin de voir ce que cet algorithme réussirait à apprendre comme information. Une vidéo explicative (en anglais) est disponible ici.

Cette image retranscrit la représentation interne des concepts de
La représentation interne des concepts de "visage" et "chat" apprises par un algorithme non supervisé à partir d'images extraites de millions de vidéos YouTube (crédits : Quoc V. Le et al.)  

Dans quel cas utilise-t-on l'un ou l'autre ?

Eh bien, dans le cas où vous avez un problème où vous pouvez annoter précisément pour chaque observation la cible que vous voulez en sortie, vous pouvez utiliser l'apprentissage supervisé.

Dans le cas où vous essayez de mieux comprendre votre dataset ou d'identifier des comportements intéressants, vous pouvez utiliser l'apprentissage non supervisé.

Régression ou Classification

Une autre distinction qui vous aidera dans le choix d'un algorithme de machine learning est le type de sortie que l'on attend de notre programme : est-ce une valeur continue (un nombre) ou bien une valeur discrète (une catégorie) ? Le premier cas est appelé une régression, le second une classification

Par exemple, si je veux déterminer le coût par clic d'une publicité web, j'effectue une régression. Si je veux déterminer si une photo est un chat ou un chimpanzé, j'effectue une classification.

Illustration de la différence entre régression et classification
Illustration de la différence entre classification linéaire et régression linéaire

C'est simple, n'est-ce pas ?

Si c'est si simple que ça, pourquoi n'y a-t-il pas juste trois ou quatre algorithmes, qu'on pourrait utiliser pour chacune de ces distinctions ?

Vous avez raison, mais dans la vie rien n'est si simple. 😇

En réalité, il existe un ensemble de contraintes et d'enjeux supplémentaires (le nombre de données en entrée, la capacité de convergence d'un modèle en fonction du type de données, etc.) qui influencent aussi et créent une granularité supplémentaire dans votre choix du modèle. Nous étudierons les contraintes et enjeux de chaque modèle lorsque nous les aborderons individuellement, dans d'autres cours.

En résumé

Les problèmes de machine learning peuvent se différencier selon deux critères :

  • Les données dont vous disposez sont-elles annotées ou non ? Si c'est le cas, vous avez affaire à un problème d'apprentissage supervisé. Sinon, vous serez obligé d'utiliser un algorithme d'apprentissage non supervisé.

  • Quel est le type de résultat que vous souhaitez prédire ? S'il s'agit d'un nombre (par exemple le coût par clic d'une publicité), c'est un problème de régression. S'il s'agit plutôt d'une valeur discrète, d'une catégorie (par exemple le type d'animal présent sur une photo), alors c'est un problème de classification

Et si vous obteniez un diplôme OpenClassrooms ?
  • Formations jusqu’à 100 % financées
  • Date de début flexible
  • Projets professionnalisants
  • Mentorat individuel
Trouvez la formation et le financement faits pour vous
Exemple de certificat de réussite
Exemple de certificat de réussite