- Apprentissage automatique
-
L'apprentissage automatique (machine learning en anglais), un des champs d'étude de l'intelligence artificielle, est la discipline scientifique concernée par le développement, l'analyse et l'implémentation de méthodes automatisables 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: sur un attribut numérique, non pas simplement une valeur numérique, juste un nombre, mais une valeur probabilisée, c'est-à-dire un nombre assorti d'une probabilité ou associé à un intervalle de confiance) ou un ensemble de modalités possibles sur un attribut 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, la 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.
Sommaire
Principes
Les algorithmes utilisés permettent, dans une certaine mesure, à un système piloté par ordinateur (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ées 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 complexe à décrire (on parle d'explosion combinatoire) dans les langages de programmation disponibles. On confie donc à des programmes le soin d'ajuster un modèle permettant de simplifier cette complexité et de l'utiliser de manière opérationnelle. De plus, ce modèle est adaptatif, de façon à prendre en compte l'évolution de la base des informations pour lesquelles les comportement en réponse ont été validés, ce que l'on appelle apprendre ; ceci permet d'auto-amé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 éventuellement des capacités de traitement probabiliste des données, d'analyse de données issues de capteurs, de reconnaissance (reconnaissance vocale, reconnaissance de forme, d'écriture, etc.), de data-mining, d'informatique théorique, etc.
Applications
L'apprentissage automatique est utilisé pour doter des ordinateurs ou des machines de systèmes de : perception de leur environnement : vision, reconnaissance d'objets (visages, schémas, langages naturels, écriture, formes syntaxiques, etc.) ; moteurs de recherche ; aide aux diagnostics, médical notamment, 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 classes et leur nature n'ont pas été prédéterminés, on parle d'apprentissage non supervisé ou clustering. Aucun expert n'est requis. L'algorithme doit découvrir par lui-même la structure plus ou moins cachée des données. Le partitionnement de données, data clustering en anglais, 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 une 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 motifs (patterns en anglais) d' apparition de groupes, ou de 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 (ajustement d'un modèle par une procédure de type moindres carrés ou autre optimisation d'une fonction de coût). Si l'approche est probabiliste (c'est-à-dire que chaque exemple, au lieu d'être classé dans une seule classe, est caractérisé par un jeu de probabilités d'appartenance à chacune des classes), on parle alors de « soft clustering » (par opposition au « hard clustering »).
Cette méthode est souvent source de sérendipité.
-
- Ex : Pour un épidémiologiste qui voudrait dans un ensemble assez large de victimes de cancers du foie tenter de faire émerger des hypothèses explicatives, l'ordinateur pourrait différencier différents groupes, que l'épidémiologiste chercherait ensuite à associer à divers facteurs explicatifs, origines géographique, génétique, habitudes ou pratiques de consommation, expositions à divers agents potentiellement ou effectivement toxiques (métaux lourds, toxines telle que l'aflatoxine, etc.).
- L'apprentissage semi-supervisé . Effectué de manière probabiliste ou non, il vise à faire apparaître la distribution sous-jacente des « exemples » dans leur espace de description. Il est mis en œuvre 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 diagnostic.
- L'apprentissage partiellement supervisé (probabiliste ou non), quand l'étiquetage des données est partiel[1]. 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 [2] : 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[3] est un exemple classique.
Les algorithmes utilisés
Ce sont dans ce domaine :
- les machines à vecteur de support ;
- le boosting ;
- les réseaux de neurones[4] pour un apprentissage supervisé ou non-supervisé ;
- la méthode des k plus proches voisins pour un apprentissage supervisé ;
- les arbres de décision[5] ;
- les méthodes statistiques comme par exemple le modèle de mixture gaussienne ;
- la régression logistique ;
- l'analyse discriminante linéaire ;
- la logique floue ;
- les algorithmes génétiques[6] et la programmation génétique.
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 :- moteur de recherche,
- aide au diagnostic,
- bio-informatique,
- détection de donnée aberrante,
- détection de données manquantes,
- détection de fraudes,
- analyse des marchés financiers,
- reconnaissance de la parole,
- Reconnaissance de l'écriture manuscrite,
- analyse et indexation d'images et de vidéo,
- robotique,
- etc.
Facteurs de pertinence et d'efficacité
La qualité de l'apprentissage et de l'analyse dépendent du besoin en amont et a priori de la 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), de son adéquation 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 graphique inappropriée).
Avant cela, la qualité du travail dépendra de facteurs initiaux contraignants, liées à la base de données :
- 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) ;
- 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 ;
- Pourcentage de données renseignées et manquantes ;
- « Bruit » : le nombre et la « localisation » des valeurs douteuses (erreurs potentiels, valeurs aberrantes…) 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, et pourrait à la croisée de ces domaines, les NBIC, aboutir à des systèmes d'intelligence artificielle plus performants.Articles connexes
- théorème de Cox-Jaynes
- apprentissage supervisé
- réseau de neurones
- partitionnement de données
- algorithme espérance-maximisation
- carte auto-adaptative
- intelligence artificielle
- subspace clustering
- extraction de connaissances
- règles explicatives
- contextualisation
- visualisation
- évaluation en cascade
- données semi-structurées
- méthode des nuées dynamiques
- regroupement hiérarchique
- algorithme EM
- analyse en composantes principales
- régression logistique
- sérendipité
Notes
- Ambroise et Govaert, 2000
- Machine Learning, chap. 13 Reinforcement Learning, pp. 367-390 Voir
- Machine Learning, pp. 373-380 Voir
- Machine Learning, chap. 4 Artificial Neural Networks, pp. 81-127 Voir
- Machine Learning, chap. 3 Decision Tree Learning, pp. 52-80 Voir
- Machine Learning, chap. 9 Genetic Algorithms, pp. 249-273 Voir
Bibliographie
- (en) Bishop, C. M. (1995). Neural Networks for Pattern Recognition, Oxford University Press. (ISBN 0-19853-864-2)
- Richard O. Duda, Peter E. Hart, David G. Stork, Pattern classification, Wiley-interscience, 2001 (ISBN 0-471-05669-3) [détail des éditions]
- Antoine Cornuéjols, Laurent Miclet, Yves Kodratoff, Apprentissage Artificiel : Concepts et algorithmes, Eyrolles, 2002 (ISBN 2-212-11020-0) [détail des éditions]
- (en) David MacKay, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2003 (ISBN 0-521-64298-1) [détail des éditions]
- (en) Tom M. Mitchell, Machine Learning, 1997 [détail des éditions]
- Christopher M. Bishop, Pattern Recognition And Machine Learning, Springer, 2006 (ISBN 0-387-31073-8) [détail des éditions]
- (en) Huang T.-M., Kecman V., Kopriva I. (2006), Kernel Based Algorithms for Mining Huge Data Sets, Supervised, Semi-supervised, and Unsupervised Learning, Springer-Verlag, Berlin, Heidelberg, 260 pp. 96 illus., Hardcover, (ISBN 3-54031-681-7) (learning-from-data.com)
- (en) KECMAN Vojislav (2001), LEARNING AND SOFT COMPUTING, Support Vector Machines, Neural Networks and Fuzzy Logic Models, The MIT Press, Cambridge, MA, 608 pp., 268 illus., (ISBN 0-26211-255-8) (support-vector.ws)
- (en)Sholom Weiss and Casimir Kulikowski (1991). Computer Systems That Learn, Morgan Kaufmann. (ISBN 1-55860-065-5)
Wikimedia Foundation. 2010.