Machine Learning : retour aux sources

Le Machine Learning est la grande promesse du moment. De la prédiction à l’optimisation, du diagnostic de maladies aux voitures autonomes, son utilisation permet de capitaliser sur les flux de données. À quelles conditions ? Avec quelles limites ? Explications.

Machine Learning : entre Homme et Machine

Le Machine Learning, sous-domaine de l’Intelligence Artificielle, est l’ensemble des techniques qui fournit la capacité d’apprentissage à un Système Informatique. Depuis ses débuts, l’Intelligence Artificielle cherche à se rapprocher au maximum de l’être humain. L’avancée technologique dans ce domaine n’a jamais d’ailleurs autant inquiété la population, rappelant les scénarios catastrophes énoncés dans la littérature ou dans les films. Pour autant, l’Intelligence Artificielle à proprement parler n’est pas à craindre directement, c’est le degré d’autonomie concédé aux machines dont il faut se méfier. Avec le Machine Learning, ou Apprentissage Machine en français, ou même encore Apprentissage Autonome, c’est l’apprentissage humain que l’on cherche à imiter.

La nature a toujours fourni une source infinie d’inspiration pour l’innovation. Du plus simple, avec le « velcro », au plus complexe avec la forme caractéristique du Shinkansen (TGV japonais), inspiré du martin-pêcheur afin de réduire le bruit et l’énergie. Alors, quoi de mieux que d’utiliser notre propre système d’apprentissage pour procurer la même capacité aux programmes informatiques ? Ainsi, un programme peut être capable de distinguer une télévision d’un téléphone. Tel un humain, en présentant un certain nombre d’images de ces deux objets, le système apprend et établit une règle. Grâce à cette dernière, il peut par la suite répondre directement, dès l’arrivée d’une nouvelle image, si celle-ci représente une télévision ou un téléphone. Attention aux raccourcis : le programme n’est pas pour autant capable d’apprendre tout dès sa mise en action. L’apprentissage réalisé est précis et sur une tâche bien définie.

Deux Systèmes pour une liberté de penser

En Machine Learning, le Système créé possède une aptitude d’apprentissage ainsi qu’une capacité de réponse rapide et avérée aux problèmes qui lui sont présentés. Cela est très proche du concept de nos deux modes de pensée.

En effet, notre cerveau possède deux systèmes de pensée : le Système 1 et le Système 2. Démontrée par les psychologues comportementalistes, l’existence de ces deux Systèmes gère notre manière de traiter l’information. Le Système 1 est rapide et intuitif. Basé sur notre expérience, il permet des réponses intuitives aux problèmes qui nous sont posés. Le Système 2, quant à lui, est plus lent et nécessite plus d’efforts mais s’avère aussi plus logique et réfléchi. C’est à l’aide du Système 2 que nous apprenons. Une fois l’apprentissage terminé de manière plus ou moins longue, il est possible alors de traiter le problème instinctivement en utilisant notre Système 1. C’est ce même mécanisme qui est reproduit en Machine Learning. Le Système 2, pour une machine, est la phase d’apprentissage réalisée à l’aide d’algorithmes. Ces algorithmes permettent de tirer profit des données qui lui sont présentées. Le résultat de l’algorithme fournit une fonction, aussi appelée règle ou encore modèle. C’est ce modèle obtenu qui représente le Système 1 de pensée. Désormais, le programme est capable de fournir un résultat rapide sur la question posée. Cependant, en comparaison avec le Système Humain, celui-ci présente l’avantage de ne pas être soumis aux émotions pouvant nous induire en erreur.

Le Machine Learning dans tous ses états

Un concept simple à mettre dans toutes les poches

