Bases du traitement des images BIMA Cours 9! Introduction à la Reconnaissance des Formes (RdF)! Analyse de données, classification dʼimages! Prof. Matthieu Cord! 1 Plan 1. Introduction, problématiques 2. visualisation des données 3. Analyse en Composantes Principales 4. Analyse Linéaire Discriminante 5. Outils d apprentissage 2
Classification 3 Visualisation : exemple de la base Iris! Méta-données : mesures en centimètres des variables suivantes : longueur et largeur du sépale, longueur et largeur du pétale pour trois espèces d'iris Iris setosa Iris versicolor Iris virginica 4
Données Iris X = 5,1 3,5 1,4 0,2 4,9 3 1,4 0,2 4,7 3,2 1,3 0,2 4,6 3,1 1,5 0,2 5 3,6 1,4 0,2 5,4 3,9 1,7 0,4 4,6 3,4 1,4 0,3 5 3,4 1,5 0,2 4,4 2,9 1,4 0,2 4,9 3,1 1,5 0,1 5,4 3,7 1,5 0,2 4,8 3,4 1,6 0,2 4,8 3 1,4 0,1 4,3 3 1,1 0,1 5,8 4 1,2 0,2 5,7 4,4 1,5 0,4 5,4 3,9 1,3 0,4 5,1 3,5 1,4 0,3 5,7 3,8 1,7 0,3 5,1 3,8 1,5 0,3 5,4 3,4 1,7 0,2 5,1 3,7 1,5 0,4 4,6 3,6 1 0,2 5,1 3,3 1,7 0,5 4,8 3,4 1,9 0,2 5 3 1,6 0,2 5 3,4 1,6 0,4 5,2 3,5 1,5 0,2 5,2 3,4 1,4 0,2 4,7 3,2 1,6 0,2 4,8 3,1 1,6 0,2 5,4 3,4 1,5 0,4 5,2 4,1 1,5 0,1 5,5 4,2 1,4 0,2 4,9 3,1 1,5 0,2 Y= 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'setosa' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' 'virginica' Nombre de variables (d) = 4 Nombre de classes = 3 Nombre d individus (n) = 150 (50 / classe) 5 Visualisation des données! Statistique descriptive de base :! Moyenne, variance, médiane... 6
Visualisation des données Moyenne : 'S Length' 'S Width' 'P Length' 'P Width' 'setosa 5,006 3,428 1,462 0,246 'versicolor 5,936 2,77 4,26 1,326 'virginica 6,588 2,974 5,552 2,026 Ecart type : 'S Length' 'S Width' 'P Length' 'P Width' 'setosa 0,352 0,379 0,174 0,105 'versicolor 0,516 0,314 0,470 0,198 'virginica 0,636 0,322 0,552 0,275 7 Visualisation des données! Statistique descriptive de base :! Moyenne, variance, médiane...! Boxplot 8
Visualisation des données 9 Visualisation des données! Statistique descriptive simple :! Moyenne, variance, médiane...! Boxplot! Analyse croisée des variables 10
Visualisation des données 11 Visualisation des données! Statistique descriptive simple :! Moyenne, variance, médiane...! Boxplot! Analyse croisée des variables! Analyse en composantes principales! Indispensable quand le nombre de variables est très grand 12
Analyse en composantes principales! Analyse de la structure de la matrice variance-covariance c-à-d de la variabilité, dispersion des données. Au départ : d variables pour prendre en compte toute la variabilité des données Objectif de l ACP: décrire à l aide de q < d composantes un maximum de cette variabilité.! Ce qui permet :! une réduction des données à q nouveaux descripteurs! une visualisation des données à 2 ou 3 dimensions (si q = 2 ou 3)! une interprétation des données : liaisons inter-variables! Étape préliminaire souvent utilisée avant d autres analyses! 13 ACP : géométriquement C2 D2 C1 D1 Composantes : C 1,, C k,, C q C k = combinaison linéaire des variables d origine D 1,, D k,, D d p C =! a x k ik i i= 1 Coefficients a ik = < x i,c k > des x i à déterminer tq les C k : 2 à 2 non corrélées, de variance maximale, d importance décroissante. C k de variance maximale! les projections a ik sont les plus dispersées possible. 14
Projection de la variance Variance : Projection sur une droite de vecteur v : La variance des données projetées s écrit : 15 Projection de la variance 16
Maximisation de la variance projetée! La matrice! est la matrice variance-covariance! Cette matrice est symétrique définie positive! On recherche max de " v avec V unitaire :! On pose (fonction de Lagrange) :! Condition nécessaire :! D'où : 17 Maximisation de la variance projetée! On cherche (détail en TD) v tel que : où! est la matrice variance-covariance!! est symétrique définie positive donc décomposable dans une base de vecteurs propres orthonormée.! La variance vaut :! Solution ACP = projection des données sur le vecteur propre ayant la valeur propre! la plus élevée. 18
Résumé de l'acp 1. Centrage des données / variables X = 2. Calcul de la matrice de variance-covariance 3. Diagonalisation de! et classement par valeurs propres croissantes 4. Sélection des q premiers vecteurs propres C k (q # d) 5. Calcul des nouveaux vecteurs a i de var a ik = < x i,c k > de longueur q remplaçant les vecteurs x i 19 Résumé de l'acp! L ACP remplace les d variables de départ en q nouvelles composantes (q # d) C k! orthogonales 2 à 2 c-à-d cov(c k, C k ) = 0 (pour tout k $ k ),! de variances maximales telles que V(C1) % V(C2) % V(Cq)! Le nombre maximum de composantes principales q # d avec q < d dès que l une des variables d origine est une combinaison linéaire d autres! " mise en évidence de relations linéaires dans les données " les données occupent, en réalité, un sous-espace de dimensions réduites (q < d ) C'est à dire que le nombre maximum de composantes principales = dimension intrinsèque des données 20
Choix de q! q << d réduction de la dimension des données, obtention de données non corrélées! objectif : garder un maximum d information des données initiales ce qui correspond au % de variance expliquée! Variance conservée = q! Géométriquement : revient à projeter les données dans un sous-espace de dimension q, centré sur g, reprenant les q premiers axes principaux d allongement du nuage 21 Exemple d une base de visages : méthode EigenFace 25 images Image moyenne M. Turk and A. Pentland (1991). "Face recognition using eigenfaces". Proc. IEEE Conference on Computer Vision and Pattern Recognition: 586 591. 22
25 premiers vecteurs propres (EigenFace) 23 EigenFace Réduction de la taille des vecteurs de la base Recherche d images similaires de visages dans la base plus rapide Dédiée recherche de visages si entrainée sur base de visages! A développer et tester en TD et TME 24
Conclusion sur l ACP! Méthode d analyse de données qui permet :! une réduction des données à q nouveaux descripteurs! une visualisation des données à 2 ou 3 dimensions! une interprétation des données : liaisons inter-variables! Étape intermédiaire souvent utilisée avant d autres analyses!! L ACP n est pas conçue pour prendre en compte la notion de classe! Exemple :! => Classification! LDA, SVM 26 Analyse Linéaire Discriminante (ALD ou LDA)! Objectif: mettre en évidence des différences entre les classes c- à-d entre les observations appartenant à des classes différentes! Description des liaisons entre la variable "classe" et les variables quantitatives: les q classes diffèrent-elles sur l'ensemble des variables numériques?! Méthode proche de l ACP : transformation linéaire des variables (changement de repère) mais en prenant en compte les classes des individus 27
Méthode! Déterminer des facteurs, combinaisons linéaires des variables descriptives d origine, qui prennent les valeurs les + proches possible pour des éléments de la même classe, et les + éloignées possible entre éléments de classes différentes. (= facteurs discriminants) 28 Méthode! Déterminer des facteurs, combinaisons linéaires des variables descriptives d origine, qui prennent des valeurs les + proches possible pour des éléments de la même classe, et les + éloignées possible entre éléments de classes différentes. (= facteurs discriminants) ACP 1 29
Méthode! Déterminer des facteurs, combinaisons linéaires des variables descriptives d origine, qui prennent des valeurs les + proches possible pour des éléments de la même classe, et les + éloignées possible entre éléments de classes différentes. (= facteurs discriminants) ALD 1 ACP 1 La projection des données sur le premier axe ALD a : Une variance intra-classe minimale Une variance inter-classe maximale 30 Quelques notations Données : Classes : X = { x1,, xn}, xi! Y = { y,, y }, y!" 1!" n d Centre de gravité = g 31
Décomposition de la variance totale 32 Décomposition de la variance totale 33
Projection de la variance 34 Optimisation! Donc! Axe correspondant à la séparation max entre les classes : axe dans le nuage de points (passant par l'origine) tel que les projections des points sur cet axe aient une variance inter-classe (variance des moyennes de classe) maximale. 35
Optimisation! Condition nécessaire :! D où :! Solution LDA = projection des données sur le vecteur propre de! 1 B ayant la valeur propre! la plus élevée. 36 Résumé de l ALD 1. Centrage des données / variables X = 2. Calcul de la matrice de variance-covariance 3. Calcul de la matrice de variance inter-classe 4. Diagonalisation de! 1 B et classement par valeurs propres croissantes 37
Classification par ALD! Comment affecter une classe à une nouvelle donnée?! Les facteurs discriminants donnent la meilleure représentation de la séparation des q centroïdes de classe (dans un espace orthonormé). => pour un individu x projeté dans l'espace des facteurs: attribuer la classe dont le centroïde est le plus proche (au sens de la distance euclidienne): => surfaces de séparation linéaires = hyperplans médians entre les centroïdes: 39 Classification sur IRIS par ALD 40
D autres méthodes d apprentissage! De nombreuses autres approches permettent de prendre en considérations ces cas «difficiles» :! Analyse discriminante quadratique! Mélange de modèles probabilistes (Gaussiennes)! Boosting! SVM! Conclusion :! ALD reste une méthode à la fois simple et rapide pour visualiser et classifier des données bien séparables. 42 SVM séparateur linéaire SVM (Séparateur à Vaste Marge/Support Vector Machine) est une technique de discrimination qui consiste à séparer des ensembles de points (ou classes) par un hyperplan maximisant la marge entre ces classes $ 1 2! min w # 2!" ' i yi ( w. x i + w0 ) & 1 % 0 Marge maximale Hyperplan valide w D(x) > 1 h( u) = sign( " = # i yi xi! u + n s i 1 b) Vecteurs de support 1 w Hyperplan D(x) = +1 D(x) < -1 optimal D(x) = -1 D(x) = 0!"#"$% 43
Compléments sur l apprentissage supervisé Données : Classes : X = { x,, x }, x!! Y = { y,, y }, y!" 1 1 n n i d Reconnaissance de forme : f d :!! " x! f ( x) Risque : n 1 R( f ) = " L( f ( xi ), yi ) + c! ( f ) n i= 1 Risque empirique Régularisation 44 Erreur d apprentissage! Lors d un apprentissage, il faut évaluer la performance du modèle f pour! Comparer différents modèles! Sélectionner les variables pertinentes! Avoir une idée de la probabilité de bien classer une nouvelle donnée (erreur de généralisation)! A bannir : entrainer et évaluer l'algo d'apprentissage sur le même ensemble de données! Erreur biaisée, car algo spécialisé sur ensemble d'entraînement 45
Exemple de sur-apprentissage Comment choisir le bon modèle? Première idée : séparation des données disponibles en 2 ensembles : Entraînement / Test Calcul de l'erreur de généralisation avec l'ensemble de test 46 Happy Curve Erreur Test Train f optimal f 1/Régularisation 47
Validation croisée (cross-validation)! Que faire si peu de données d apprentissage? " Validation croisée! Diviser les données disponibles en k groupes TEST TRAIN! Pour chaque groupe : apprentissage sur les autres et test sur lui! Erreur de généralisation = moyenne des erreurs de test 48