10 Concepts pour comprendre le Machine Learning

Machine Learning, Intelligence Artificielle, Data Science… Il est parfois difficile de s’y retrouver dans le jargon du « monde de la data ».  Nous avons développé pour vous dix concepts incontournables qui vous aideront à comprendre les conversations sur ces sujets.

0. Data set (jeu de données)

Commençons par la matière première :  👉 la donnée 👈.

Un jeu de données est un ensemble d’observations 👀 . Ces observations peuvent être des enregistrements sonores, des photographies, des documents textuels ou encore des caractéristiques d’individus observés (taille, poids, âge par exemple) etc.

Dans un jeu de données bien structuré, les observations ont toutes le même format et peuvent ainsi être traitées de la même façon 👍.

0 bis. Algorithme / Input / Output

Un algorithme est une suite finie et non ambiguë d’opérations permettant de résoudre un problème 🤯 . 

On appel input l’ensemble des informations de départ et output le résultat de l’algorithme.

1. Machine Learning / Intelligence Artificielle
Le Machine Learning (ou apprentissage automatique) est une branche de l’algorithmique dans laquelle une partie des opérations listées n’est pas écrite par le programmeur mais découle d’une phase d’observation statistique automatisée 🚀d’un jeu de données : l’apprentissage (ou training).
 
L’intelligence artificielle est un concept plus vague et moins consensuel 🤷‍♀️. Ce terme est très souvent utilisé en tant que synonyme de Machine Learning.
Nos cas d'usages Prédiction de risque de défaut ​Scopeo
2. Data Scientist / Data Engineer / Data Analyst
Ces nouveaux métiers de la donnée ont des frontières dynamiques qui dépendent des cultures, des entreprises et même des individus. Les définitions exactes ne sauraient mettre tout le monde d’accord. Mais on peut sans trop prendre de risque dire que :
  • le Data Scientist est le plus matheux des trois : son métier est de concevoir des algorithmes à travers l’analyse automatique de données (l’apprentissage)
  • le Data Engineer est celui qui rend la donnée accessible, la structure, intègre le travail du Data Scientist dans le logiciel, assure le contrôle qualité, gère l’infrastructure, le déploiement de nouvelles versions, la maintenance etc.
  • le Data Analyst, comme le Data Scientist, travaille sur les données mais sans objectif d’en faire sortir un algorithme : il cherche à faire ressortir de l’information afin qu’elle soit utilisée par des humains dans des prises de décision. Pour y parvenir au mieux, il doit être capable de présenter ses analyses de la façon la plus limpide possible en se servant d’outils de Data Visualisation. Son bagage en mathématiques peut être plus réduit que celui du Data Scientist et son bagage en programmation et infrastructure peut être plus réduit que celui du Data Engineer ; mais le Data Analyst doit absolument être un bon communicant et avoir une forte capacité de synthèse et de présentation.
3. Training ou learning (entraînement ou apprentissage)
C’est le cœur du Machine Learning 💓. Il s’agit de la phase pendant laquelle un algorithme va chercher une suite d’opérations permettant d’atteindre au mieux un objectif donné pour chacun des points d’un jeu de données.
👉 Par exemple : si je cherche à évaluer le prix d’un appartement à partir d’un ensemble de critères comme la surface, la commune et l’étage, l’algorithme va chercher, pendant la phase d’apprentissage, à faire des opérations à partir de ces critères dans le but de tomber le plus proche possible du prix 🧿 pour chacun des appartements listés dans le jeu de données.
training metaphore
4. Surapprentissage (overfitting)​
Un algorithme surapprend ou overfit un jeu de données lorsqu’il s’adapte à la spécificité de ce jeu de données 👎 et non pas à ce type de données.
5. Training set / Validation set / Testing set
(jeu d'entraînement / jeu de validation / jeu d'évaluation)
Point crucial de tout développement qui s’appuie sur des données : il faut impérativement séparer aléatoirement les données en 3 sous-ensembles : un training set, un validation set et un testing set.
  • le training set 🤨 sert à l’apprentissage : c’est le seul jeu de données qui doit être donné aux algorithmes et sur lequel le Data Scientist doit s’appuyer pour concevoir son modèle.
  • le validation set 👍 est là pour évaluer les modèles au fur et à mesure de l’apprentissage et pour comparer des algorithmes différents ou différemment paramétrés. On a besoin d’un jeu de données distinct du training set pour être sûr de ne pas valoriser des algorithmes qui s’appuient sur les particularités du training set (i.e. overfiter)
  • le testing set 💪 est là pour évaluer une seule fois le modèle choisi à la fin et attribuer un score fiable au modèle retenu. Le validation set ne peut être utilisé pour cela car il a servi à choisir le meilleur algorithme (autrement dit, l’algorithme choisi est adapté à lui); il y aurait donc un risque de suraprentissage 🛑.