Le Machine Learning est l’ensemble des outils fournissant à un programme informatique la fonctionnalité d’apprentissage. Comme défini par Tom Mitchell, auteur de « The Discipline of Machine Learning », un système de Machine Learning est un programme informatique qui apprend à partir de l’expérience dans le but de résoudre une certaine tâche. La performance de résolution s’améliorant avec l’expérience. Trois notions régissent le concept d’apprentissage pour une machine dans cette définition :

  • L’expérience : qui correspond aux données en notre possession.
  • La tâche : qui correspond à ce que l’on cherche à résoudre. On peut la voir comme le but du programme. Reconnaitre une télévision et un téléphone est une tâche. Prédire les ventes d’un magasin, prédire le stock nécessaire ou encore savoir qui sont ses clients sont d’autres exemples.
  • La performance : qui correspond à la véracité des résultats. L’optimisation de la performance se fait en améliorant le modèle. Pour cela on modifie l’algorithme utilisé, on change les paramètres et on acquiert plus d’expérience.

3 modes d’apprentissage

Les données à disposition peuvent avoir différentes formes. Pour récupérer au mieux les informations, il existe trois principaux types d’apprentissage :

Apprentissage supervisé : L’apprentissage supervisé est un apprentissage se faisant avec des données étiquetées. En clair, les données possèdent un attribut spécifiant le résultat que l’on cherche à résoudre. Pour chaque donnée, le résultat est connu. Par exemple, avec un jeu d’images de télévision et de téléphone, l’algorithme sait pour chacune de ces images si c’est une télévision ou un téléphone. L’apprentissage supervisé est utilisé notamment pour des problèmes de classification ainsi que de régression.

Apprentissage non-supervisé : Cette fois-ci, les données en notre possession sont non étiquetées. On ne sait pas si les mails sont des spams ou non. Les algorithmes sont chargés par eux-mêmes de trouver des correspondances entre les données et les attributs. Ce type d’apprentissage est généralement utilisé pour réaliser des groupes.

Apprentissage semi-supervisé : L’apprentissage semi-supervisé est facile à comprendre puisque c’est un mélange des deux apprentissages précédents. Les données d’apprentissage utilisées sont donc, pour certaines, étiquetées, d’autres non étiquetées. Par analogie avec l’être humain, lorsque celui-ci apprend, il ne connait pas toujours le résultat. C’est alors à lui de mettre en relation ce qu’il sait et ce qu’il ignore.

De l’algorithme au modèle

Le modèle, ou règle, est la fonction qui « résout » la tâche que le programme cherche à réaliser. Sa définition se fait à l’aide d’algorithmes. L’ordinateur cherche de lui-même le modèle qui déchiffre la tâche demandée en utilisant les données qui sont à sa disposition. Heureusement pour les Data Scientists et développeurs de Machine Learning, il n’est nullement besoin de trouver et développer soi-même ces algorithmes. Ces derniers sont issus du monde des statistiques. À charge alors de comprendre leur fonctionnement, afin de les utiliser de la meilleure manière. Certains étant spécialisés dans la prédiction, d’autres dans le clustering (regroupement des données en groupes) et d’autres encore dans la classification.

Le modèle est l’aboutissement d’un Système de Machine Learning. En effet, c’est lui qui contient la « formule » finale de résolution. Une fois le modèle défini, il est alors possible de donner un résultat sur de nouvelles données entrantes. Ce modèle est loin d’être statique puisqu’il peut continuer son apprentissage à l’aide de ces nouvelles données.

Par exemple, une boite mail, qui souhaite déterminer si un mail est un spam ou non, contient généralement un modèle issu du Machine Learning. Il correspond à la fonction, qui, à l’aide des attributs (nombre de mots, objet du mail, expéditeur, vocabulaire, etc), donne un résultat (spam ou non) sur chaque mail reçu.

Sur le graphique ci-dessous est représenté ce modèle sous forme de droite (ligne verte) séparant nettement les mails spam et les non spam. On peut toutefois observer certains éléments situés du mauvais côté de la fonction. En effet, un modèle parfait n’existe pas. Le but de l’algorithme est de trouver le meilleur modèle avec le taux de réussite le plus élevé.

