Apprentissage automatique

Le domaine d’étude qui s’intéresse au développement d’algorithmes informatiques permettant de transformer des données en actions intelligentes est connu sous le nom d’apprentissage automatique.

Les origines

Les gouvernements, les entreprises et les particuliers recueillent et rapportent des informations, qu’elles soient gigantesques ou plus simples.

Ce qui rend l’ère actuelle unique, c’est que nous disposons de vastes quantités de données enregistrées, dont une grande partie est directement accessible par les ordinateurs. Des ensembles de données plus vastes et plus intéressants sont de plus en plus accessibles du bout des doigts, à la suite d’une simple recherche sur le web. Cette richesse d’informations a le potentiel d’informer l’action, à condition de trouver un moyen systématique de lui donner un sens.

http://www.morssglobalfinance.com/wp-content/uploads/2018/02/big-data-700x325.png

Fig. 2 L’abondance des données

Ce domaine a vu le jour dans un environnement où les données disponibles, les méthodes statistiques et la puissance de calcul ont évolué rapidement et simultanément.

La croissance du volume de données a nécessité une puissance de calcul supplémentaire, ce qui a stimulé le développement de méthodes statistiques pour l’analyse des données. le développement de méthodes statistiques pour l’analyse de grands ensembles de données.

Cela a créé un cycle d’avancement permettant de collecter des données encore plus grandes et plus intéressantes, et permettant l’environnement d’aujourd’hui dans lequel des flux infinis de données sont disponibles sur pratiquement n’importe quel sujet.

Les succès

L’apprentissage automatique est le plus efficace lorsqu’il complète, plutôt que de remplacer, les connaissances spécialisées d’un expert en la matière.

À ces fins, il est utilisée dans d’innombrables entreprises, laboratoires scientifiques, hôpitaux et organisations gouvernementales. Tout effort qui génère ou regroupe des données utilise probablement au moins un algorithme d’apprentissage automatique pour aider à leur donner un sens.

Quelques exemples

  • Identification des messages indésirables dans les courriers électroniques

  • Segmentation du comportement des clients pour la publicité ciblée

  • Prévisions du comportement météorologique et des changements climatiques à long terme

  • Réduction des transactions frauduleuses par carte de crédit

  • Estimation actuarielle des dommages financiers causés par les tempêtes et les catastrophes naturelles

  • Prévision des résultats des élections populaires

  • Développement d’algorithmes pour le pilotage automatique de drones et de voitures autonomes

  • Optimisation de la consommation d’énergie dans les maisons et les immeubles de bureaux

  • Projection des zones où les activités criminelles sont les plus probables

  • Découverte de séquences génétiques liées à des maladies

Les limites

Bien que l’apprentissage automatique soit largement utilisé et présente un potentiel énorme, il est important de comprendre ses limites. L’apprentissage automatique, à l’heure actuelle, émule un sous-ensemble relativement limité des capacités du cerveau humain.

Il offre peu de flexibilité pour extrapoler en dehors de paramètres stricts et ne connaît pas le bon sens. Dans cette optique, il faut être extrêmement attentif à reconnaître exactement ce qu’un algorithme a appris avant de le lâcher dans le monde réel.

Sans une vie entière d’expériences passées sur lesquelles s’appuyer, les ordinateurs sont également limités dans leur capacité à faire des déductions simples sur les prochaines étapes logiques. Prenez, par exemple, les bannières publicitaires que l’on voit sur de nombreux sites web. Des fois on se demande “pourquoi je reçois ce genre de pubs?”. D’autres fois, on est vraiment surpris de voir des pubs sur un produit qui nous intéresse vraiment.

L’éthique

À la base, l’apprentissage automatique est simplement un outil qui nous aide à donner un sens aux données complexes du monde. Comme tout outil, il peut être utilisé pour le bien ou le mal.

Là où l’apprentissage automatique tourne mal, c’est lorsqu’il est appliqué de manière si large, ou si impitoyable, que les humains sont traités comme des rats de laboratoire, des automates ou des consommateurs sans cervelle.

