Module 11 Apprentissage automatique Plan 11. Apprentissage automatique 1. Applications 2. Types d’apprentissage 3. Bases de données 4. Quelques algorithmes 5. Classification multiple 6. Évaluation de la performance : Courbes ROC Module 11 GPA-759 Réseaux de neurones et intelligence artificielle L’apprentissage automatique (machine learning) 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. Le premier stade de l’analyse est celui de la classification, qui vise à étiqueter chaque donnée en l’associant à une classe. Wikipedia 4-10-2010 Module 11 GPA-759 Réseaux de neurones et intelligence artificielle 11.1 Applications L’apprentissage automatique est utilisé pour doter des machines de systèmes de perception de leur environnement : Reconnaissance de l’écriture Reconnaissance de visage Télédétection Robots Module 11 GPA-759 Réseaux de neurones et intelligence artificielle 11.2 Types d’apprentissage Apprentissage supervisé ➡ Classes prédéterminés et exemples connus ➡ Modèle de classement ➡ Perceptron, Perceptron multicouche, Machine à vecteurs de support (SVM - Séparateur à vaste marge) Apprentissage non-supervisé - Agrégation (Clustering) (classification automatique) ➡ Classes non déterminées, exemples connus ➡ Découverte de la structure ± cachée des données ➡ Classement par groupes homogènes - notion de distance ➡ SOM, ART Module 11 GPA-759 Réseaux de neurones et intelligence artificielle Apprentissage semi-supervisé ➡ Vise à faire apparaitre la distribution sous-jacente des exemples dans leur espace de description. ➡ Mis en oeuvre lorsque des étiquettes manquent. ➡ Ex. : aide au diagnostic en médecine. Apprentissage partiellement supervisé ➡ Étiquetage partiel des données. ➡ Ex. : Une donnée n’appartient pas à la classe A, mais peut-être à une classe B ou C. Apprentissage par renforcement ➡ L’action de l’algorithme sur l’environnement produit une valeur de retour qui guide l’algorithme d’apprentissage. Module 11 GPA-759 Réseaux de neurones et intelligence artificielle 11.3 Bases de données Problématique de reconnaissance de formes X Espace d'entrée Module 11 Extraction de descripteurs Y Espace des descripteurs GPA-759 Réseaux de neurones et intelligence artificielle Système de décision D Espace des décisions Descripteurs 1 Les vecteurs propres Y Y . . . . . . . . .. . ... V2 z. y1 . . . . . . .. .. ..... .u... .. v . . . . .. . ~j ~i x1 v~2 X z = x1 ~i + y1 ~j Module 11 z GPA-759 Réseaux de neurones et intelligence artificielle V1 v~1 ~j X ~i z = u v~1 + v v~2 Analyse par composantes principales z2 x2 z1 z2 x1 z1 Figure 6.1: Principal components analysis centers the sample and then rotates the axes to line up with the directions of highest variance. If the variance on z2 is too small, it can be ignored and we have Module 11 dimensionality reduction from two to one. From: GPA-759 Réseaux de neurones et intelligence artificielle 2 Les primitives visuelles …. Module 11 GPA-759 Réseaux de neurones et intelligence artificielle Les vecteurs prototypes .. . . .. . . .. ... . .z . . . ... .. 3 y . . . . P3 . . . P1 . .. ... . .z . . P2. .. . .. z Module 11 (x,y) x GPA-759 Réseaux de neurones et intelligence artificielle . P3 . . . . . . d3 . . . d2 P2. .. . .. z . . .. P1 . . d1 .z (d1,d2,d3) Généralisation Module 11 GPA-759 Réseaux de neurones et intelligence artificielle Bases d’apprentissage, de validation et de test Problème formel Un ensemble de connaissances Module 11 Une base d’apprentissa ge ~70% GPA-759 Réseaux de neurones et intelligence artificielle Une base de validation ~30% Une base de test Variable Apprentissage Module 11 GPA-759 Réseaux de neurones et intelligence artificielle Données d’apprentissage Données de validation Validation croisée W1, β1 Module 11 W2, β2 GPA-759 Réseaux de neurones et intelligence artificielle WN, βN 11.4 Quelques algorithmes de classification Machines à vecteurs de support (SVM) Boosting : Optimisation des performances de plusieurs classificateurs binaires. AdaBoost : Une des plus répandues. Réseaux de neurones : ➡ Apprentissage supervisée : Perceptron multicouche ➡ Apprentissage non-supervisé : SOM de Kohonen kPPV (supervisé) Module 11 GPA-759 Réseaux de neurones et intelligence artificielle SVM Module 11 GPA-759 Réseaux de neurones et intelligence artificielle SOM Module 11 GPA-759 Réseaux de neurones et intelligence artificielle kPPV Module 11 GPA-759 Réseaux de neurones et intelligence artificielle 11.5 Classification multiple Théorème du No Free Lunch : Il n’existe pas de classificateur universel qui performe dans toutes les situations Combinaison de plusieurs classificateurs ➡ Vote Cat. d’une entrée = max de classificateurs ➡ Boosting Classificateur entraîné sur les erreurs de classification du classificateur précédent Module 11 GPA-759 Réseaux de neurones et intelligence artificielle 11.6 Évaluation de la performance On veut extraire des pommes d’un lot de fruits divers. Deux descripteurs sont mesurés : la couleur et la forme. On obtient les résultats suivants pour un seuil donné de la droite de séparation : Pomme Non-Pomme Instance Seuil e e m m m o m P o e P ss na o l c N 1 e + s las c -1 Module 11 GPA-759 Réseaux de neurones et intelligence artificielle Résultat de la classification + - Vraie Fausse VP FN FP VN V : Instance correctement classifiée F : Instance incorrectement classifiée P : Sortie positive du classificateur N : Sortie négative du classificateur Courbes ROC Quelques indicateurs de performance m 1 * ur lle ei C Sensibilité B { Sensibilité Précision du Producteur Spécificité A VP V P + FN Probabilité que l’événement soit correctement détecté VN V N + FP Probabilité que l’absence d’événement soit correctement détectée 0 0 1 1 - Spécifité Précision Évènement Vrai Résultat de la classification Total + - Faux Total VP FN FP VN P N P’ N’ Précision de l’Utilisateur Matrice de confusion Module 11 GPA-759 Réseaux de neurones et intelligence artificielle { VP +VN P +N VP V P + FP VN V N + FN Exemple Détection des dommages aux bâtiments extrait thèse doctorat David Dubois Module 11 GPA-759 Réseaux de neurones et intelligence artificielle Résultats • Images de Port-auPrince – Février 2009 et Janvier 2010 • Quickbird panchromatique 0,6m de résolution spatiale • Orfeo Toolbox utilisée pour le développement Module 11 Intro. Littérature Méthodologie GPA-759 Réseaux de neurones et intelligence artificielle Résultats Concl. 24 Résultats Détection des bâtiments • Résultats sur PAP1 – 800x600 pixels Observation du terrain Classification Bâtiment Autre Bâtiment 241 73 Autre 80 368 Total 321 441 Bâtiment Autre Taux du producteur (%) 74,1 83,4 Taux de l’utilisateur (%) 76.8 82,1 79,9 Taux global (%) Module 11 Intro. Littérature Méthodologie GPA-759 Réseaux de neurones et intelligence artificielle Résultats Concl. 25 Résultats Détection des bâtiments • Résultat visuel Module 11 Intro. Littérature Méthodologie GPA-759 Réseaux de neurones et intelligence artificielle Résultats Concl. 26 Résultats Évaluation des dégâts • Résultats sur PAP1 et PAP3 – 800x600 pixels Observation du terrain Classification EMS-98 EMS-98 4 EMS-98 5 Observation du terrain 0-1-2-3 EMS-98 0-1-2-3 EMS-98 4 EMS-98 5 Total Taux du producteur (%) Taux de l’utilisateur (%) 140 3 9 152 10 10 16 Classification EMS-98 EMS-98 5 0-1-2-3 EMS-98 0-1-2-3 26 1 2 EMS-98 4 3 34 4 EMS-98 5 3 5 37 Total 32 40 43 2 3 39 29 51 EMS-98 EMS-98 EMS-98 0-1-2-3 4 5 EMS-98 EMS-98 EMS-98 92,1 55,2 76,5 0-1-2-3 4 5 Taux du producteur (%) 81,2 85 86 Taux de l’utilisateur (%) 89,7 82,9 82,2 87,5 Taux global (%) 76,2 76,5 84 Taux global (%) Module 11 EMS-98 4 Intro. Littérature Méthodologie GPA-759 Réseaux de neurones et intelligence artificielle 84,3 Résultats Concl. 27 Résultats Évaluation des dégâts • Trois classes (regroupements basés sur classes EMS-98) Aucun dégât Dégâts présents Destruction Module 11 Intro. Littérature Méthodologie GPA-759 Réseaux de neurones et intelligence artificielle Résultats Concl. 28 Exemple Classificateur 1 : PMC Module 11 Classificateur 2 : SVM Seuil Sensibilité 1 - Spécificité Sensibilité 1 - Spécificité 1 1 1 1 1 0.9 1 0.8571 1 1 0.8 1 0.5714 1 0.8571 0.7 0.75 0.4286 1 0.7143 0.6 0.5 0.4286 0.75 0.5714 0.5 0.5 0.4286 0.75 0.2857 0.4 0.5 0.2857 0.75 0.2857 0.3 0.5 0.2857 0.75 0.1429 0.2 0.25 0 0.25 0.1429 0.1 0 0 0.25 0 0 0 0 0 0 GPA-759 Réseaux de neurones et intelligence artificielle Courbes ROC PMC Module 11 GPA-759 Réseaux de neurones et intelligence artificielle SVM Évaluation des courbes AUC : Surface sous la courbe ROC Module 11 PMC 0,7321 SVM 0,7679 GPA-759 Réseaux de neurones et intelligence artificielle Annexe III - Analyse ROC xxvi sifieur est efficace. Un autre moyen pour comparer des classifieurs est d’utiliser le taux d’erreur égal (EER pour Equal Error Rate) qui correspond au point de la courbe ROC tel que Se = S p . Figure III.1 – Exemple de courbe ROC avec deux caractéristiques importantes : l’aire sous la courbe (AUC) et le point correspondant au taux d’erreur égal (EER). Le seuil de détection sera choisi par un compromis entre la sensitivité et la spécificité du système, à savoir si l’on préfère détecter un maximum de chutes quitte à avoir un certain nombre de fausses détections, ou alors si l’on préfère limiter la quantité de fausses Module 11 alarmes. GPA-759 Réseaux de neurones et intelligence artificielle the positive class, and other values are assigned to the negative clas ROC point for each possible threshold value results in a curve. Further interpretations D’autres interprétations Sometimes, the versions are: How an ROC curve can be interpreted Module 11 the intercept of no-discriminati the area betwee the area under t d' (pronounced of activity in th under signal-al assumption tha deviation. Unde ROC depends o The AUC is eq chosen positive instance GPA-759 Réseaux de neurones et intelligence artificielle higher than a randomly chosen negative on