Skip links

Petite introduction au Machine Learning

Suite à notre article sur le métier de Data Scientist, nous revenons sur une question qui nous est souvent posée : qu’est ce que le Machine Learning ? À quoi sert-il, quels sont les algorithmes de Machine Learning et comment pouvons-nous les utiliser ?

Des éléments de contexte…et d’histoire !

Quelques chiffres

Avant de rentrer dans le vif du sujet et de parler de Machine Learning, il est nécessaire de revoir quelques éléments de contexte. Nous sommes aujourd’hui entourés de données. Voici quelques chiffres de 2020 :

  • 1,7 Mo de données sont créées en moyenne chaque seconde par chaque personne dans le monde ;
  • 2,5 quintillions d’octets des données sont produites par l’homme chaque jour ;
  • 95 millions de photos et de vidéos sont partagées chaque jour sur Instagram ;
  • 306,4 milliards de courriels sont envoyés chaque jour ;
  • 5 millions de tweets sont écrits chaque jour. 

(Source : https://blog-referencement-seo.fr/combien-de-donnees-sont-creees-chaque-jour-en-2020-youll-be-shocked/

Les données ont toujours été autour de nous.

Faisons un bon en arrière, à l’époque de la Rome Antique. À cette période, le cens (en latin : census) était un recensement des citoyens romains et de leurs biens effectué tous les 5 ans. Cette liste des citoyens était dressée par des magistrats élus nommés censeurs. Le cens servait de base au recrutement de l’armée romaine, à la délimitation des droits politiques, à l’organisation des scrutins, au calcul des impôts, puis à l’élaboration d’un état civil. Pour cette époque, le cens constituaient une gigantesque “base de données” qui pouvait même être vue comme du “Big Data” avant l’heure par les censeurs romains !

Les bases de données, sources du Machine Learning sont plus anciennes qu'on ne le pense.

La question des données a donc toujours été présente. Ce qui a énormément changé, surtout pendant les 50 dernières années, ce sont les outils utilisés afin de collecter, exploiter et analyser ces données. Aujourd’hui nous parlons de Big Data car nous avons les moyens technologiques et scientifiques nécessaires au traitement des Big Data.

Data + puissance computationnelle + … ?

Nous avons donc aujourd’hui la technologie pour pouvoir gérer cette grande quantité de données, pour nous aider à mieux nous comprendre, ainsi qu’améliorer d’autant plus notre quotidien. Mais comment fait Netflix pour nous proposer de nouvelles séries que l’on va ponctuellement aimer ? Ou encore, comment peut notre banque nous dire assez rapidement si on est éligible à un prêt ou pas ? Toutes ces applications sont possibles en ajoutant une troisième composante au binôme “data – puissance computationnelle » : l’apprentissage automatique, aussi appelé le “Machine Learning”.

Comment fait-on apprendre quelque chose à une machine ?

À partir des données à disposition (dans le cas de Netflix, supposons notre historique de films ou séries visionnés, les métadonnées disponibles sur chaque film ou série de la plateforme), un algorithme de Machine Learning permet l’identification de structures logiques dans les données afin d’extraire une nouvelle connaissance, et donc, de générer ce que nous appelons un modèle : c’est à dire, une représentation généralisée de la réalité qui décrit explicitement les chemins structurés contenus dans les données, comme par exemple des équations, des diagrammes tels que des arbres et des graphiques, des conditions if / else, ou encore du clustering.

À partir des données à notre disposition (aussi appelées dans ce contexte « données d’apprentissage ») et de ce que nous cherchons à savoir ou plutôt à « faire apprendre à la machine » (dans notre exemple, nos préférences en termes de films et séries), l’algorithme de Machine Learning génère un modèle qui généralise et synthétise une réalité spécifique (nos préférences en termes de films et séries). Ce modèle est ensuite validé par un nouvel ensemble de données, que nous appelons les données de test.

Avec ces données de test, nous pouvons enfin établir si le modèle développé permet d’avoir une bonne généralisation de ce que nous souhaitons étudier, ou si on est plutôt loin de cela. Dans ce dernier cas, et donc dans le cas d’une mauvaise généralisation, les raisons de l’échec peuvent être multiples : des données “bruyantes” par exemple (données qui contiennent des erreurs, des réponses peu fiables, des mauvais enregistrements), ou encore un choix incohérent de l’algorithme de Machine Learning à appliquer…

Comment fonctionne le Machine Learning ?

Quels sont les algorithmes de Machine Learning ?

Les algorithmes de Machine Learning les plus connus sont essentiellement de deux types : les algorithmes d’apprentissage supervisé et les algorithmes d’apprentissage non supervisé.

En ce qui concerne l’apprentissage supervisé (Supervised Learning) nous y retrouvons tous les algorithmes qui permettent de prédire la valeur d’une variable objective (une variable qui a le rôle de contrôle, le “superviseur”) en modélisant les relations entre cette variable et autres variables. Dans cette famille nous pouvons donc avoir :

  • les algorithmes de classification : des modèles qui prédisent à quelle catégorie appartient une observation (un mail est ou n’est pas un spam, une personne va vivre après 100 ans, un candidat fera défaut sur un prêt bancaire, un tremblement de terre va frapper l’année prochaine, …) ;
  • les algorithmes de prédictions : des modèles qui prédisent des données numériques (revenus, expériences de laboratoire, scores de tests, quantités d’objets, …).

En ce qui concerne l’apprentissage non supervisé (Unsupervised Learning) nous y retrouvons des algorithmes qui permettent la génération de modèles utiles pour mieux décrire et résumer certaines données, par exemple :

  • les algorithmes de pattern detection : des modèles qui identifient les associations entre les données (Market Basket Analysis, par exemple) ;
  • les algorithmes de clustering : des modèles qui divisent un dataset en groupes homogènes (Segmentation Analysis, par exemple).

– –

Bibliographie :
Brett Lantz (2013), “Machine Learning with R”, Packt Publishing