Le machine Learning, qu'est ce que c'est ?
Sommaire
Le Machine Learning (ou apprentissage automatique) est un domaine de l’intelligence artificielle qui permet de trouver des patterns dans une grande quantité de données et d’en tirer des prédictions à l’aide de statistiques.
Le Machine Learning est un domaine de l’intelligence artificielle. Il s’appuie sur l’analyse de données et les statistiques pour extraire des tendances, faire des prédictions, aider à la prise de décision ou encore suggérer du contenu personnalisé à un utilisateur. Les algorithmes de Machine Learning sont aujourd’hui très présents dans notre quotidien à travers les moteurs de recherche, les publicités ciblées, les plateformes de streaming de films et séries, ou encore l’arrivée progressive des voitures autonomes sur le marché.
Machine Learning : définition et fonctionnement
Définition
L’apprentissage automatique, ou Machine Learning (ML), est un domaine de l’Intelligence Artificielle (IA) qui consiste à analyser des données, effectuer des prédictions ou encore prendre des décisions en s’appuyant sur des données fournies en amont. Les algorithmes de Machine Learning sont capables d’apprendre en toute autonomie et de s’améliorer grâce à des phases d’entraînement.
Il existe trois types d’apprentissages automatiques différents :
- • l’apprentissage supervisé,
- • l’apprentissage non supervisé,
- • l’apprentissage par renforcement.
L’apprentissage semi-supervisé se positionne quant à lui entre l’apprentissage supervisé et l’apprentissage non supervisé
Apprentissage supervisé
1. Fonctionnement
L’apprentissage supervisé consiste à utiliser des données préalablement annotées pour entraîner un modèle. C’est ce qui permet ensuite de pouvoir réaliser des prédictions sur des données inconnues en recherchant les patterns qui ont été identifiés lors de l’entraînement.
2. Jeux de données, prétraitement et annotation de texte
Pour entraîner un modèle, il faut séparer un jeu de données (dataset en anglais) en deux parties :
- un jeu d’entraînement qui va permettre au modèle d’apprendre à associer un certain type de données à différentes catégories par exemple,
- un jeu de test sur lequel on va pouvoir évaluer les performances du modèle entraîné.
Une fois les deux jeux de données prêts, il faut rédiger un guide d’annotation qui va permettre de réunir toutes les instructions pratiques pour que tous les annotateurs annotent de la même façon. L’annotation de données est une étape cruciale, mais assez fastidieuse et chronophage à réaliser. En effet, elle mobilise deux annotateurs, ou plus, qui vont devoir annoter les mêmes données chacun de leur côté. Un verbatim va être associé à une étiquette (ou catégorie) spécifique, parmi une liste prédéfinie.
Ensuite, il faut calculer l’accord interannotateurs, c’est-à-dire comparer les annotations effectuées afin d’évaluer la fréquence à laquelle les annotations concordent entre elles grâce à une matrice de contingence. S’il y a trop de désaccords, cela signifie que le guide d’annotation n’est pas assez précis et laisse place à trop d’ambiguïté et d’interprétation. Les données risquent alors d’être moins bien annotées, le modèle sera donc moins performant.
Avant d’exploiter des données, il est parfois nécessaire d’effectuer un prétraitement sur les données brutes afin de les rendre exploitables. Pour cela, il faut homogénéiser le format des données provenant de différentes sources et éliminer (au choix) la ponctuation inutile, les accents, les lignes vides, les symboles ou tout autre élément qui pourraient s’avérer problématiques lors de l’analyse des données par le modèle. Cela est particulièrement crucial lorsque les données proviennent de sources différentes : base de données, site Internet, forum en ligne, traitement de texte…
3. Entrainement, prédiction et analyse des résultats
Pour évaluer les performances d’un modèle de classification de manière objective, deux métriques principales sont généralement utilisées : la précision et le rappel, ainsi que le f‑score, qui est la moyenne harmonique de ces deux métriques réunies.
- la précision indique la proportion de données correctement annotées sur l’ensemble des annotations effectuées.
- le rappel désigne quant à lui la proportion de données correctement annotées sur l’ensemble des annotations qu’il était pertinent d’annoter. Le calcul de ces mesures peut s’effectuer à l’aide d’une matrice de confusion.
En général, un modèle de Machine Learning est considéré comme performant s’il atteint environ 80% de précision et de rappel.
Cependant, à l’issue de l’entraînement et des tests, la capacité de généralisation, c’est-à-dire la façon dont se comporte le modèle sur des données qu’il n’a encore jamais vues, est tout aussi importante. En effet, le surapprentissage (overfitting en anglais) est une des causes principales qui explique les mauvaises performances d’un modèle : cela signifie que la fonction prédictive s’est très bien adaptée aux données d’entraînement et obtient de très bons résultats, mais, confrontées à de nouvelles données, les performances du modèle se dégradent fortement.
4. Types d’algorithmes utilisés
On distingue principalement deux types d’algorithmes d’apprentissage :
- les algorithmes de classification,
- les algorithmes de régression.
La classification permet de prédire à quelle catégorie appartient un document ou une image tandis que la régression permet de prédire le prix de l’immobilier, par exemple.
Pour développer un modèle d’apprentissage supervisé, il existe divers algorithmes, comme l’arbre de décision, le Random Forest, le Naive Bayes, le k‑NN ou encore la régression linéaire et logistique.
5. Exemples d’utilisation
Les applications de l’apprentissage supervisé sont nombreuses, on peut notamment s’en servir pour construire un agent conversationnel (chatbot), détecter des spams dans une messagerie, faire de la reconnaissance vocale ou encore l’intégrer dans les voitures autonomes.
Concrètement, il s’agit de situations où on dispose d’éléments déjà classés et on va chercher à classer un nouvel élément parmi les catégories définies en amont.
Apprentissage non supervisé
1. Fonctionnement
Par opposition à l’apprentissage supervisé, l’apprentissage non supervisé désigne une technique d’entraînement de modèle à partir de données non annotées. Il n’y a donc pas de réponse correcte attendue. Il s’agit plutôt d’en apprendre davantage sur les données analysées et d’en découvrir les structures sous-jacentes afin d’en extraire des groupes (clusters) ou des associations de données, c’est-à-dire identifier des ressemblances pertinentes ou bien des relations intéressantes à partir de ces données non structurées.
2. Types d’algorithmes utilisés
Pour développer un modèle d’apprentissage non supervisé, il existe divers algorithmes, comme les modèles de distribution, la classification hiérarchique, l’algorithme A‑priori, ou encore le K‑means clustering.
3. Exemples d’utilisation
L’apprentissage non supervisé peut par exemple être utilisé dans le domaine du marketing pour analyser les préférences ou les habitudes de consommation des utilisateurs en fonction de leur langue, leur âge ou leur profession. Il est aussi utilisé dans le domaine de la reconnaissance vocale pour apprendre les particularités vocales du propriétaire du téléphone, ou encore pour identifier une même personne sur l’ensemble des photos stockées dans l’appareil.
Concrètement, il s’agit de situations où on dispose d’éléments non classés et on cherche à les regrouper en classes en fonction d’un critère spécifique que le modèle devra identifier par lui-même.
Apprentissage par renforcement et apprentissage semi-supervisé
En Machine Learning, il existe aussi deux autres types d’apprentissages :
- l’apprentissage semi-supervisé,
- l’apprentissage par renforcement.
L’apprentissage semi-supervisé se situe à la frontière entre la supervision et l’absence de supervision : il s’agit de combiner des données annotées avec des données non annotées afin d’améliorer la qualité d’apprentissage d’un modèle. Ce type d’apprentissage est particulièrement bien adapté aux jeux de données volumineux puisque cela permet ainsi de réduire le temps d’annotation des données qui est une étape généralement très chronophage.
L’apprentissage par renforcement consiste quant à lui à découvrir des données à travers un processus de tentatives et d’erreurs puis à prendre des décisions de manière optimale en fonction des résultats obtenus, via un système de récompense. Ce système est notamment utilisé dans le domaine robotique ou bien dans le domaine ludique pour entraîner un modèle à jouer aux échecs ou au jeu de go.
Quel algorithme choisir ?
En Machine Learning, il existe plusieurs types d’apprentissages, mais aussi une grande diversité d’algorithmes pour réaliser des tâches très variées. Alors, comment choisir le bon ? En réalité, il n’y a pas d’algorithme considéré comme meilleur que les autres, il faut plutôt chercher le plus adapté à un besoin précis. Pour cela, il faut réunir les éléments suivants :
- • la taille du jeu de données,
- • le type de données à exploiter,
- • le type d’informations que l’on recherche,
- • la façon dont ces informations seront utilisées.
Une fois clairement identifiés, tous ces éléments permettront de définir le type d’apprentissage et l’algorithme les plus adaptés à la situation.
Machine Learning vs Deep Learning : quelles différences ?
Signification
Le vocabulaire qui gravite autour de l’intelligence artificielle est complexe pour un non-initié. Les termes de Machine Learning et Deep Learning peuvent notamment être confondus. Pourtant, même s’ils sont liés, ce sont bien deux notions différentes qui renvoient à des aspects techniques bien spécifiques.
Le Machine Learning (apprentissage automatique) est, comme nous l’avons vu précédemment, un sous-domaine de l’intelligence artificielle. Le Deep Learning (apprentissage profond) est quant à lui une branche du Machine Learning. Il s’agit de construire une structure complexe de réseaux neuronaux qui imite le processus d’apprentissage du cerveau humain afin de traiter des données non structurées.
Différences
Pour comprendre les différences entre Machine Learning et Deep Learning, voici un récapitulatif de leurs caractéristiques respectives.
Machine Learning
- branche de l’IA,
- apprentissage à partir de données en utilisant des algorithmes pour effectuer une tâche sans être explicitement programmé,
- interventions humaines pour corriger et apprendre,
- entraînement possible sur de petits jeux de données,
- entraînement assez court, faisable sur CPU.
Deep Learning
- branche du Machine Learning
- apprentissage par réseaux neurones, en passant les données à travers plusieurs couches de neurones
- apprentissage autonome à partir de l’environnement et des erreurs passées
- entraînement uniquement sur de très grands jeux de données
- entraînement très long, qui nécessite un GPU, voire un TPU
Conclusion
Le Machine Learning est aujourd’hui utilisé dans de nombreuses solutions de notre quotidien. Grâce aux multiples possibilités d’apprentissage et à la grande diversité d’algorithmes mis à disposition, les modèles sont capables de réaliser de nombreuses tâches, allant de la classification au regroupement de données, en passant par la prédiction de prix ou encore la suggestion de contenus personnalisés. C’est donc un véritable outil d’analyse prédictive indispensable pour mieux appréhender le monde qui nous entoure et donner de la valeur aux données dans tous les secteurs d’activités.