6. Apprentissage supervisé / non-supervisé
On parle d’apprentissage supervisé lorsque, à l’entraînement, on fournit à l’algorithme la « bonne réponse » à la question à laquelle on cherche à répondre.
👉 Par exemple : si je veux entraîner un algorithme à deviner l’âge d’une personne à partir d’une photo, je vais lui fournir un jeu de photos, mais aussi l’âge correspondant à chaque personne représentée, afin qu’il puisse apprendre à deviner. C’est de l’apprentissage supervisé.
 
On parle d’apprentissage non-supervisé lorsque l’on demande simplement à l’algorithme de regrouper les données en se basant sur leur proximité.
👉 Par exemple : si je cherche à grouper des utilisateurs par profils de goûts en fonction des vidéos qu’ils ont regardées sur une plateforme, je ne vais fournir aucun descriptif des goûts de chacun, je vais laisser les similitudes de visionnage émerger et les catégories se former à partir des données. C’est de l’apprentissage non-supervisé.
7. Feature / Feature engineering
Un feature est une caractéristique des éléments d’un jeu de données. C’est le résultat du « feature engineering » 😮, c’est-à-dire de sa conception par le Data Scientist, en amont de l’apprentissage.
👉 Par exemple : prenons un dataset constitué d’individus. La couleur des yeux 👀 et le poids sont des features très simples. Le nombre moyen de légumes 🥦consommés par semaine ou bien la durée médiane du temps de trajet quotidien 🛴 sont d’autres features, plus complexes.
réseau de neurones
8. Réseau de neurones (neural network) / Deep Learning
C’est un type d’algorithme de Machine Learning inspiré du fonctionnement du cerveau 🧠. Il repose sur la succession de couches de neurones (plus il y a de couches, plus on dit que le réseau est profond; d’où la notion de « deep » learning 👌).
9. Data leak
Un data leak dénote la présence, dans le training set, d’informations que l’on n’est pas sensé avoir ⛔️ dans le problème à résoudre. En d’autre terme, on permet à l’algorithme de tricher 😨 à l’entraînement, en conséquence de quoi on ne peut pas lui faire confiance.
👉 Par exemple : je veux entraîner un modèle qui différencie les chiens 🐶 et les loups 🐺. Toutes les photos de loups à ma disposition sont des loups dans la neige 🐺❄️ et les photos de chiens sont des chiens en intérieur 🐶🏠. J’ai un data leak : la présence de neige sur les photos du dataset indique qu’il s’agit d’un loup ❄️=🐺❓.
10. Data Lake / Data Warehouse

Un Data Lake est un espace de stockage destiné à accueillir toutes les données qu’il peut être utile d’accumuler.

On y stocke les données brutes 🔧 comme les données structurées 💿 contrairement au Data Warehouse, qui est la version propre du Data Lake. On y stocke uniquement les données prétraitées et structurées 💿💿💿 en vue de leur utilisation future.

——

Suivez moi sur Linkedin pour plus de contenu comme celui-là: Marc Sanselme

Vous nous quittez ?

Restez au courant des actualités et des articles de blog
en vous abonnant à notre newsletter !