Le machine learning décrypté – 2/3 : Fonctionnement
Comme on l’a vu, le machine learning s’est d’abord fait remarquer par sa capacité à « apprendre » à jouer à des jeux. Mais aujourd’hui, il intervient dans des domaines professionnels variés, à commencer par les chatbots d’entreprise.
Si ces applications semblent très différentes à première vue, elles reposent en réalité sur le même fonctionnement. Qui s’appuie sur les quatre constituants du machine learning : données, tâche, algorithme et performance.
Les données
Le principe du machine learning est d’étudier un jeu de données, pour déduire des règles qu’il appliquera sur de nouveaux éléments. Par conséquent, les données de départ jouent un rôle capital. Sur ce point, le comportement de la machine se rapproche de l’humain. En effet, nous sommes capables de reconnaître la couleur jaune parce que nous avons pu observer plusieurs objets identifiés comme tels.
Parmi les différentes sortes de données possibles, citons notamment :
- Les corpus de texte, pouvant par exemple être écrits en langage naturel ou de programmation
- Les bases de données, sous différents formats, pouvant comprendre les produits d’un site, des informations sur le trafic web…
- Les banques d’images
Mais quelle que soit la nature du jeu de données d’entraînement, la clé réside dans sa richesse. Plus les données à l’entrée seront représentatives du champ à étudier, plus l’algorithme pourra être pertinent sur la tâche à accomplir.
La tâche à réaliser
Car c’est un enjeu primordial : le machine learning n’est pas une solution magique, capable de tout effectuer. Au contraire, l’apprentissage automatique doit être utilisé en fonction d’un problème spécifique à résoudre.
Et les possibilités sont multiples. La machine pourra, par exemple, apprendre à reconnaître un objet parmi une série d’images, ou un mot dans une collection de textes. Ou proposer des suggestions de films, à partir des préférences exprimées par des utilisateurs. Ou encore effectuer des prédictions quant au meilleur prix à pratiquer pour optimiser des ventes, en fonction des données clients.
De ce choix dépendra la sélection des données d’entraînement. Mais aussi celle de l’algorithme d’apprentissage.
L’algorithme d’apprentissage
On aborde alors la mécanique interne du machine learning, qui est également sa partie la plus complexe. Notre objectif n’est pas ici de vous détailler l’ensemble des algorithmes, qui font appel à des notions mathématiques avancées. Mais voici quelques-uns des noms que vous pourrez trouver si vous vous intéressez de plus près à ce domaine :
- Les SVM (Support Vector Machine), ou machines à vecteur de support
- La méthode des k plus proches voisins, ou k-NN
- L’apprentissage par arbre de décision
- La régression linéaire et non linéaire
- Les réseaux de neurones (sur lesquels nous reviendrons dans un autre article)
Quoi qu’il en soit, notez qu’aucun algorithme n’est en soi supérieur à un autre. Chacun peut en réalité s’avérer plus ou moins utile en fonction de la tâche prévue et du jeu de données d’entraînement.
La performance et l’analyse d’erreurs
Si l’apprentissage initial est primordial pour le machine learning, il n’est généralement pas suffisant. C’est pourquoi le programme continue d’apprendre pendant sa durée de vie. Dans le cas d’un chatbot, l’outil s’améliorera ainsi au fur et à mesure des échanges avec les utilisateurs.
Par conséquent, il convient d’associer au programme de machine learning une mesure de sa performance, ainsi que des erreurs commises. Par exemple, pour un outil de détection de spam, il s’agira d’une part de recenser le nombre de mails considérés comme indésirables. Mais également de prendre en compte les faux positifs, c’est-à-dire les messages classés en spam, alors qu’ils étaient légitimes.
En définitive, le machine learning utilise un algorithme d’apprentissage pour étudier des données d’entraînement, dans le but d’accomplir une tâche spécifique. Et s’améliore ensuite via l’analyse de ses performances.
Dans une troisième partie, nous allons revenir plus en détail sur l’apprentissage, et évoquer les limites inhérentes au machine learning.