Un processus qui peut sembler inoffensif peut avoir des conséquences inattendues lorsqu’il est automatisé par un ordinateur sans émotions.

Pour cette raison, ceux qui utilisent l’apprentissage automatique ou l’exploration de données seraient négligents s’ils ne considéraient pas au moins brièvement les implications éthiques de cet art.

En raison de la nouveauté relative de l’apprentissage automatique en tant que discipline et de la vitesse à laquelle cela progresse, les questions juridiques et les normes sociales associées sont souvent assez incertaines et en constante évolution.

Il convient de faire preuve de prudence lors de l’obtention ou de l’analyse de données afin d’éviter d’enfreindre les lois, de violer les conditions de service ou les accords d’utilisation des données, d’abuser de la confiance ou de violer la vie privée des clients ou du public.

Comment les machines apprennent

Selon une définition formelle de l’apprentissage automatique attribuée à l’informaticien Tom M. Mitchell, une machine apprend chaque fois qu’elle est capable d’utiliser son expérience de manière à améliorer ses performances lors d’expériences similaires à l’avenir.

Bien que cette définition soit intuitive, elle ignore complètement la manière exacte dont l’expérience peut être traduite en action future.

Alors que les cerveaux humains sont naturellement capables d’apprendre dès la naissance, les conditions nécessaires à l’apprentissage des ordinateurs doivent être explicitées.

C’est pourquoi, bien qu’il ne soit pas strictement nécessaire de comprendre les bases théoriques de l’apprentissage, ces bases nous aident à comprendre, distinguer et mettre en œuvre les algorithmes d’apprentissage automatique.

En pratique

Jusqu’à présent, nous nous sommes concentrés sur le fonctionnement théorique de l’apprentissage automatique. Pour appliquer le processus d’apprentissage à des tâches réelles, nous allons utiliser un processus en cinq étapes. Indépendamment de la tâche, tout algorithme d’apprentissage automatique peut être déployé en suivant ces étapes :

Collecte de données :

L’étape de collecte des données consiste à rassembler le matériel d’apprentissage qu’un algorithme utilisera pour générer des connaissances exploitables. Dans la plupart des cas, les données devront être combinées en une seule source, telle qu’un fichier texte, une feuille de calcul ou une base de données.

Exploration et préparation des données :

La qualité de tout projet d’apprentissage automatique repose en grande partie sur la qualité de ses données d’entrée. Ainsi, il est important d’en apprendre davantage sur les données et leurs nuances au cours d’une pratique appelée exploration des données. Un travail supplémentaire est nécessaire pour préparer les données au processus d’apprentissage. Il s’agit de corriger ou de nettoyer les données dites “désordonnées”, d’éliminer les données inutiles et de coder à nouveau les données pour qu’elles soient conformes.

Entraînement du modèle :

Au moment où les données ont été préparées pour l’analyse, vous avez probablement une idée de ce que vous êtes capable d’apprendre à partir des données. La tâche spécifique d’apprentissage automatique choisie guidera la sélection d’un algorithme approprié, et l’algorithme représentera les données sous la forme d’un modèle.

L’évaluation du modèle :

Chaque modèle d’apprentissage automatique aboutit à une solution biaisée au problème d’apprentissage, ce qui signifie qu’il est important d’évaluer dans quelle mesure l’algorithme a appris de son expérience. Selon le type de modèle utilisé, vous pourrez peut-être évaluer la précision du modèle à l’aide d’un ensemble de données de test, ou vous devrez peut-être développer des mesures de performance spécifiques à l’application souhaitée.

Amélioration du modèle :

Si de meilleures performances sont nécessaires, il faut utiliser des stratégies plus avancées pour augmenter les performances du modèle. Il peut parfois s’avérer nécessaire de passer à un autre type de modèle. Il peut être nécessaire de compléter vos données par des données supplémentaires ou effectuer un travail préparatoire supplémentaire, comme dans la deuxième étape de ce processus.

Une fois ces étapes terminées, si le modèle semble bien fonctionner, il peut être déployé.