Le Machine Learning

Le Machine Learning

L’apprentissage automatique, ou machine learning pour les intimes, est constitué par l’ensemble des outils et méthodes permettant de développer des systèmes qui apprennent à exécuter des tâches à travers l’expérience.

Ils ont pour objectif d’analyser, prédire et généraliser à partir d’observations passées, sans l’intervention d’un opérateur humain.

Ils ont été conçus dans une optique différente des systèmes experts, où des règles bien précises sont implémentées à partir des connaissances des experts du domaine considéré. Assez complexes à mettre en place, ces systèmes experts sont souvent trop spécialisés et se destinent généralement à des usages restreints, sans compter que la compilation et le test des règles à appliquer peuvent vite devenir très complexes à implémenter et à maintenir.

Les algorithmes de machine learning prennent ainsi le relais pour automatiser les processus d’exploration et d’analyse, et apporter une vision différente de la donnée, en dégageant des règles automatiquement en minimisant l’effort humain en amont (il faut toutefois garder en tête que les règles ainsi dégagées ne sont pas forcément intuitives à interpréter, y compris pour un expert).

Leur grand avantage réside dans le fait que les machines sont plus aptes à optimiser et accélérer les processus à des échelles industrielles. L’attention de l’opérateur humain peut ainsi être focalisée sur des questions plus fondamentales.

Le machine learning trouve de plus en plus sa place dans la boîte à outils de ceux qui ont pour mission de transformer des données brutes en information utile. Ils peuvent en extraire de la connaissance de façon plus systématique, malgré les bruits générés par des afflux de données de plus en plus importants.

Et cette adoption à grande échelle, loin d’être un simple effet de mode, constitue bien une tendance de fond dans tous les métiers liés de près ou de loin à la donnée.

Nous sommes entrés dans une ère où les ressources technologiques pour récolter, regrouper, traiter et analyser des données en grande quantité sont très facilement accessibles. Il est possible dorénavant de tester et valider des modèles de plus en plus sophistiqués sur des ordinateurs portables grand public, fait inconcevable il y a encore quelques années à peine ! Encore mieux, ce matériel s’avère suffisant pour se classer parmi les meilleurs dans des compétitions internationales de machine learning, et concurrencer des laboratoires de recherche pointus, comme on peut le voir dans les challenges organisés régulièrement par un site comme kaggle.com.

Les usages actuels tournent plus ou moins autour des deux catégories suivantes :

  • Faire du data mining avancé, de l’analyse prédictive et/ou de l’identification de patterns à des échelles où l’intuition humaine est vite limitée.
  • Développer des applications intelligentes automatisées, comme des moteurs de recommandations, des applications de reconnaissance automatique de la parole, des algorithmes de navigation pour les robots…

La deuxième catégorie est souvent précédée de la première, puisqu’il faut avoir une bonne compréhension des données, et des dynamiques sous-jacentes, pour pouvoir choisir correctement les traitements et les algorithmes les plus adaptés.

Classification et Prédiction

Une multitude d’approches existe pour répondre aux nombreuses questions et situations auxquelles on peut faire face. On cherche généralement à classifier des objets ou à prédire les futures réalisations d’une mesure à partir d’un certain nombre d’observations.

Dans tous les cas, il y a toujours une phase d’apprentissage où l’algorithme parcourt l’ensemble des données, afin d’ajuster les paramètres qui le caractérisent, qui seront ensuite utilisés pour les prédictions.

Les cas de figure les plus usuels sont souvent dans l’une des tâches suivantes :

  • La classification : qui consiste à identifier les classes d’appartenance de nouveaux objets à partir d’exemples antérieurs connus.
  • La régression : qui prédit les valeurs possibles d’une ou plusieurs variables à partir des anciennes valeurs relevées.
  • Le clustering : qui cherche à regrouper des données par similarité, sans avoir d’information au préalable. Il s’agit d’ailleurs d’une forme de classification, la différence étant que les classes ne sont pas identifiées en amont, mais émergent à partir de l’exploration de la structure des données.

Les deux premières appartiennent à la famille des algorithmes d’apprentissage dit supervisé, où le but est de généraliser à partir de ce qu’on connaît déjà, tandis que le dernier cas entre dans la catégorie de l’apprentissage non-supervisé, où le but est plutôt de chercher à faire émerger de l’information qui n’était pas présente au départ.

Apprentissages supervisé et non-supervisé

Les méthodes d’apprentissage constituent le cœur du machine learning. Il s’agit de l’objectif principal, dont l’intérêt réside dans sa capacité à apprendre de façon efficace à partir des jeux de données à disposition. Il est primordial d’avoir des données correctement préparées, et les stratégies doivent être soigneusement considérées, sous peine d’obtenir des résultats qui n’ont aucune valeur scientifique ou pratique.

Dans l’apprentissage supervisé, on dispose déjà d’informations sur les données à partir d’observations et de mesures, et l’objectif pour le système consiste à identifier des règles implicites ou explicites pour pouvoir les appliquer à d’autres données, et en faire des prédictions. On peut par exemple essayer de prédire quels patients ont un risque élevé d’avoir un cancer à partir de leurs données démographiques et d’informations sur leur mode de vie et leur régime alimentaire, ou encore identifier les emails qui sont des spams à partir du contenu et des informations sur les expéditeurs, pour les isoler des emails légitimes.

Dans le cas non-supervisé, il faut se contenter de données brutes. Il faut simplement pouvoir définir des règles de comparaison et des classes de similarité. Les algorithmes cherchent ensuite à identifier les données qui forment des structures et/ou des groupes, en étant plus proches par exemple que ce qu’on attendrait de données distribuées aléatoirement. Cette approche devient non seulement intéressante, mais quasiment incontournable lorsqu’on essaye de classer des données qui se rangent naturellement dans un grand nombre de catégories. Il est inimaginable par exemple de devoir marquer à la main l’ensemble des catégories possibles pour un corpus de textes, ou l’ensemble des objets qui peuvent apparaître dans un groupe d’images de façon exhaustive. Les catégories possibles se comptant ici facilement en plusieurs milliers !

Un avenir prometteur

Les systèmes qui reposent sur du machine learning ne fonctionnent pas par magie, et des limites fondamentales existent quant à leurs capacités et ce qu’il est possible d’obtenir comme résultat. De plus leur implémentation requiert un certain savoir-faire, pour rendre les données exploitables par une machine.

Ils ont cependant largement montré leur intérêt et leur valeur, et c’est pour cette raison qu’on les retrouve de plus en plus dans notre quotidien, souvent de façon très transparente, et de nombreuses bibliothèques abaissent la barrière d’entrée et les rendent accessibles à un plus grand nombre d’utilisateurs.

Les usagers finaux de ces systèmes sont de plus en plus nombreux, très souvent sans même en avoir conscience. De nombreuses activités régulières profitent avantageusement du machine learning.

On peut parier sans prendre trop de risques que ces systèmes vont se développer encore plus et profiter des bonds technologiques, lorsque des groupes comme la NASA ou Google décident d’investir massivement dans des recherches encore jeunes mais prometteuses, comme le deep learning ou l’ordinateur quantique.

Le Machine Learning