Apprentissage « machine » Qu’est-ce que l’apprentissage ? Allons voir ce que le grand dictionnaire terminologique de l’office québécois de la langue française en dit… Apprentissage machine Pour nos besoins, nous exclurons de l’apprentissage machine des tâches telles que l’acquisition et la recherche d’information, l’expression des connaissances (représentation et organisation) et le raisonnement automatisé (déduction et inférence logique), au profit de la tâche de reconnaissance de formes. Reconnaissance de formes • La reconnaissance de formes est une caractéristique importante de l’intelligence humaine, elle nous est familier, facile, naturel, automatique. • Facilement, nous reconnaissons un visage, comprenons des mots et des phrases parlés, l’écriture manuscrite, nous identifions nos clés parmi d’autres, détectons un fruit trop mûr par sa texture ou son odeur ainsi que plusieurs autres tâches de reconnaissance de formes – action de saisir des données brutes et de poser une action en fonction de la catégorie ou classe de la forme. • Depuis notre existence, notre système cognitif a évolué de manière à effectuer ces tâches cruciales à notre survie. • Il est donc naturel de vouloir inventer des machines qui peuvent effectuer le même genre de tâches : la reconnaissance de la parole et de caractères optiques, et même certaines tâches du même type mais qui sont difficiles, voir impossibles pour l’humain : la reconnaissance d’empreintes digitales, de séquences d’ADN, de profils d’expression génétique, etc. • L’apprentissage machine est donc une approche applicable à un grand nombre de problèmes, et en particulier de bioinformatique. Quand peut-on utiliser l’apprentissage machine ? • Les algorithmes d’apprentissage s’appliquent lorsqu’il n’y a pas suffisamment de connaissances pour développer un algorithme qui résout le problème mais qu’on dispose de plusieurs exemples de la tâche à accomplir (cf. base de données = exemples). • Applications : – Filtrage (pattern matching; reconnaissance d’images, de sons, etc) • Cas classiques : visages, caractères, voix, etc • Cas bioinformatiques : séquences, structures moléculaires, m-arrays, spectrométrie de masses, etc – Prise de décision • Cas classiques : finance, marketing • Cas bioinformatiques : traitements thérapeutiques – Estimation • Cas classiques : risque de crédit, probabilité de fraude, primes d’assurances • Cas bioinformatiques : drug design Un exemple : l’apprentissage supervisé • Supervision (entraînement) – Le système « apprend » à partir d’exemples qu’on lui présente – Le système modifie graduellement les paramètres pour que ses réponses soient de plus en plus « exactes » • Utilisation – On interroge le système sur de nouveaux exemples jamais vus auparavant En fait, on demande au système de GÉNÉRALISER Reconnaissance d’images Entraînement avec plusieurs images d’individus Anita Éric Utilisation, Qui est-ce? Ratiba ( Marc Paul Exemples d’entraînement : { (image, prénom) } : { (donnée, étiquette) } : { ( X, Y ) } , prénom? ) Solution avec l’algorithme du plus proche voisin (nearest neighbor) Choisir parmi les exemples d’apprentissage le ‘profil’ (image) le plus proche du nouvel exemple. Qui est-ce ? C’est Paul ! plus proche voisin Types de problèmes • Classification – Reconnaître l’appartenance d’un exemple donné à une CLASSE. • Est-ce un visage? • Si oui, de qui s’agit-il ? (choisir parmi un ensemble fini et connu d’exemples) • Régression – Prédire à partir d’exemples (cf. prédire la valeur en bourse de demain étant donné les valeurs du passé). • Estimation de densité – A-t-on déjà vu cet exemple ou un exemple similaire ? – Quelles sont les K catégories principales des données ? Types d’apprentissage • Supervisé – On donne “la bonne réponse” pendant l’entraînement – Efficace car on fournit de l’information – Utile pour classification, régression, estimation de probabilité conditionnelle (quelle est la probabilité qu’un client avec tel profil achète tel produit ?) • Non supervisé – Établir quelles sont les catégories principales des données/exemples Généraliser est difficile • On ne veut pas « apprendre par cœur » – Ce qui impliquerait de trouver la bonne réponse seulement sur les exemples d’entraînement. • Facile et rapide pour un ordinateur (revient à chercher) • Difficile pour les humains (cf. on force les enfants !) • Apprendre pour « généraliser » – Plus intéressant ! – FONDAMENTALEMENT plus difficile et peut se faire de plusieurs façons différentes. – On doit extraire l’essentiel dans les données. Exemple: Les données a. Underlying La ligne pointillée représente la meilleure « réponse » possible étant donné les exemples mais elle est inconnue de l’apprenant. Function 3 2.5 Exemples = { (x, y) } 2 1.5 1 0.5 2 4 6 8 10 Par cœur (overfitting) On apprend par cœur. Aucune généralisation. Erreur faible sur les exemples d’apprentissage mais élevée pour les nouveaux exemples. b. Overfitting 3 2.5 2 1.5 1 0.5 2 4 6 8 10 « Underfitting » On choisi un modèle trop simple, linéaire. Erreur élevée sur les exemples d’apprentissage ET sur les nouveaux exemples. c. Underfitting 3 2.5 2 1.5 1 0.5 2 4 6 8 10 Un « bon modèle » d. Good Le modèle est suffisamment flexible pour capturer la forme courbe mais pas trop pour éviter l’apprentissage par cœur (overfitting). Fit 3 2.5 2 1.5 1 0.5 2 4 6 8 10 Apprentissage machine • Se situe à l’intersection des sciences de l’informatique, des probabilités et statistiques et du domaine de l’application. Informatique Probabilités et statistiques Domaine d’application Types d’apprentissage machine • Non supervisé et groupage – – – – – • Supervisé – – – – – – – • Analyse des composantes principales Analyse des composantes indépendantes Échelonnement multidimensionnel Groupage linéaire (« flat » clustering; méthode k-means) Groupage hiérarchique Problèmes de classification et de régression Plus proches voisins Perceptrons Arbres de décision et de régression Régression linéaire et logique Réseaux de neurones artificiels Machines à vecteurs de support Modélisation probabiliste – – – – – Vraisemblance maximum Modèles discrets Chaînes de Markov Estimation paramétriques Réseaux Bayesiens