Apprentissage automatique

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

L'apprentissage automatique (machine-learning en anglais) est une discipline scientifique, qui est aussi l'un des champs d'étude de l'intelligence artificielle.

L'apprentissage automatique fait référence au développement, à l'analyse et à l'implémentation de méthodes qui permettent à une machine (au sens large) d'évoluer grâce à un processus d'apprentissage, et ainsi de remplir des tâches qu'il est difficile ou impossible de remplir par des moyens algorithmiques plus classiques.

Des systèmes complexes peuvent être analysés, y compris pour des données associées à des valeurs symboliques (ex : non pas un nombre, mais une probabilité ou un intervalle de définition sur un attribut numérique) ou un ensemble de modalités possibles sur un attribut de valeur (numérique) ou catégoriel. L'analyse peut même concerner des données présentées sous forme de graphes ou d'arbres ou encore de courbes (par exemple courbe d'évolution temporelle d'une mesure ; on parle alors de données continues, par opposition aux données discrètes associées à des attributs-valeurs classiques).

Le premier stade de l'analyse est celui de la classification, qui vise à « étiqueter » chaque donnée en l'associant à une classe. Différents systèmes d'apprentissage existent, listés ci-dessous.

Principes

Les algorithmes utilisés permettent - dans une certaine mesure - à un système piloté par ordinateurs (un robot éventuellement), ou assisté par ordinateur d'adapter ses analyses, et comportements en réponse en se fondant sur l'analyse de données empiriques provenant d'une base de donnée ou de capteurs.

La difficulté réside dans le fait que l'ensemble de tous les comportements possibles compte tenu de toutes les entrées possibles devient rapidement trop complexes à décrire dans les langages de programmation disponibles, de sorte qu'on confie en quelque sorte à des programmes le soin d'apprendre de manière à auto-méliorer le système d'analyse ou de réponse (commande adaptative...), ce qui est une des formes que peut prendre l'intelligence artificielle

Ces programmes, selon leur degré de perfectionnement intègrent des capacités en probabilités et statistiques, traitement de données et éventuellement d'analyse de données issues de capteurs, de reconnaissance (reconnaissance vocale, reconnaissance de forme, d'écriture, etc.), de data-mining et d'informatique théorique.

Applications

L'apprentissage automatique est utilisé pour doter des machines de systèmes de perception de leur environnement (vision et reconnaissance d'objets, de visages, de schémas, etc. par ordinateur, reconnaissance des langages naturels, de l'écriture, reconnaissance de formes syntaxiques, moteurs de recherche, aide au diagnostic médical, bio-informatique, Chémoinformatique, interfaces cerveau-machine, détection de fraudes à la carte de crédit, Analyse financière, dont analyse du marché boursier, classification des séquences d'ADN, jeu, génie logiciel, sites Web adaptatifs ou mieux adaptés, locomotion de robots, etc.

Exemples :

  • Un système d'apprentissage automatique peut permettre à un robot, ayant la capacité de bouger ses membres mais ne sachant initialement rien de la coordination des mouvements permettant la marche, d'apprendre à marcher. Le robot commencera par effectuer des mouvements aléatoires, puis, en sélectionnant et privilégiant les mouvements lui permettant d'avancer, mettra peu à peu en place une marche de plus en plus efficace.
  • La reconnaissance de caractères manuscrits est une tâche complexe car deux caractères similaires ne sont jamais exactement égaux. On peut concevoir un système d'apprentissage automatique qui apprend à reconnaître des caractères en observant des « exemples », c'est-à-dire des caractères connus.

Types d'apprentissage

Les algorithmes d'apprentissage peuvent se catégoriser selon le mode d'apprentissage qu'ils emploient :

  • L'apprentissage supervisé  : Si les classes sont prédéterminées et les exemples connus, le système apprend à classer selon un modèle de classement ; on parle alors d'apprentissage supervisé (ou d'analyse discriminante). Un expert (ou oracle) doit préalablement correctement étiqueter des exemples. L' « apprenant » peut alors trouver ou approximer la fonction qui permet d'affecter la bonne « étiquette » à ces exemples. Parfois il est préférable d'associer une donnée non pas à une classe unique, mais une probabilité d'appartenance à chacune des classes prédéterminées (on parle alors d'apprentissage supervisé probabiliste).