Figure 2 : Classement et modèle d’un apprentissage pour la classification de mail en spam ou non spam

7 cas d’usage du Machine Learning en Entreprise

Les tâches pouvant être résolues par le Machine Learning touchent un grand nombre d’applications. Comme le cite l’étude « The age of analytics : competing in a Data-Driven world » réalisée par le cabinet McKinsey, on peut les regrouper en plusieurs catégories. Chacune pouvant se recouper, s’associer et se compléter.

  • Allocation de ressources : l’optimisation des ressources a toujours été un enjeu capital pour les entreprises. Une sur-allocation engendre une efficacité moins importante et une sous-allocation provoque une surcharge d’activité.
  • Découverte de nouvelles tendances : savoir anticiper les nouvelles tendances permet de prendre une longueur d’avance sur ses concurrents. Parfois, les tendances sont invisibles pour l’Homme. En revanche la machine est capable de tirer des informations et signaux, qu’ils soient faibles ou forts.
  • Analyse prédictive : c’est une Analyse permettant de réagir et d’éviter qu’un événement se produise. Par exemple, en évaluant le risque de départ à la concurrence (churn) d’un Client ou encore en évaluant le risque financier associé à un Client (risk scoring).
  • Hyperpersonnalisation : connaître ses Clients c’est leur offrir un service qui correspond à leurs besoins. Il est ainsi possible de proposer des produits en adéquation avec ces derniers ou encore de faire de la publicité ciblée.
  • Optimisation (prix-produits) : optimiser le marketing, optimiser une recherche clinique (cas, patients, investissement), optimiser dans un magasin les assortiments des produits pour maximiser les ventes.
  • Prévisions : prédire les événements qui vont toujours faire rêver les Hommes. Prédire la météo, prédire le nombre de ventes du mois ou encore les futurs cours du CAC 40, toutes ces réalisations sont possibles avec le Machine Learning.
  • Conversion de données non structurées : dans le cas d’une voiture autonome, les données sont récupérées en temps réel et sont non structurées. Le Machine Learning offre un moyen de mettre à profit cette quantité de données disponibles.

Le Machine Learning, un cycle en 5 phases

Le Machine Learning n’est pas le résultat du modèle ou bien le modèle lui-même. C’est l’ensemble de la chaîne qui définit le Machine Learning. Cette chaîne se divise en cinq phases que l’on peut résumer comme suit :

  • Acquisition des données : la possession de données historiques est la source de tout apprentissage. De plus, plus la quantité est élevée, meilleur sera l’apprentissage. Il est nécessaire de recueillir un maximum de données au même endroit. Qu’elles proviennent de sources embarquées, du web ou de services internes, toutes les données sont les bienvenues.
  • Nettoyage, Préparation, Manipulation des données : les données ont besoin d’une retouche avant d’être utilisées. En effet, certains attributs sont inutiles, d’autre doivent être modifiés afin d’être compris par l’algorithme et enfin, certains éléments sont inutilisables car leurs données sont incomplètes. Plusieurs techniques telles que la Data Visualisation, la Data Transformation ou encore la Normalisation permettent de gérer cette problématique.
  • Création du modèle : une fois les données clarifiées, un ou plusieurs modèles sont créés à l’aide d’algorithmes de Machine Learning.
  • Évaluation: une fois le modèle réalisé, il faut l’évaluer pour prouver son efficacité et sa performance. En utilisant un second jeu de données, on identifie la précision du modèle et on répète l’étape 3 et 4 jusqu’à l’obtention de la meilleure performance.
  • Déploiement : la dernière étape est la mise en production du modèle. Il est désormais possible de l’utiliser pour les nouvelles données entrantes. Le Système est itératif puisque ces nouvelles données sont réutilisées par l’algorithme pour améliorer le modèle. Le système est en perpétuel évolution et amélioration.

Aller plus loin

Auteur : Pierre-Alexis Boccard

Chef de projet Intégration