Reconnaissance des formes

Documents pareils
LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Université Paris-Dauphine DUMI2E 1ère année, Applications

Méthodes de Simulation

Programmation linéaire

Analyse en Composantes Principales

1 Complément sur la projection du nuage des individus

La classification automatique de données quantitatives

Classification non supervisée

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Du Premier au Second Degré

Simulation de variables aléatoires

Précision d un résultat et calculs d incertitudes

Soutenance de stage Laboratoire des Signaux et Systèmes

Baccalauréat ES Amérique du Nord 4 juin 2008

Chapitre 6 Apprentissage des réseaux de neurones et régularisation

Introduction au Data-Mining

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

3. Conditionnement P (B)

Travaux dirigés d introduction aux Probabilités

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Travaux pratiques avec RapidMiner

Cours de méthodes de scoring

Algorithmes d'apprentissage

Structures algébriques

Filtrage stochastique non linéaire par la théorie de représentation des martingales

PROBABILITES ET STATISTIQUE I&II

TSTI 2D CH X : Exemples de lois à densité 1

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Apprentissage Automatique

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I


Correction du Baccalauréat S Amérique du Nord mai 2007

Cours d Analyse. Fonctions de plusieurs variables

Introduction à MATLAB R

Cours d introduction à la théorie de la détection

Extraction d informations stratégiques par Analyse en Composantes Principales

TESTS D'HYPOTHESES Etude d'un exemple

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Correction de l examen de la première session

MCMC et approximations en champ moyen pour les modèles de Markov

Exercice autour de densité, fonction de répatition, espérance et variance de variables quelconques.

Une approche non paramétrique Bayesienne pour l estimation de densité conditionnelle sur les rangs

Programmes des classes préparatoires aux Grandes Ecoles

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème.

Master d Informatique M1 Université Paris 7 - Denis Diderot Travail de Recherche Encadré Surf Bayesien

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Arbres binaires de décision

Déroulement d un projet en DATA MINING, préparation et analyse des données. Walid AYADI

L apprentissage automatique

Raisonnement probabiliste

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Espérance conditionnelle

(51) Int Cl.: H04L 29/06 ( ) G06F 21/55 ( )

Opérations de base sur ImageJ

Exercice : la frontière des portefeuilles optimaux sans actif certain

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

CarrotAge, un logiciel pour la fouille de données agricoles

Fonctions de plusieurs variables

Chapitre 5 : Flot maximal dans un graphe

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Chapitre 2. Eléments pour comprendre un énoncé

Introduction au Data-Mining

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Régression linéaire. Nicolas Turenne INRA

INF6304 Interfaces Intelligentes

Why Software Projects Escalate: The Importance of Project Management Constructs

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

Optimisation de la compression fractale D images basée sur les réseaux de neurones

Plus courts chemins, programmation dynamique

choisir H 1 quand H 0 est vraie - fausse alarme

Introduction à la Statistique Inférentielle

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

De la mesure à l analyse des risques

Correction du baccalauréat ES/L Métropole 20 juin 2014

Renforcement des trois compétences : compréhension orale, expression orale et expression écrite à partir de documents et vidéos.

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

Optimisation Discrète

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

CAPTEURS - CHAINES DE MESURES

Rapport de Stage. Titre : Clustering à l aide d une représentation supervisée

APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Une application de méthodes inverses en astrophysique : l'analyse de l'histoire de la formation d'étoiles dans les galaxies

L'analyse des données à l usage des non mathématiciens

Le Data Mining au service du Scoring ou notation statistique des emprunteurs!

Moments des variables aléatoires réelles

GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

MAP 553 Apprentissage statistique

Résolution d équations non linéaires

Fonctions de deux variables. Mai 2011

Pourquoi l apprentissage?

Antoine Masse. To cite this version: HAL Id: tel

AICp. Vincent Vandewalle. To cite this version: HAL Id: inria

Transcription:

