Les concepts de machine learning ne sont pas nécessairement faciles à comprendre pour le commun des mortels. Cependant, avec l’impact des technologies d’intelligence artificielle dans la vie personnelle et la vie professionnelle, nous nous posons de plus en plus de questions quant au fonctionnement du Machine Learning. Qu’est-ce qui se cache derrière ce terme anglo-saxon ? Est-ce que c’est la même chose que l’intelligence artificielle ? Est-ce que ça a un rapport avec le Big Data ? Est-ce que cela signifie que les machines vont contrôler monde dans le futur ? Est-ce que le machine learning est utilisé dans les entreprises aujourd’hui où s’agit-il seulement d’un scénario de science-fiction ? Voici quelques explications pour vous aider à y voir plus clair.
Commençons avec une définition afin de savoir de quoi nous parlons. Pour le dire simplement, les algorithmes de machine learning sont des algorithmes qui apprennent (et qui, souvent, prédisent) des modèles à partir de larges bases de données. Ainsi, au lieu de formaliser des règles manuellement, un algorithme de machine learning va apprendre le modèle grâce aux données brutes que vous lui fournissez.
Illustrons tout cela avec un exemple. Disons que vous êtes intéressé pour mettre en place un outil qui pourrait filtrer les spams que vous recevez dans votre boite mail. L’approche la plus conservative serait probablement de laisser une personne trier ces emails manuellement. Maintenant, l’approche "traditionnelle" d’un programmeur serait de regarder de quels types d’emails il s’agit, d’utiliser un outil de reconnaissance de schémas et de construire une suite de règles, comme : "si cet email contient l’expression X, déplace le dans la boîte pour les Spams, sinon si l’email contient l’expression Y etc".
Maintenant, les algorithmes de machine learning vous aident à formuler ces règles. Ou en d’autres mots, les algorithmes de machine learning vont analyser une base de données d’emails déjà triés et étiquetés (en "spam" et "non-spam") et créer des règles pour pouvoir séparer les nouveaux emails selon ces deux "étiquettes". C’est le principe du machine learning.
Tout d’abord, le terme "Data Science" est assez ambigu. C’est un terme relativement mal défini et il concerne plusieurs disciplines. C’est pour cela que tout le monde ne le comprend pas de la même façon et ne parlent pas de la même chose lorsqu’ils l’utilisent. Vous êtes prévenu.
Si on veut une définition générale, on peut dire que la Data Science est une discipline par laquelle on peut acquérir des connaissances grâce à l’analyse de bases de données. Les compétences de base d’un data scientist sont : la programmation, la connaissance du matériel informatique, l’algèbre linéaire, les statistiques, la visualisation et la présentation de données.
La Data Science n’est pas un synonyme de Machine Learning. Le Machine Learning se réfère à l’utilisation et au développement des algorithmes d’apprentissage, la Data Science se réfère à l’extraction de la connaissance à partir des données afin de répondre à des questions particulières ou pour solutionner des problèmes spécifiques.
Le Machine Learning est souvent une sous-partie d’un projet de Data Science. Ainsi, on l’utilise souvent pour des analyses exploratoires et pour découvrir, puis construire des modèles prédictifs (qu’on appelle des "supervised learning algorithms"). Cependant, en Data Science, vous avez souvent des problématiques de collecte et de formatage des données (qu’on regroupe sous la discipline de "data engineering"). Ce n’est qu’après cette première phase que vous chercherez à tirer des conclusions depuis l’analyse de votre base de données (et ce, éventuellement grâce à l’utilisation d’algorithmes de machine learning).
Il existe des tonnes d’exemples et de projets de "Data Science". Supposons que vous travaillez pour une agence de crédits bancaires. Votre manager vous demande de déterminer si on peut accorder un prêt à un client ou non. Vous collectez des données de transactions, des notes que le client a reçues et probablement d’autres types de données. Ensuite, vous allez probablement utiliser un algorithme de machine learning pour construire un modèle prédictif. Vous devez fournir un échantillon assez grand de données concernant les transactions et les notes de plusieurs clients mais également la décision qui a été prise concernant l’acceptation ou le refus d’un crédit bancaire. L’algorithme se chargera d’établir des relations entre les transactions, les notes et la décision … puis établira un modèle prédictif.
Maintenant, il est temps de voir l’impact du Machine Learning dans la vie réelle.
Analyser des données pour identifier des tendances et apprendre des choses n’a rien de nouveau. En 1854, le physicien John Snow a réfuté l’idée que l’épidémie de choléra à Londres était due à l’air ambiant. Pour prouver son hypothèse, il a localisé les patients atteints sur une carte. Ce large échantillon de données a montré qu’une source d’eau à Broad Street était la source de la maladie. John a cependant passé plusieurs mois à analyser ces données et à tirer des conclusions. Si l’échantillon avait été 100 fois plus grand, il n’aurait probablement jamais eu le temps de conduire ces analyses. Un algorithme de machine learning peut le faire en quelques minutes.
"Comprendre" est une notion difficile à appliquer ici. Le degré d’intelligence ou de conscience que pourrait atteindre une machine a souvent été le sujet de films et de livres de science-fiction. La définition du dictionnaire pour l’intelligence artificielle est "Donner aux machines la possibilité d’être comme si elles avaient une intelligence humaine". Un trait de cette intelligence serait certainement la possibilité de reconnaître des objets qui apparaissent sur une image particulière (ce que les machines font assez bien) où comprendre la signification de tous les mots du dictionnaire.
En réalité, c’est déjà le cas. La discipline qu’on appelle "natural language processing" apprend aux machines à lire et identifier des mots dans une phrase et à comprendre comment ils sont reliés les uns aux autres. Comment la machine apprend ? En lisant des tonnes et des tonnes de phrases et en identifiant des schémas communs. Du Machine Learning donc !