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.
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.