Reconnaissance des formes Discrimination A. Belaïd LORIA - Nancy

Discrimination linéaire Notion d hyperplan

Discrimination linéaire Principe Une forme x R d (vecteur forme) Rôle de la Trouver D : R d x D : Algorithme de décision { 1,..., K} D( x) avec un algorithme D «performant» : C est la classe ω =D(x) où ω {1..K} x d R, D(x) = "la Soit C le coût de la règle de décision D : C( D) = k = 1 Choisir D qui minimise cette fonction de coût K meilleure décision" C( D k ) P( D k = x) 3

Discrimination linéaire Comment ça marche? ω 1 ω 2 4

Discrimination linéaire Définition C est une fonction qui est une combinaison linéaire des composants de la forme x g(x) = w t x + w 0 (1) où w est un vecteur poids du système et w 0 le biais Un classifieur bi-classes entre (ω 1,ω 2 ) avec une fonction discriminante de type (1) utilise la règle suivante décide que x ω 1 si g(x) > 0 et x ω 2 si g(x) < 0 décide ω 1 si w t x > -w 0 et ω 2 autrement si g(x) = 0 x est affectée à ces deux classes 5

Discrimination linéaire et surface de décision 6 Définition L équation g(x) = 0 définit la surface de décision qui sépare les points affectés à la classe ω 1 des points affectés à la classe ω 2 Quand g(x) est linéaire, la surface de décision est un hyperplan d j= 1 w i x j + b = 0 ( = produit scalaire) Règle de décision linéaire d wi x j + b > 0 ( ronds rouges) j= 1 d wi x j + b 0 ( croix vertes) j= 1

Discrimination linéaire et surfaces de décision Le cas multi-classes On définit c fonctions linéaires discriminantes g i t = i i ( x) w x + w 0 i = 1,...,c et affecte x à ω 1i si g i (x) > g j (x) j i; En cas d'égalité, le classement est indéfini Dans ce cas, le classifieur est une machine linéaire Une machine linéaire divise l espace de paramètres en c régions de décision, avec g i (x) étant le discriminant le plus grand si x est dans la région R i 7

H 25 H 12 H 15 R 2 R 1 R 3 ω 5 H 35 H 13 R 1 ω 1 ω 2 R 3 ω 3 H 23 R 4 ω 4 R 3 ω 2 ω 1 ω 3 H 23 H 13 H 34 R 2 H 24 H 14 Frontières de décision créées par un système pour 3 classes et 5 classes 8

Discrimination linéaire et surfaces de décision Exemple : classif_lineaire.m Il s agit de classer des fleurs par la longueur et la largeur de leurs pétales Le fichier est donné par MatLab : load fisheriris On dispose de données composées d une matrice «meas» de 150 lignes (échantillons), 50 par type de fleur des Iris dans cet ordre : Setosa, versicolor, virginica 9

Opération 1 : distribution dans le plan gscatter(x, y, groupe) crée un nuage de points de x et y, regroupés par groupe gscatter(meas(:,1), meas(:,2), species,'rgb','osd'); % species : permet de récupérer les espèces dans le fichier et de faire un groupement spécifique par groupe de fleurs

Opération 2 : repérage des mauvaises classifications : 3 étapes % 1) Classification par rapport aux espèces ldaclass = classify(meas(:,1:2),meas(:,1:2),species); % 2) Repérage des mauvaises classifications bad = ~strcmp(ldaclass,species); ldaresuberr = sum(bad) / N; % 3) Création d une matrice de confusion [ldaresubcm,grporder] = confusionmat(species,ldaclass) Setosa Versicolor virginica Seto Vers, virgi 49 1 0 0 36 14 0 15 35 On affiche avec des croix les mauvaises classifs

Sur les 150 observations de la base, 20% ou 30 observations sont mal classées par la fonction discriminante linéaire

Opération 3 afficher les hyperplans séparateurs On prend deux à deux les points appartenant à des classes différentes, puis on dessine à chaque fois le plan bissecteur Ainsi, de couple en couple, on finit par construire les hyperplans + + + o o o o +