Ex : L'analyse discriminante linéaire ou les SVM sont des exemples typiques. Autre exemple : en fonction de points communs détectés avec les symptômes d'autres patients connus (les « exemples »), le système peut catégoriser de nouveaux patients au vu de leurs analyses médicales en risque estimé (probabilité) de développer telle ou telle maladie.

  • L'apprentissage non-supervisé (ou classification automatique) : Quand le système ou l'opérateur ne disposent que d'exemples, mais non d'étiquettes, et que le nombre de classe et leur nature n'ont pas été prédéterminés, on parle d'apprentissage non supervisé ou clustering. Aucun expert n'est disponible ni requis. L'algorithme doit découvrir par lui-même la structure plus ou moins cachée des données. Le clustering est un algorithme d'apprentissage non supervisé. Le système doit ici -dans l'espace de description (la somme des données) - cibler les données selon leurs attributs disponibles, pour les classer en groupe homogènes d'exemples. La similarité est généralement calculée selon la fonction de distance entre paires d'exemples. C'est ensuite à l'opérateur d'associer ou déduire du sens pour chaque groupe et pour les patterns d' apparition des groupes ou groupes de groupes dans leur « espace ». Divers outils mathématiques et logiciels peuvent l'aider. On parle aussi d'analyse des données en régression. Si l'approche est probabiliste (c'est à dire que chaque exemple au lieu d'être classé dans une seule classe est associé aux probabilité d'appartenir à chacune des classes), on parle alors de « soft clustering » (par opposition au « hard clustering »). Cette méthode est souvent source de sérendipité.

Ex : Un épidémiologiste pourrait par exemple dans un ensemble assez large de victimes de cancers du foie tenter de faire émerger des hypothèse explicatives, l'ordinateur pourrait différentier différents groupes, qu'on pourrait ensuite associer par exemple à leur provenance géographique, génétique, à l'alcoolisme ou à l'exposition à un métal lourd ou à une toxine telle que l'aflatoxine.

  • L'apprentissage semi-supervisé  ; Effectué de manière probabiliste ou non, il vise à faire apparaitre la distribution sous-jacente des « exemples » dans leur espace de description. Il est mis en oeuvre quand des données (ou « étiquettes ») manquent... Le modèle doit utiliser des exemples non-étiquetés pouvant néanmoins renseigner.

Ex : En médecine, il peut constituer une aide au diagnostic ou au choix des moyens les moins onéreux de tests de diagnostics.

  • L'apprentissage partiellement supervisé (probabiliste ou non) ; Quand l'étiquetage des données est partiel . C'est le cas quand un modèle énonce qu'une donnée n'appartient pas à une classe A, mais peut-être à une classe B ou C (A, B et C étant 3 maladies par exemple évoquées dans le cadre d'un diagnostic différentiel).

  • L'apprentissage par renforcement  : l'algorithme apprend un comportement étant donné une observation. L'action de l'algorithme sur l'environnement produit une valeur de retour qui guide l'algorithme d'apprentissage.

Ex : L'algorithme de Q-learning est un exemple classique.

Les algorithmes utilisés

Ce sont dans ce domaine :

Ces méthodes sont souvent combinées pour obtenir diverses variantes d'apprentissage. L'utilisation de tel ou tel algorithme dépend fortement de la tâche à résoudre (classification, estimation de valeurs, etc.).
L'apprentissage automatique est utilisé pour un large spectre d'applications :

Facteurs de pertinence et d'efficacité

La qualité de l'apprentissage et de l'analyse dépendent du besoin en amont et a priori compétence de l'opérateur pour préparer l'analyse. Elle dépend aussi de la complexité du modèle (spécifique ou généraliste) et de son adaptation au sujet à traiter. In fine, la qualité du travail dépendra aussi du mode (de mise en évidence visuelle) des résultats pour l'utilisateur final (un résultat pertinent pourrait être caché dans un schéma trop complexe, ou mal mis en évidence par une représentation graphiqe inappropriée).

Avant cela, la qualité du travail dépendra de facteurs initiaux contraignants, liées à la base de données :

  1. Nombre d' exemples (moins il y en a plus l'analyse est difficile, mais plus il y en a plus le besoin de mémoire informatique est élevé et plus longue est l'analyse)
  2. Nombre et qualité des attributs décrivant ces exemples (La distance entre deux "exemples" numériques (prix, taille, poids, intensité lumineuse, intensité de bruit, etc) est facile à établir, celle entre deux attributs catégoriels (couleur, beauté, utilité, est plus délicate )
  3. Pourcentage de données renseignées et manquantes
  4. « Bruit » ; Le nombre et la « localisation » des valeurs douteuses (erreurs) ou naturellement non-conformes au pattern de distribution générale des « exemples » sur leur espace de distribution impacteront sur la qualité de l'analyse.

Prospective

Il est tentant de s'inspirer des êtres vivants pour concevoir des machines capables d'apprendre.
Ainsi, même si l'apprentissage automatique est encore avant tout un sous-domaine de l'informatique, il est également intimement lié aux sciences cognitives, aux neurosciences, à la biologie et à la psychologie qui pourraient dans le domaine des NBIC aboutir à des systèmes d'intelligences artificielle plus performants.