Opération 3 : en matlab On crée une grille de coordonnées (x, y) et on applique la fonction de classification sur cette grille [x,y] = meshgrid(4:.1:8,2:.1:4.5); x = x(:); y = y(:); j = classify([x y],meas(:,1:2), species); gscatter(x,y,j,'grb','sod')

Discrimination probabiliste Classifieur bayésien naïf

Décision bayésienne Principe Cette méthode suppose que le problème de représentation des formes admet un modèle probabiliste Elle définit l appartenance d une forme x à une classe avec un minimum d erreur et évalue le risque 16

Règle de Bayes à une dimension Propriétés la probabilité a priori P(ω i ) vérifie P(ω i ) 0 i Σ i P(ω i ) = 1 la densité de probabilité de x conditionnée par une classe p(x ω i ), aussi appelée vraisemblance de ω i par rapport à x + ωi ωi - p(x ) 0 i p(x )dx = 1 i 17

Vraisemblance d'une caractéristique pour deux classes Exemple : deux classes ω 1 et ω 2 les frontières de décision ne sont plus aussi lisibles qu avant : on parle en termes de probabilité d appartenance Vraisemblances Un elt. de ω 1 peut être affecté à ω 2 et vice versa P(x/w 1 ) P(x/w 2 ) 18

Classifieur Bayésien naïf Règle de Bayes Elle permet de calculer la probabilité a posteriori de chaque classe, c'est-à-dire la probabilité conditionnée par l'observation de x, soit P( ω x) = i px ( ωi ) P( ωi ) px ( ) où p(x)= Σ j p(x ω j )P(ω j ) est appelée évidence et est un facteur de normalisation qui assure que px ( ω ) P( ω ) px ( ω ) Pw ( ) i i i i i P( ω i i x) = = = 1 i px ( ) px ( ωj) P( ωj) 19

Décision optimale : bayes naïf Principe Étant donnés une caractéristique observée x d'un objet à identifier (par ex. moyenne du profil de la projection horizontale sur les mots ) l'ensemble des classes possibles {ω 1,ω 2,...ω c } La décision revient à formuler une fonction δ(x)=ω i Comment définir δ de manière optimale? en minimisant sa probabilité d erreur 20

Probabilité d'erreur Pour une caractéristique observée x, la probabilité d'erreur d'une décision δ(x)=ω i est égale à P( erreur x ) = P( ω x ) = 1 P( ω x ) j i j La probabilité d'erreur globale pour le système est + P ( erreur) = P( erreur x) p( x) dx i 21

Décision optimale (pour le naïf) La décision optimale (au sens de la probabilité d'erreur) consiste donc à choisir δ(x)=ω i telle que p(ω i x) soit maximale, c.à.d : P( ω x ) P( ω x ), j i j p( x ω )P( ω ) p( x ω )P( ω ) j i i j j Si les probabilités a priori des classes sont équivalentes, on obtient simplement p( x ω ) p( x ω ) j i j 22

Illustration de l'erreur irréductible 23

Illustration de l'erreur irréductible Zone d erreur réductible La proba qu un élément de Fonte2 soit affecté à Fonte7 La proba qu un élément de Fonte7 soit affecté à Fonte2 X * X B 24 Fonte 7 Fonte 2

Manipulation MatLab Exemple : Distrib_normale 25

Estimation paramétrique On a supposé connu la distribution des caractéristiques pour chaque classe (vraisemblance) les probabilités a priori des classes de manière optionnelle, les coûts d'une (fausse) décision Problème : comment estimer ces grandeurs? la vraisemblance est rarement connue les probabilités a priori ne sont pas toujours connues Solution On utilise une loi connue dont on peut cerner le comportement et les paramètres : on utilise la loi normale 26

Loi normale à une dimension Définition intuitive C est une loi qui incite les éléments d une distribution quelconque à se rapprocher le plus du centre de la classe (autour de la moyenne) avec un certain taux de dispersion Définition mathématique La loi normale à une dimension, notée N(µ, σ 2 ) est définie par p( x) = 1 exp 2πσ 1 2 x 2 µ σ µ représente la moyenne σ 2 représente la variance 27

Loi normale à une dimension Comment utilise-t-on cette loi? On détermine µ et σ par calcul de la moyenne des échantillons et des écarts avec cette moyenne 28

Exemple 1 Soit la distribution Param4 des mots de la classe Fonte7 : moyenne=1.6562 écart type= 0.1272 La distribution normale correspondante 29 µ=1.6562

Exemple 1 : création sous Matlab Distributions >> Distr_normale_fonte Statistiques >> Distribution_normale >> Distrib_normal_Fonte7 Fonte7=[ ]; x = Fonte7(1):0.1:Fonte7(end); [mu,s,muci,sci] = normfit(x); pdfnormal = normpdf(x, mu, s); figure; plot(x,pdfnormal); mu = 6.4693 s =2.8723 30

Décision bayésienne Estimation non paramétrique

Introduction La reconnaissance Bayesienne suppose des connaissances sur La probabilité a priori des classes P(ω i ) La densité de probabilité des caractéristiques P(x ω i ) Généralement, les connaissances sur les densités de probabilité font défaut ou sont imprécises Souvent elles peuvent être estimées à partir d'échantillons d'apprentissage D i Le nombre d'échantillons pose problème, surtout dans les espaces de dimension élevée il n'y a jamais assez d'information pour déterminer P(x ω i ) en toute généralité 32

Estimation non paramétrique Problème Il n'est pas toujours possible de trouver une fonction de densité qui s ajuste sur les données et de pouvoir modéliser sous forme paramétrique surtout dans les cas de distributions complexes ou multimodales (avec plusieurs maxima locaux) Solution L'apprentissage non paramétrique consiste à estimer ces densités directement à partir des échantillons d'apprentissage Deux techniques seront étudiées la méthode des fenêtres de Parzen la méthode des k plus proches voisins 33

Fenêtres de Parzen Idée Subdiviser l espace en régions R et faire des estimations locales, plus faciles à maîtriser Ensuite, généraliser l estimation à l ensemble de l espace k=3 V n n=37 Observations 34

Fenêtres de Parzen Estimation de la densité dans une fenêtre L idée de l estimation de la densité est que la probabilité P qu un échantillon x tombe dans la région R est donnée par P = p( x) dx R Si maintenant, on suppose que R est tellement petit que p(x) varie peu à son intérieur, alors on peut écrire P = R p( x) dx p( x) dx = R p( x) V où V est le volume de R 35

Fenêtres de Parzen D un autre côté, supposons maintenant que n échantillons x 1,, x n considérés de manière indépendante interviennent dans le calcul de la fonction de densité de probabilité p(x), et qu il y a k échantillons qui tombent dans la région R P = k / n Ainsi, on arrive à l estimation évidente de p(x) k / n p( x) = V En général, on fixe V et on compte k dans chaque V 36 V = 1 n

Fenêtres de Parzen Comment on calcule effectivement Considérez que R soit un carré (ou un hypercube dans l espace) Soit h le côté du carré (x 1 -h/2, x 2 +h/2) (x 1 -h/2, x 2 -h/2) x (x 1 +h/2, x 2 +h/2) (x 1 +h/2, x 2 +h/2) On définit 37 x x x x ik i φ( ) = 1 si h h 0 qui indique si x i est à l intérieur du carré ou pas k 1/ 2, k = 1,2 sinon

38 Fenêtres de Parzen Le nombre total k d échantillons tombant dans R, est donné par L estimation de la densité dans la fenêtre de Parzen est donnée par = = n i i h x x k 1 ) φ( = = = n i i h x x h n V n k x p 1 2 ) ( 1 1 / ) ( φ est appelée fonction fenêtre ou noyau ) ( h x i x φ

Fenêtres de Parzen Généralisation On peut généraliser l idée et permettre l utilisation d autres fonctions noyau, comme une gaussienne, Dans ce cas, ( x φ i h x) = 1 n n i= 1 1 exp( 2πσ ( x i 2σ x) 2 2 ) 39

Fenêtres de Parzen Si on considère le nuage observé séquentiellement On pourrait estimer des suites d éléments par des petites gaussiennes, puis généraliser à l ensemble x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 40

Les k plus proches voisins (Kppv/K-nn) Particularités Contrairement aux fenêtres de Parzen, ici, on ne fixe pas V, mais k : Principe : Utiliser les exemples déjà connus Regarder la classe des k exemples les plus proches (k = 1, 3,...) Affecter la classe majoritaire au nouvel exemple Exemple : deux classes, k=1 41

K-ppv Exemple : deux classes, k=3 42

Kppv Notations Soit L={(x,c x R d, c C} l ensemble d apprentissage Soit x l exemple dont on souhaite déterminer la classe Algorithme début pour chaque (exemple (x, c) L) faire Calculer la distance D(x, x ) fin pour chaque {x kppv(x)} faire compter le nombre d occurrences de chaque classe fin Attribuer à x la classe la plus fréquente fin 43

K-ppv Quelle décision prendre en cas d égalité? Augmenter la valeur de k de 1 pour trancher. L ambiguïté peut persister Tirer au hasard la classe parmi les classes ambiguës Pondération des exemples par leur distance au point x 44

Fenêtres de Parzen vs K-ppv Illustration des méthodes 1. des fenêtres de Parzen 2. des k plus proches voisins 45

Tests en Matlab Illustration des méthodes Étape 1 : Affichage spatial de la distribution des fleurs load fisheriris x = meas(:,3:4); gscatter(x(:,1),x(:,2),species) set(legend,'location','best') 46 http://www.mathworks.fr/help/toolbox/stats/bsehyju-1.html#bsfh8js-1

Étape 2 : placer un point : newpoint = [5 1.45]; line(newpoint(1),newpoint(2),'marker','x','color','k',... 'markersize',10,'linewidth',2) 47

Étape 3 : chercher les 10 échantillons proches de ce point [n,d] = knnsearch(x,newpoint,'k',10) line(x(n,1),x(n,2),'color',[.5.5.5],'marker','o',... 'linestyle','none','markersize',10) Knnsearch a trouvé que 8 points 48

Étape 3 : pour rendre plus visible l'affichage : xj = x +.05*(rand(150,2)-.5); gscatter(xj(:,1),xj(:,2),species) set(gca,'xlim',[4.5 5.5],'ylim',[1 2]); axis square 49

Étape 4 : trouver les éléments des différentes parmi les 10 voisins tabulate(species(n)) Value Count Percent virginica 2 20.00% versicolor 8 80.00% 50

Étape 4 : mettre un cercle autour des voisins % Define the center and diameter of a circle, based on the % location of the new point: ctr = newpoint - d(end); diameter = 2*d(end); % Draw a circle around the 10 nearest neighbors: h = rectangle('position',[ctr,diameter,diameter],... 'curvature',[1 1]); set(h,'linestyle',':') 51

Étape 5 : en utilisant la même base, trouver les plus proches voisins de trois points figure newpoint2 = [5 1.45;6 2;2.75.75]; gscatter(x(:,1),x(:,2),species) legend('location','best') [n2,d2] = knnsearch(x,newpoint2,'k',10); line(x(n2,1),x(n2,2),'color',[.5.5.5],'marker','o',... 'linestyle','none','markersize',10)line(newpoint2(:,1),newpoint2(:,2), marker','x','color','k',... 'markersize',10,'linewidth',2,'linestyle','none') 52

53 Étape 6 : Trouvez les classes des 10 plus proches voisins pour chaque nouveau point: