Support Cours

Embed Size (px)

DESCRIPTION

cours reconnaissance de formes

Citation preview

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    1

    Cours de

    Reconnaissance de Formes

    - Rsum -

    2004-2005 v 1.4

    Benot Decoux ([email protected], [email protected])

    http://www-rdf.efrei.fr

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    2

    Sommaire Page

    Introduction 3

    I) Les k plus proches voisins (kPPV) 4

    II) Nues dynamiques 5

    III) Apprentissage comptitif 6

    a) Non supervis (Vector quantization : VQ) 6

    b) Supervis (Learning vector quantization : LVQ) 8

    V) Fonctions radiales de base 10

    a) RCE (Reduced Coulomb Energy) 11

    b) Neurones gaussiens 12

    c) Fentres de Parzen 13

    VI) Rseaux de neurones multicouches avec rtropropagation du gradient 14

    VII) Classification bayesienne 18

    VIII) Reconnaissance de parole (algorithme DTW) 20

    Annexes 24

    Affichage de donnes multi-dimensionnelles (de Sammon) 23

    Petite introduction aux rseaux de neurones 24

    Quelques lments de calcul vectoriel et matriciel 27

    Quelques lments de statistiques 30

    Quelques lments de probabilits 32

    Exemple de donnes : Iris 38

    Exemple de donnes : Wine 39

    Exemple de donnes : caractres manuscrits 40

    Exemple dimplmentation de la mthode des kppv 41

    Bibliographie 42

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    3

    Introduction

    Les diffrentes parties de ce rsum correspondent une succession de mthodes, tudies dans un ordre de difficult croissante. Toutes ces parties correspondent des mthodes diffrentes pouvant tre appliques aux problmes gnraux de classification, sauf la dernire qui porte sur la reconnaissance de parole, qui utilise des mthodes spcifiques, adaptes la nature temporelle de linformation traite.

    Dans la plupart des mthodes dcrites dans ce document, une forme est reprsente par un vecteur dont les composantes sont des grandeurs caractristiques. Le seul cas particulier est celui de la reconnaissance de parole, dans lequel une forme est reprsente par un ensemble de vecteurs, la dimension supplmentaire (celle du nombre de vecteurs de cet ensemble) correspondant au temps.

    Dans tout ce document, RdF sera synonyme de classification. Applications industrielles

    Parmi les applications industrielles actuelles de la Reconnaissance des Formes (RdF), on peut citer la reconnaissance biomtrique : empreinte digitale, iris de lil, visage (par exemple

    pour laccs des lieux scuriss) ; la reconnaissance de parole (par exemple pour la conversion parole vers texte), de

    lcriture (par exemple traitement ou archivage de documents manuscrits) ; la classification automatique dobjets divers. Dans chacune de ces applications, il est assez difficile de connatre les mthodes utilises,

    pour des raisons videntes de secret industriel. Lien avec autres domaines

    La RdF est un domaine trs proche de celui de lanalyse de donnes (utilis pour la prvision, les tudes statistiques, etc) : la reconnaissance passe souvent par une analyse de donnes pralable, dune subdivision de ces donnes en groupes dappartenance distincts, puis dune prise de dcision dappartenance lun de ces groupes.

    Cest un domaine galement trs proche de celui des rseaux de neurones (RdN) : dune part la RdF est la principale application des RdN, et dautre part de nombreuses mthodes de RdF peuvent tre formules dans le cadre des RdN. Principes gnraux

    La RdF fonctionne souvent par apprentissage, partir dexemples de donnes disponibles. Il existe 2 grandes catgories dapprentissage : supervis ou non supervis. Dans le cas non-supervis, les paramtres dun classifieur sont ajusts partir de donnes dapprentissage, sans regarder si la rponse du classifieur est correcte ou non pendant cette modification. Dans le cas supervis, au contraire, les erreurs commises par le classifieur sont exploites pour corriger son fonctionnement par lajustement de ses paramtres.

    Dans la plupart des algorithmes, le nombre de classes des donnes est initialement indiqu lalgorithme.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    4

    I) Les k plus proches voisins (kPPV) Principe

    La forme classer est compare aux autres formes ayant dj t classes, et on lui affecte la classe la plus reprsente parmi les k plus proches delle.

    Dans le cas particulier k=1, cest la classe de la forme la plus proche de la forme classer qui est affecte cette dernire.

    La notion de proximit utilise est quantifie par une mesure de similarit. La mesure de similarit la plus utilise est la distance euclidienne.

    Pour que lalgorithme puisse dmarrer, il faut utiliser un certain nombre dexemples dont la classe est connue, auxquels vont tre compars les premiers vecteurs classer.

    Paramtres

    Les diffrents paramtres de lalgorithme, rglables par lutilisateur, sont : - le nombre dexemples dont la classe est connue, utiliss au dmarrage de lalgorithme - la valeur de k - la mesure de similarit (ex. : distance euclidienne)

    Algorithme Choisir des exemples initiaux, dont la classe est connue Pour chaque vecteur classer Mesurer la similarit entre le vecteur classer et tous les vecteurs dj classs Dterminer les k vecteurs pour lesquels la similarit est la plus grande (=kPPV) Dterminer la classe la plus reprsente parmi ces k vecteurs et affecter cette classe

    au vecteur classer Proprits

    - Le cot de calcul augmente avec le nombre de vecteurs dj classs, ce qui reprsente un inconvnient.

    - Le rsultat de classification dpend de lordre de prsentation des exemples, do limportance de faire une initialisation correcte.

    - Le choix de k constitue un compromis : une petite valeur permet de dfinir des frontires compliques entre les classes, mais prsente une grande sensibilit au bruit ; une grande valeur permet de dfinir des frontires lisses et de prsenter une insensibilit au bruit, mais ne permet pas de traiter le cas de classes possdant un effectif rduit (car dans ce cas il faut beaucoup dexemples initiaux).

    - La rgle daffectation dfinie dans lalgorithme comporte de nombreux cas indcidables. Par exemple, les cas o il ny a pas une classe plus reprsente que les autres dans les k plus proches voisins (exemple : k=3 et nombre de classes =3 galement). Dans de tels cas, on peut soit imposer que la valeur de k respecte quelques contraintes par rapport au nombre de classes (par exemple il ne doit pas tre un multiple du nombre de classes), ou choisir une rgle de dcision supplmentaire, comme par exemple les distances minimales.

    - Il peut tre dmontr, dune manire thorique, que cette mthode est optimale quand les donnes sont gaussiennes (voir paragraphe sur classification bayesienne et lannexe sur les statistiques).

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    5

    II) Nues dynamiques Principe

    La principale diffrence avec les kPPV est que chaque vecteur classer nest pas

    compar tous les exemples dj classs, mais un seul vecteur reprsentatif de chaque classe.

    Les principales caractristiques de cette mthode sont les suivantes : Chaque classe est reprsente par un vecteur : on lappelle noyau, ou reprsentant, ou

    encore prototype. Ce reprsentant est obtenu par combinaison des vecteurs affects sa classe par

    lalgorithme. Souvent, on le prend gal la moyenne de ces vecteurs. Chaque vecteur classer est compar tous les noyaux au moyen dune mesure de

    similarit (le plus souvent, la distance euclidienne). Ce vecteur est associ la classe dont le noyau est le plus proche.

    Le noyau est mis jour chaque affectation dun nouveau vecteur la classe quil reprsente. Leffet de cette modification est un rapprochement du noyau vers le nouveau vecteur. Remarque : Dans le cas o le reprsentant est constitu par la moyenne des vecteurs affects sa classe, il nest pas ncessaire de re-calculer la moyenne de tous les vecteurs. En effet on peut montrer facilement que la moyenne de n+1 vecteurs peut sexprimer de manire rcursive, en fonction de la moyenne de n vecteurs :

    1nxm.n

    m 1nn1n ++

    = ++

    o xn+1 est le (n+1)e vecteur et mn+1 la moyenne de n+1 vecteurs. Cette relation reste valable lorsque x et m sont des vecteurs de dimension quelconque.

    Le reprsentant initial pour chaque classe peut tre un vecteur de cette classe choisi alatoirement, mais lalgorithme aura plus de chances de sexcuter efficacement si on utilise plutt un vecteur reprsentatif de cette classe, cest dire situ aux alentours du centre (par exemple gal la moyenne de quelques points connus de cette classe).

    Paramtres

    - reprsentants initiaux pour chaque classe - mesure de similarit (ex. : distance euclidienne)

    Algorithme Choisir le reprsentant initial de chaque classe (ou le calculer partir de vecteurs de cette

    classe) Pour chaque vecteur classer Mesurer la similarit entre le vecteur classer et les reprsentants des diffrentes

    classes Dterminer le reprsentant correspondant la similarit maximale Modifier ce reprsentant pour prendre en compte le nouveau vecteur affect sa

    classe

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    6

    Proprits

    - Mthode peu coteuse en calculs car chaque vecteur classer nest compar qu un seul autre vecteur pour chaque classe : le noyau.

    - Mthode ayant la proprit de minimiser un critre global : la somme des distances des points au prototype le plus proche deux.

    - Dun point de vue gomtrique, cette proprit correspond un dcoupage de lespace des entres appel pavage (ou tessellation) de Vorono, dans lequel chaque pav est associ un vecteur reprsentant : il est constitu par lensemble des points les plus proches de lui que de tous les autres reprsentants.

    - Mthode sensible lordre de prsentation des donnes classer : si cet ordre est alatoire, le rsultat de la classification sera diffrent chaque excution de lalgorithme.

    - Avec la distance euclidienne, mthode ayant tendance crer des classes hyper-sphriques (des cercles en dimension 2). Donc fonctionne bien avec des classes hypersphriques mais moins avec les formes plus complexes. Pour pallier cet inconvnient, on peut utiliser plusieurs reprsentants par classe (voir ci-dessous).

    Variantes Une variante permettant de traiter des classes de formes complexes consiste utiliser plusieurs reprsentants par classe. Le principe de lalgorithme reste le mme. III) Apprentissage comptitif a) Apprentissage comptitif non-supervis (vector quantization : VQ)

    Cette mthode est galement appele quantification vectorielle. Elle dsigne le fait de remplacer un vecteur dont les composantes peuvent tre quelconques, par un vecteur dun ensemble discret. Cette opration est analogue la quantification dun signal chantillonn : la valeur des chantillons constitue alors une variable mono-dimensionnelle, alors que dans la RdF on raisonne sur des vecteurs multi-dimensionnels. Principe

    La mthode de quantification vectorielle est trs proche des nues dynamiques. Mais

    plutt que dutiliser la moyenne des vecteurs affects une classe pour reprsenter celle-ci, les vecteurs reprsentants sont adapts par une rgle dapprentissage, chaque classification dun nouveau vecteur.

    De plus cette mthode est souvent formule dans le cadre des Rseaux de Neurones, qui fait que les termes employs sont diffrents de ceux de la mthode des nues dynamiques, tout en dsignant des choses trs proches. (voir lintroduction aux Rseaux de Neurones en annexe). Les prototypes sont alors cods dans les vecteurs poids des neurones. Dans la version "classique", on recherche par exemple une distance minimale comme critre de similarit maximale, mais dans la version neuronale on recherche un produit scalaire

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    7

    maximal, entre un vecteur classer et les vecteurs poids des neurones. On peut montrer que ces deux critres sont quivalents, dans certaines conditions (voir annexe sur calcul matriciel).

    Lapprentissage est de type non-supervis, cest dire que linformation dappartenance des vecteurs dexemple une classe nest par utilise pendant lapprentissage, sauf pour ceux qui sont utiliss pour initialiser lalgorithme (comme dans le cas des nues dynamiques).

    Paramtres

    - coefficient dapprentissage - reprsentants initiaux pour chaque classe - mesure de similarit (ex. : distance euclidienne)

    Algorithme Choisir les reprsentants initiaux pour chaque classe Initialiser les poids de chaque neurone un exemple reprsentatif de chaque classe (1) Rpter un certain nombre de fois (2) : Appliquer un vecteur en entre du rseau Slectionner le neurone dont le vecteur poids est le plus proche du vecteur dentre

    (neurone "vainqueur") (3) Modifier les poids de ce neurone par la rgle dapprentissage (4) :

    jijiij y)wx.(w -a=D

    (1) ou des valeurs alatoires, mais cela peut poser le problme des neurones "morts". (2) En gnral, on prsente une fois tous les vecteurs de la base dapprentissage, puis on

    recommence. On peut fixer un nombre de prsentations de manire arbitraire et empirique, ou dfinir un critre de convergence. Par exemple, utiliser la base de test aprs chaque prsentation de la base dapprentissage ; le critre darrt est alors atteint quand le taux de reconnaissance sur la base de test passe au dessus dun seuil.

    (3) La mesure de similarit utilise peut tre base sur le calcul dune distance euclidienne, de Hamming, ou dun produit de corrlation.

    (4) La sortie du neurone vainqueur est fixe 1 et celle des autres 0 (cest le principe de lapprentissage comptitif). Par application de la rgle dapprentissage, seuls les poids du neurone vainqueur sont modifis. Cest quivalent appliquer la rgle

    )wx.(w ijiij -a=D uniquement au neurone ayant rpondu le plus fortement.

    Leffet de cette rgle dapprentissage est de rapprocher le vecteur poids du neurone

    vainqueur, du vecteur classer comme dans les nues dynamiques. Variante

    Une variante consiste utiliser plusieurs vecteurs reprsentants par classe. Elle permet de traiter le cas des classes dont la forme est plus complexe que simplement hypersphrique.

    Comme dans les nues dynamiques, la structure gnrale de lalgorithme reste la mme. Dun point de vue neuronal, dans le cas o il y a plusieurs reprsentants par classe, cela

    correspond avoir 2 couches de neurones, dont la 2e (neurones de codage des classes) implmentent des fonctions OU.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    8

    b) Apprentissage comptitif supervis (learning vector quantization : LVQ)

    LVQ (pour Learning Vector Quantization) est une version supervise de lalgorithme de quantification vectorielle. Comme dans toutes les mthodes supervises, pendant lapprentissage, on utilise linformation dappartenance des exemples dapprentissage une classe.

    Il existe plusieurs versions de cet algorithme, appeles : LVQ1, LVQ2, LVQ2.1, LVQ3, OLVQ1. Le package LVQ_PAK (disponible sur Internet) regroupe les sources de ces programmes pour toutes les versions, sauf LVQ2. Principe

    Pour un vecteur dentre classer, si le vecteur poids du neurone vainqueur est un prototype de la classe correcte, il est modifi de la mme faon quavec la mthode VQ (version non-supervise de lalgorithme) ; il est donc rapproch du vecteur dentre. A la diffrence de VQ, si le vecteur poids du neurone vainqueur nest pas un prototype de la classe correcte, il est loign du vecteur dentre.

    On peut avoir plusieurs reprsentants par classe. En effet, comme dans le cas des Nues Dynamiques, avec un seul reprsentant par classe la mthode de bons rsultats pour les classes hypersphriques et moins bons pour les autres formes de classes. Le fait de prendre plusieurs reprsentants par classe permet de mieux traiter le cas de classes de formes complexes.

    Avec plusieurs reprsentants par classe, le rseau se compose de 2 couches : la premire est constitue de neurones codant chacun un reprsentant dune classe, la deuxime de cellules ralisant des fonctions OU sur les sorties de neurones de la premire. Les neurones de la dernire couche codent chacun une classe. Diffrentes versions

    LVQ1

    La modification des poids du neurone vainqueur est dfinie par : ( ))t(w)t(x).t(s)t(w)1t(w kkk -a+=+

    o c est lindice de classe, a un coefficient dapprentissage (fixe), et s(t)=+1 si la classification est correcte (le neurone vainqueur reprsente la bonne classe)

    -1 si la classification est incorrecte (le neurone vainqueur ne reprsente pas la bonne classe)

    LVQ2

    Dans cette version on ne modifie pas uniquement le prototype le plus proche du vecteur

    classer mais les deux prototypes les plus proches, quand les conditions suivantes sont runies : le vecteur classer est proche de la frontire (hyperplan) qui spare les 2 prototypes, cest

    dire quil est peu prs gale distance du prototype correct et du prototype incorrect ; le prototype le plus proche correspond une classe incorrecte et le second prototype le plus

    proche la classe correcte. La premire condition peut tre implmente de la manire suivante : soient di et dj les

    distances euclidienne entre une entre x et respectivement wi, le reprsentant de la classe

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    9

    incorrecte, et wj, celui de la classe correcte. x est dfini comme tombant dans une fentre de largeur L si

    sd

    d,

    dd

    mini

    j

    j

    i >

    avec

    L1L1

    s+-

    =

    Lalgorithme loigne alors wi (le prototype incorrect) du vecteur classer x et en rapproche wj (le prototype correct), comme dans la version de base.

    Les valeurs recommandes pour L sont 0,2 0,3. Lintrt de cette variante est de dplacer les vecteurs prototypes uniquement dans les cas

    o il y a mauvaise classification, et o le vecteur classer se trouve proche de la frontire entre 2 classes, zone dambigut.

    LVQ2.1

    Dans cette version on modifie les deux prototypes les plus proches comme dans LVQ2,

    mais lun des deux peut indiffremment reprsenter la classe correcte et lautre une mauvaise classe. La modification nest applique que si le vecteur classer est proche de la frontire qui spare les deux prototypes.

    LVQ3

    Dans le cas o les 2 prototypes les plus proches du vecteur classer reprsentent une classe diffrente, ils sont modifis de la mme manire que dans LVQ2.1.

    Mais dans le cas o ces 2 prototypes appartiennent la mme classe que le vecteur classer, on ajoute un facteur constant dans la rgle dapprentissage :

    ( ))t(w)t(x.)t(w)1t(w kkk -ae+=+ , k{i,j} o i et j sont les indices de ces 2 prototypes.

    Leffet de cette rgle supplmentaire est dviter les drives des prototypes long terme (cest dire dans le cas o les mmes entres sont prsentes indfiniment, cycliquement), possibles avec LVQ2.1.

    Des valeurs empiriques pour e vont de 0,1 0,5.

    OLVQ1

    Il sagit dune variante de lalgorithme de base LVQ1, dans laquelle les valeurs optimales des taux dapprentissage sont dtermines. Chaque classe possde son propre taux dapprentissage.

    Le taux dapprentissage est dfini par :

    )1t().t(s1)1t(

    )t(c

    cc -a+

    -a=a

    o c est lindice de classe, et s(t)=+1 si la classification est correcte ;

    -1 si la classification est incorrecte. Il diminue quand le nombre de bonnes classifications augmente (s(t)=1), et augmente

    quand le nombre de mauvaises classification augmente (s(t)=-1). Ainsi, quand la classification samliore, les prototypes ont tendance se stabiliser.

    Empiriquement, on observe que le taux de reconnaissance maximal est atteint au bout dun nombre de prsentations de toute la base dapprentissage gal 30 50 fois le nombre de vecteurs prototypes.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    10

    On ajoute simplement lindice de la classe dans la rgle dapprentissage : ( ))t(w)t(x)t().t(s)t(w)1t(w kckk -a+=+

    V) Fonctions radiales de base a) RCE (Reduced Coulomb Energy) Le rseau RCE est un rseau construction dynamique. Il sagit dune mthode supervise, cest dire dans laquelle lappartenance aux classes est connue lavance. Principe

    Lide de cette mthode est de reprsenter les classes par une runion dhypersphres (des cercles en dimension 2). Chaque hypersphre est code par une cellule (quon appellera cellule de codage).

    Une classe est code par une cellule recevant les sorties dune ou plusieurs cellules de codage.

    Initialement le rseau ne comporte aucun neurone de classe. Un nouveau neurone est cr ds que le besoin sen fait sentir, cest dire quand les neurones dj crs ne peuvent coder correctement une nouvelle entre. Un neurone possde une zone dinfluence dans lespace des entres, de forme circulaire et dfinie par son rayon, initialement centre sur lentre ayant provoqu la cration de ce neurone. Cette zone circulaire est dfinie par la rgle dactivation des neurones :

    pour le neurone j : yj=1 si dist(x, wj) lj 0 sinon

    o : lj est le seuil dentre du neurone j (galement le rayon de son cercle dinfluence), x le vecteur dentre actuel, wj le vecteur poids du neurone.

    Proprits

    Inconvnients le nombre de prototypes (et donc de cellules) dpend de lordre de prsentation des

    entres lalgorithme est trs consommateur de mmoire tendance lapprentissage par coeur (mme du bruit) et donc mauvaise gnralisation la mthode est non optimale dans le cas des classes qui se chevauchent, contrairement

    aux mthodes qui dfinissent des frontires entre les classes

    Avantages apprentissage rapide, permettant donc des applications temps-rel simplicit : un seul paramtre initial l1 + un chantillon dapprentissage faible connectivit : linaire en fonction du nombre de neurones possibilit dapprentissage de nouvelles donnes sans avoir r-apprendre toute la

    base

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    11

    Algorithme Initialisation : rayon initial des hypersphres l0 Pour chaque vecteur classer

    Si ce vecteur nappartient pas la rgion dinfluence dune cellule de codage, cration dune nouvelle cellule de codage

    - Sil existe dj un neurone de classe pour la classe de ce vecteur, connexion de cette nouvelle cellule de codage cette cellule de classe

    - Sinon, cration dune nouvelle cellule de classe pour la classe de ce vecteur Si ce vecteur appartient la rgion dinfluence dune ou plusieurs cellule(s) de codage

    - Pour chacune de ces cellules de codage - Si cette cellule de codage reprsente la classe du vecteur prsent, la classification est

    correcte et rien ne se passe - Sinon, cela signifie que la rgion dinfluence de cette cellule de codage est trop grande : - Diminution de cette rgion : lk=dist(x, wk)-e (x vecteur classer, wk vecteur poids de

    cette cellule) - Si aucune de ces cellules de codage ne reprsente la classe correcte - Cration dune nouvelle cellule de codage, dont le rayon de la rgion dinfluence doit tre

    lgrement infrieur la distance entre le vecteur classer et tous les autres vecteurs reprsentants (*). Dans le cas gnral de n cellules de codage, cette rgion dinfluence doit donc satisfaire la condition :

    ln

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    12

    b) Rseaux neurones gaussiens

    Par comparaison avec la mthode RCE, la sortie des neurones de la premire couche (la couche de codage) nest pas du type tout-ou-rien. Comme dans RCE, une distance est calcule entre un vecteur dentre classer et un vecteur reprsentant, mais plutt que dappliquer cette diffrence une fonction seuil, elle est applique une fonction pouvant avoir une autre forme : gaussienne, triangulaire, carre... En gnral cest la fonction gaussienne qui est utilise. Contrairement RCE la sortie des neurones de la couche de sortie nest pas le rsultat dune fonction OU, mais une somme pondre des sorties des neurones de la couche de codage. RCE peut donc tre vu comme un cas particulier de FRB.

    La sortie y des neurones de sortie, dans le cas gaussien, est dfinie par :

    ( )xGwy kP

    1kkjj

    =

    =

    o P est le nombre de neurones dans la couche intermdiaire, wkj est le poids reliant le ke neurone de la couche intermdiaire au je neurone de sortie, x est le vecteur dentre actuel du rseau, Gk(x) est la fonction de transfert, gaussienne dans notre cas, avec ses paramtres spcifiques. Lindice de lexemple est omis pour simplifier lcriture.

    La gaussienne est dfinie par :

    ---= - )xx(C)xx(

    21

    exp)x(G )c(k1

    kT)c(

    kk

    o 1kC- est la matrice de covariance des vecteurs dentre, )c(kx le centre de la k

    e gaussienne. Pour les fonctions radiales de base utilises on utilise le terme "noyaux gaussiens".

    Normalement, lexpression dune gaussienne comporte un coefficient constant

    multiplicatif de lexponentielle, mais dans les FRB ce coefficient nest pas ncessaire dans la mesure o les diffrentes gaussiennes sont pondres par les poids des neurones de sortie, qui sont ajustables.

    Il est rappel que dans le cas 1 dimension, lexpression dune gaussienne est :

    s

    --

    ps= 2

    )c(k

    k 2)xx(

    exp2

    1)x(G

    Exemple dimplmentation

    Dans cet exemple, les 3 ensembles de paramtres sont dtermins de la faon suivante :

    Les centres des gaussiennes )c(kx : on choisit dutiliser la mthode des kppv pour slectionner des vecteurs reprsentatifs des donnes, pour ces centres ;

    La matrice de covariance des gaussiennes Ck : on choisit dutiliser une matrice diagonale avec la mme variance sur tous les lments de la diagonale (ce qui correspond des gaussiennes isotropes, cest dire avec le mme talement dans toutes les dimensions)

    Les poids de sortie : on choisit de les adapter par apprentissage supervis laide de la rgle suivante :

    )yy.(y.w jdjiij -a=D

    o : wij est le poids de la connexion entre les neurones i et j ; yi est la sortie du neurone gaussien i ; yj est la sortie du neurone de sortie j ;

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    13

    y jd est la sortie dsire du neurone j.

    a est un coefficient dapprentissage, en gnral infrieur 1 : il rgle la quantit dadaptation des poids chaque prsentation dun exemple ;

    Algorithme dapprentissage des poids de sortie dun rseau FRB

    Chargement des donnes d'apprentissage Chargement des donnes de test Recherche dun nombre fix nb_noyaux de vecteurs reprsentatifs (ou par exemple

    chargement dun fichier .cod gnr par le programme 'eveninit' du LVQ_PAQ) Initialisation dun tableau des sorties dsires du rseau (de taille nb_noyauxnb_classes),

    pour le calcul de l'erreur de sortie Initialisation dun tableau (de taille nb_noyauxnb_classes) des poids de sortie des valeurs

    alatoires (par exemple avec la fonction rand) Classification, par prsentation des entres et calcul des sorties du rseau : pour chaque

    pisode d'apprentissage (prsentation de toute la base d'apprentissage) o Pour chaque vecteur d'apprentissage

    Calcul des sorties de la couche des neurones gaussiens Pour chaque neurone de sortie

    - Calcul de la sortie - Calcul de lerreur de cette sortie - Modification des poids de ce neurone en vue de la correction des erreurs

    o Nouveau calcul de l'erreur avec les donnes de test : pour chaque vecteur de test Calcul des sorties de la couche des gaussiennes Pour chaque neurone de sortie

    - Calcul de la sortie - Calcul de lerreur de cette sortie

    Comptition en sortie (pour mise en vidence de la rponse maximale) : remplacement par 1 de la rponse maximale ; les autres par 0

    o Calcul du pourcentage d'erreur pour chaque classe c) Fentres de Parzen

    Historiquement, les fentres de Parzen sont plus anciennes que les fonctions radiales de base. Elles datent des annes 60, et peuvent tre formules dans le cadre des rseaux de neurones.

    Le rseau est compos de 2 couches : la premire est constitue des neurones-noyaux, un pour chaque exemple dapprentissage. La seconde est constitue de neurones de classification, connects tous les neurones-noyaux, et ralisant une simple somme de leurs entres.

    La sortie du neurone j de la couche de classification est dfinie par une somme de fonctions noyaux, pondre par un coefficient fixe :

    ( )=

    =N

    1iij xKN

    1y

    N est le nombre dexemples dans la base dapprentissage ; ce qui signifie que lon utilise un noyau pour chaque exemple dapprentissage. Le coefficient 1/N a un rle de normalisation

    La fonction noyau k(x) peut avoir une forme quelconque : carre, triangulaire, gaussienne. La seule condition respecter est que la surface quelle dfinit avec laxe des abscisses x soit gale 1.

    Si les noyaux sont de forme gaussienne, dans le cas de la dimension 1 (et centr sur 0) ils sont dfinis par :

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    14

    s

    -sp

    = 222

    h.2x

    exph..2

    1)x(G

    Le rle du paramtre h est dassurer que lintgrale de la fonction soit toujours gale 1. Cest lunique paramtre du modle. Plus gnralement, en dimension d :

    ---

    p==

    -

    2i

    1Ti

    d2/d h2)xx(C)xx(

    exp|C|h)2(

    1)x(G)x(K

    Le paramtre h est dtermin empiriquement.

    Comparaison avec Fonctions Radiales de Base

    Comme dans le cas des FRB, on a une premire couche de neurones fonction dactivation gaussienne, et une 2e couche de neurones linaires.

    Mais plutt que davoir des gaussiennes de diffrentes tailles comme dans les FRB, on a un seul paramtre dtendue des gaussiennes, commun tous les neurones dentre. Ce paramtre est rgl une fois pour toutes.

    De plus, au lieu davoir des poids sur les liens dentre des neurones de sortie, ces poids nexistent pas (ou on peut considrer quils soient tous gaux 1). VI) Rseaux de neurones multicouches avec rtropropagation du gradient

    La rtropropagation du gradient est un algorithme dapprentissage applicable aux rseaux de neurones multicouches non-linaires. Ce type de rseau est historiquement appel perceptron.

    Cette mthode est base sur les proprits de classification des neurones non-linaires, sans les limitations des rseaux mono-couche.

    a) Proprits dun rseau monocouche de neurones seuil

    Un neurone seuil 2 entres peut sparer un plan en 2 parties par une droite, et donc

    raliser une classification en 2 classes. En effet, la sortie de ce neurone est dfinie par : )xwxw(sy 2211 +=

    o s est la fonction seuil (voir annexe sur les rseaux de neurones). Les vecteurs dentre de ce neurone sont de dimension 2 et donc reprsentent des points

    dans un plan. On peut distinguer 2 cas :

    w1x1+w2x2>0 (1) y=1 w1x1+w2x2 - (2)

    xww

    x21

    21= - est lquation dune droite passant par lorigine et de pente w1/w2.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    15

    (2) le point est au dessus de la droite

    En rajoutant un 3e lien dentre ce neurone (entre x0 et poids w0), reli une entre constante, on peut avoir une droite quelconque :

    )xwxwxw(sy 221100 ++= Lquation de la droite devient alors :

    02

    01

    2

    12 xw

    wx

    ww

    x --=

    En prenant par exemple x0=1 (choix arbitraire), lordonne lorigine de la droite est w0/w2. La pente reste la mme.

    Un perceptron mono-couche permet donc de raliser une classification en 2 classes dans le cas dun problme linairement sparable, cest dire pour lequel tous les exemples dune classe peuvent tre spars de tous les exemples de lautre classe par une droite.

    b) Apprentissage du perceptron

    Le but de lapprentissage est dobtenir automatiquement les droites de sparation, partir dexemples dentres/sorties. Les coefficients des droites de sparation sont cods dans les poids du rseau.

    Lapprentissage est de type supervis car il utilise linformation de classe correcte des exemples.

    La rgle dite dapprentissage supervis est dfinie par :

    Dwij = taux dapprentissage erreur de sortie sortie soit

    ij)d(

    jij x).yy.(w -a=D o

    )d(jy est la valeur dsire (cest dire la valeur exacte) de la sortie du neurone j.

    yj est la valeur fournie par le neurone. c) Apprentissage (supervis) par descente de gradient

    Il sagit dune autre mthode dapprentissage, base sur la diminution du gradient dune erreur par rapport aux poids du rseau.

    La rgle dapprentissage est dfinie par :

    ijij w

    Ew

    a-=D

    a est le taux dapprentissage, positif et compris entre 0 et 1 (la plupart du temps trs infrieur 1).

    E est lerreur de sortie : dans le cas dun apprentissage instantan (voir paragraphe suivant), elle est gale la somme des erreurs individuelles des neurones de sortie :

    = -=m

    1i2

    i)d(

    i )yy(21

    E

    )d(jy est la sortie dsire du neurone j et yj sa sortie effective. Lapprentissage est du type supervis.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    16

    m est le nombre de neurones de la couche de sortie. Le coefficient 1/2 nest pas obligatoire.

    Le calcul de la drive de ijwE permet de dterminer lexpression de la rgle dapprentissage :

    ij)d(

    jij x).yy.(w -a=D Il est intressant de constater quelle est identique la rgle dapprentissage du

    perceptron nonce dans le paragraphe prcdent. Ce qui signifie que rduire lerreur locale chaque neurone est quivalent rduire la somme des erreurs des neurones de sortie.

    Pour un apprentissage en temps diffr, la rgle dapprentissage nest applique quune

    fois que tous les vecteurs dapprentissage ont t prsents au rseau (voir paragraphe suivant). Lerreur est calcule sur tous les exemples de la base dapprentissage :

    = = -=F

    1f

    m

    1ifi

    )f,d(i )yy(2

    1E

    o F est le nombre de formes prsentes dans cette base. On peut dmontrer par calcul que dans ce cas la rgle dapprentissage devient :

    ( ) )f(iF

    1ff

    )f(i

    F

    1f

    )f(j

    )d,f(jij xE2xyy2w

    ==

    a=-a=D

    Les rseaux monocouches ne peuvent traiter que les problmes linairement sparables, ce qui nest pas le cas de la plupart des problmes rels. Par exemple, le problme pourtant simple du OU-Exclusif nest pas linairement sparable. Lextension de lapprentissage par descente de gradient aux rseaux multi-couches a donc t dveloppe pour traiter les problmes dans lesquels les classes peuvent avoir des formes quelconques. d) 2 modes dapprentissage

    Selon que lon modifie les poids des neurones aprs chaque prsentation dune entre ou aprs la prsentation de tous les exemples de la base dapprentissage (en fonction de lerreur cumule), on est en mode dapprentissage instantan ou diffr.

    Lalgorithme est un peu diffrent dans les deux cas. Mode instantan (temps-rel, en ligne, incrmental) Initialisation des poids

    Pour chaque cycle dapprentissage (jusqu convergence) Dbut

    Pour chaque exemple de la base dapprentissage Dbut

    Prsentation de lexemple au rseau Activation du rseau (=propagation dactivit directe=calcul de sa sortie) Calcul de lerreur de sortie Modification des poids en fonction de lerreur

    Fin Fin

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    17

    Mode diffr (hors-ligne, batch mode) Initialisation des poids

    Pour chaque cycle dapprentissage (jusqu convergence) Dbut

    Pour chaque exemple de la base dapprentissage Dbut

    Prsentation de lexemple au rseau Activation du rseau Calcul de lerreur de sortie et cumul

    Fin Modification des poids en fonction de lerreur cumule Fin e) Algorithme de rtropropagation du gradient Enonc de lalgorithme

    Le nom de cette mthode dsigne la faon dont le gradient de lerreur de sortie est utilis pour adapter les poids synaptiques du rseau, de la couche de sortie vers la ou les couche(s) en amont, dans le but de rduire ses erreurs. Comme dans le cas mono-couche (dcrit plus haut), la rgle dapprentissage par descente de gradient est dfinie par :

    ijij w

    Ew

    a-=D

    Dans le cas des rseaux multicouches, elle peut donner naissance la rgle dapprentissage dite "delta gnralise", dfinie par :

    )1c(

    i)c(

    jij y..w-da=D

    avec ( ))c(jj)c(j a'f.e=d pour le neurone j de la couche de sortie

    )1c(jk

    k

    )1c(k

    )c(j

    )c()c(j w.).a('f

    ++d=d pour le neurone j de la couche cache et

    ii

    ijj ywa = .

    )c(jd est appel gradient local au neurone j (cach ou de sortie). C est lindice de la couche f(x) est une fonction linaire pour au moins une des couches, mais ne peut pas tre la

    fonction seuil Caractristiques Cet algorithme permet de rsoudre des problmes de classification dans lesquels les classes ne sont pas linairement sparables, donc les cas de donnes relles. Il faut au moins une couche non-linaire dans le rseau car un rseau multicouche compos de couches linaires est quivalent un rseau monocouche linaire, donc ne peut rsoudre des problmes non-linairement sparables.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    18

    Lalgorithme de rtropropagation est applicable tout rseau multi-couches dont les fonctions dactivation sont drivables (la plus utilise est la fonction sigmode), car la drive de cette fonction intervient dans la rgle de modification des poids. Si le nombre de neurones dans les couches caches est trop grand, le rseau a tendance apprendre par coeur les donnes dapprentissage (et donc mal gnraliser). Le problme est le mme quand on effectue un nombre trop important ditrations dapprentissage. VII) Classification bayesienne Dans la classification bayesienne, les classes et les donnes classer sont considres comme des variables alatoires (VA). Les classes sont en nombre fini. Ce sont donc des VA discrtes et elles sont dcrites par des probabilits (voir annexe). Les donnes sont des VA continues, donc elles sont dcrites par des fonctions de densit de probabilit (FDP). Thorme de Bayes

    Le thorme de Bayes donne la probabilit quune entre x (un vecteur de donnes)

    appartienne une classe donne yi. Cette probabilit est dfinie par :

    )x(p)y(P)y|x(p

    )x|y(P iii =

    avec ==N

    1i ii)y(P)y|x(p)x(p , o N est le nombre de classes.

    P() dsigne une probabilit et p() une FDP.

    P(yi|x) est appele probabilit a posteriori de la classe yi. Il sagit dune probabilit conditionnelle, car on connat la donne classer, et ce quon cherche dterminer est sa classe.

    P(yi) est appele probabilit a priori de la classe yi. Elle reprsente la probabilit quune donne (indpendamment de sa valeur) lui appartienne.

    p(x|yi) est la FDP de la classe yi. Elle reprsente la faon dont sont rparties les donnes dans lespace (de dimension gale celle des donnes).

    p(x) est la somme des FDP pour toutes les classes, pondres par les probabilits a priori de ces dernires.

    Estimation des paramtres

    En gnral, ce dont on dispose pour mettre au point un classifieur, cest un certain nombre de vecteurs dexemples pour chacune des classes. Dans le cas dune classification bayesienne, on cherche modliser chaque classe par une fonction, en gnrale une gaussienne (de dimension gale celle des vecteurs de donne).

    ---

    p=

    -

    2)xx(C)xx(

    exp|C|)2(

    1)x(G c

    1Tc

    2/n

    Modliser une classe par une fonction consiste dterminer la FDP de chacune des classes p(x|yi) :

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    19

    p(x|yi) =G(x)

    Les paramtres de chaque gaussienne sont estims partir des donnes disponibles. Le centre de chaque gaussienne xc est estim partir des donnes disponibles, comme

    tant la moyenne de ces donnes :

    =

    =m

    1iic xm

    1x

    o m est le nombre dexemples de la classe, xi est le ie exemple de x.

    La matrice de covariance est estime partir des mmes donnes (voir lannexe sur les statistiques pour plus de dtails sur la dfinition de la covariance). On peut lobtenir en calculant :

    TA.A.n1

    C =

    o A est une matrice compose de tous les vecteurs de donnes, auxquels on a soustrait leur moyenne, disposs en colonnes. n est le nombre de ces vecteurs, cest dire le nombre de colonnes de A.

    Dcision de classification pour une ressemblance maximale Le type de dcision le plus simple nutilise que linformation de densit de probabilit des exemples, et donc ne ncessite pas lapplication du thorme de Bayes. Cette mthode consiste dcider que la classe dun exemple x donn est celle donnant la densit de probabilit maximale. Cette rgle est appel "pour une ressemblance maximale" parce que la densit de probabilit des exemples reprsente une ressemblance entre les exemples dune classe et la classe elle-mme. Soit d(x) la dcision de classification pour le vecteur x, on a :

    d x yi( ) = si )y|x(p)y|x(p ji >

    avec i,j=1, 2, ..., N et ji, o N est le nombre de classes. Dcision de classification pour une erreur de classification minimale

    La rgle de dcision pour une erreur de classification minimale utilise en plus de linformation de densit de probabilit, linformation de probabilit a priori de chaque classe. En fait elle dcoule du thorme de Bayes : la classe pour laquelle la fonction dappartenance de x (fonction rsultant du thorme de Bayes) est maximale, est choisie comme tant la classe de x :

    d x yi( ) = si )x|y(P)x|y(P ji >

    d x yi( ) = si ==

    > N1i ii

    jjN

    1i ii

    ii

    )y(P)y|x(p

    )y(P)y|x(p

    )y(P)y|x(p

    )y(P)y|x(p

    d x yi( ) = si )y(P)y|x(p)y(P)y|x(p jjii >

    avec i, j=1, 2, ..., N et ji

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    20

    On peut remarquer que quand on dispose dautant dexemples pour chaque classe, on a :

    )y(P)y(P ji = pour i,j=1,...,n et ij et donc que les deux rgles de dcision sont quivalentes. VIII) Reconnaissance de parole a) Introduction

    La reconnaissance de parole est un problme spcifique, pour des raisons qui ont trait sa nature temporelle. Dans le cas de la reconnaissance de mots isols (cas le plus simple), un mme mot peut tre prononc plus ou moins rapidement : sil est trait par tranches temporelles (trames), il sera cod par un nombre plus ou moins important de vecteurs de caractristiques.

    Si les mots de rfrences (les classes) taient cods par le mme nombre de vecteurs de caractristiques que les mots classer, la classification pourrait se faire par une simple mesure de distance entre les 2 ensembles de vecteurs, la distance totale tant la somme des distances entre les vecteurs des 2 ensembles pris deux deux. Mais a nest pas le cas et une distance ne peut pas tre calcule directement. La mthode de comparaison dynamique (ou DTW pour Dynamic Time Warping) permet justement de comparer deux ensembles comprenant un nombre diffrent de vecteurs. DTW est lapplication la parole dune mthode plus gnrale, appele programmation dynamique. La distance calcule par cette mthode peut alors tre utilise pour la classification (comme dans les kPPV) avec k=1.

    Les principale mthodes de reconnaissance de parole existantes sont : DTW Modles de Markov cachs (MMC) Modles de Markov cachs associs un rseau de neurones (MMC-RN)

    DTW tait la mthode la plus rpandue dans les annes 70-80, dans les applications

    commerciales de la reconnaissance de parole. Aujourdhui ce sont les MMC. Les MMC-RN donnent de meilleurs rsultats que les MMC seuls, mais ne sont pas encore trs rpandus.

    Seule la mthode DTW est tudie ici.

    b) Caractristiques extraites du signal de parole Tel quel, un signal de parole nest pas facilement exploitable. Des informations pertinentes doivent en tre extraites, quon appelle galement lments caractristiques. De plus il sagit dun signal non stationnaire (cest dire qui change en permanence), ce qui pose un problme pour en extraire des informations frquentielles. On le dcoupe donc en morceaux, ou tranches, rgulirement espaces dans le temps. Dans le cas le plus simple de la reconnaissance de mots isols, un mot est cod par un ensemble de vecteurs de caractristiques, chaque vecteur codant une des tranches temporelles.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    21

    Une mthode classique dextraction de caractristiques consiste appliquer la Transforme de Fourier (TF) chaque trame de signal. On parle alors de TF glissante. Comme on est dans le domaine chantillonn, il sagit de la Transform de Fourier Discrte (TFD). Les entres du bloc de calcul de la TFD sont n chantillons du signal, ses sorties sont n points, correspondant des composantes frquentielles diffrentes. La frquence du ie point est nfi e / . Seuls linformation des n/2 premiers points est utile (les autres constituent une symtrie des premiers par rapport fe/2.

    Les diffrentes tapes de cette mthode sont rptes en boucle jusqu ce que le mot

    complet ait t trait. Ces tapes sont les suivantes : 1. une "tranche temporelle" (ou trame) du signal est dcoupe 2. cette trame est multiplie par une fonction fentre 3. la TFD est applique la trame "fentre" 4. le rsultat de la TFD est mis au carr

    Lintrt de ltape de fentrage (2) est dattnuer de manire continue et douce les

    extrmits de la trame. En effet un arrt brutal de ces extrmits revient ajouter des composantes frquentielles parasites au signal.

    Ltape 4 permet dobtenir une information homogne un aspect physique du signal : son nergie une frquence donne.

    Les trames successives doivent se chevaucher (par exemple sur 1/3 ou 1/2 de leur longueur), pour viter de perdre linformation dune partie du signal.

    En gnral, on utilise lalgorithme rapide de calcul de la TFD, appel FFT (pour Fast Fourier Transform). Cet algorithme est bas sur les proprit de lexponentielle, prsente dans la formule de la TFD, et peut sappliquer si le nombre dchantillons est une puissance de 2 (128, 256, 512, 1024, etc).

    Les n sorties du bloc calculant la TFD peuvent tre utilises comme vecteurs caractristiques dune trame de signal. Cependant en gnral on rduit la dimension de ce vecteur en calculant des moyennes. De plus on effectue galement des moyennes temporelles (sur quelques trames adjacentes), pour rduire laspect alatoire du signal de parole (cest ce quon appelle le priodogramme de Welch). c) Description de la mthode DTW Principe Soit deux ensembles de vecteurs A et B (par exemple des spectrogrammes), caractristiques de 2 signaux de parole, de longueur I et J (par exemple deux mots) :

    A={a1, a2, ..., aI}, B={b1, b2, , bJ} Les ai et les bj sont des vecteurs de dimension n, extraits par exemple de la faon dcrite

    dans le paragraphe prcdent. Un des deux ensembles constitue la forme de rfrence et lautre la forme reconnatre. La mthode ncessite de calculer dabord toutes les distances entre les vecteurs des

    ensembles A et B, deux deux. Ces distances sont ranges dans un tableau :

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    22

    o d(ai, bj),par exemple, est la distance euclidienne, entre les vecteurs de caractristiques ai et bj.

    La mthode DTW consiste rechercher dans ce tableau le chemin partant de la case en haut gauche. En faisant cela on impose que le dbut du mot reconnatre correspond au dbut du mot de rfrence.

    A chaque passage dune case lautre, on autorise par exemple 3 directions possibles (ce que lon appelle des contraintes), et on choisit la direction qui mne la case dans laquelle la distance est minimale.

    On cumule ces distances minimales au fur et mesure de la progression dans le tableau, ce qui donne une distance cumule. Cette distance cumule permet au bout du compte de dterminer le chemin avec la distance cumule la plus petite. Cette mthode est une mthode de programmation dynamique, et il a t dmontr en 1967 que le chemin de cot minimal tait la somme de tous les sous-chemins minimaux.

    De manire plus formelle, on calcule la distance cumule D(i, j), avec i [1, I] et j [1, J], en tenant compte des seules transitions autorises. Lalgorithme consiste choisir chaque itration, la distance cumule D(i, j) (avec d(i, j) la distance entre les deux tranches A(i) et B(j)) :

    )j,i(d)]1j,i(D),j,1i(D),1j,1i(Dmin[()j,i(D +----= Cette opration de comparaison est rpte avec toutes les formes de rfrence, et la

    forme pour laquelle la distance est minimale est retenue comme la classe de la forme comparer.

    Le rsultat doit tre normalis, pour le rendre indpendant de la taille des 2 ensembles (en nombre de vecteurs), en divisant par la somme des tailles des 2 ensembles. La distance entre les 2 formes A et B est donc finalement :

    JI)j,i(D

    )B,A(dist+

    =

    Algorithme trs_grand=10000 g[0][0]=0 pour j variant de 1 J g[0][j]=trs_grand

    pour i variant de 1 I d=dist(ai, bj) g[i][j]= min(g[i-1][j]+d, g[i-1][j-1]+d, g[i][j-1]+d)

    fin pour fin pour D=g[I][J]/(I+J)

    a1 a2 aI

    b1 d(a1,b1) d(a2,b1) d(aI,b1)

    b2 d(a1,b2) d(a2,b2) ...

    bJ d(a1,bJ) ... d(aI,bJ)

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    23

    Annexes A1. Affichage de donnes multi-dimensionnelles Intrt

    Il nest pas possible de visualiser mentalement, ni mme de reprsenter graphiquement, des donnes de dimension suprieure 3. Dans certains cas il est pourtant ncessaire de les visualiser, par exemple pour reprer des regroupements et initialiser certains algorithmes.

    Il est possible de raliser des projections en 2 ou 3 dimensions qui conservent les relations existant entre les points dans lespace multidimensionnel dans lequel ils sont dfinis. Un algorithme bien connu est celui de Sammon. Principe

    Le principe de cette mthode est de dfinir un critre derreur qui mesure la somme des diffrences au carr entre les distances entre tous les points considrs deux deux dans lespace de dpart, et les distances entre les mmes points dans lespace darrive, et de minimiser cette erreur.

    Soit n le nombre de points, D la dimension de lespace de dpart, d la dimension de lespace darrive (en gnral, 2), Di,j " i, j=1,....,n, ij, la distance (en gnral, euclidienne) entre 2 points dans lespace de dpart, di,j " i, j=1,....,n, ij la distance entre 2 points dans lespace darrive. Le critre minimiser est :

    -

    = +=-

    = +=

    -=

    1n

    1i

    n

    1ijij

    2ijij

    1n

    1i

    n

    1ij ijD

    )dD(

    D

    1E

    Ce critre varie entre 0 et 1.

    -= +==

    1n

    1i

    n

    1ij ijD

    1c est une constante

    Les coordonnes des points dans lespace darrive constituent les variables dterminer

    par lalgorithme. Ntant initialement pas connues, elles sont initialises des valeurs alatoires. Les points sont dplacs chaque itration de lalgorithme par petites quantits, jusqu ce que le critre E atteigne un minimum. Ce minimum est local, cest dire que lalgorithme peut converger vers cette valeur alors quil existe un ou plusieurs minima plus petit(s). La modification seffectue selon la descente la plus pentue (steepest descent) du gradient du critre E (cest galement la mthode qui est la base de lapprentissage par rtropropagation du gradient).

    A chaque itration de lalgorithme, chaque coordonne dans lespace darrive est modifie dune quantit proportionnelle au ngatif du gradient du critre :

    )t(x)t(E

    .)t(x)1t(xpq

    pqpq

    a-=+

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    24

    o xik est la ke coordonne du qe point dans lespace darrive. Une valeur usuelle du taux de modification a est 0,3 0,4.

    x et xE

    sont des vecteurs multidimensionnels. Pour le pe point :

    ( )tin2i1ii x,...,x,xx = et

    t

    pn2p1pp x)t(E,...,

    x)t(E,

    x)t(E

    x)t(E

    =

    o n est la dimension de lespace darrive. On peut dmontrer que les drives par rapport chacune des variables sont dfinies par :

    ( )=

    --

    -= n

    pj1j

    jqpqpjpj

    pjpj

    pq

    xxd.D

    dD.c2

    xE

    Cest la relation que lon peut alors programmer. A2. Introduction aux rseaux de neurones Dfinition

    Le domaine des rseaux de neurones est galement appel connexionnisme. Un neurone est un processeur lmentaire (ultra-simple) qui modlise grossirement un

    neurone naturel. Lopration quil ralise est une somme pondre dun certain nombre de signaux dentre (ce nombre peut tre variable), et applique cette somme une fonction de transfert qui peut avoir diffrentes formes (voir figure ci-dessous). Les coefficients de pondration sont appels coefficients synaptiques, ou poids synaptiques.

    Les signaux dentre sont constitus par les signaux de sortie dautres neurones connects au neurone considr, ou des signaux dentre. Les coefficients synaptiques modlisent les "forces" de connexion entre les neurones. Ces forces de connexion sont adaptes par apprentissage. Relation entres-sortie

    Lopration ralise par un modle de neurone est :

    ( ) == n 1i iixwfy ou

    ( ) = q-= n 1i iixwfy o q est appel biais. Il correspond un dcalage de la fonction f sur laxe des abscisses. Largument de f est appel "tat interne" du neurone ou encore potentiel post-synaptique. F est appele fonction dactivation ou encore fonction de transfert.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    25

    f

    x

    x

    x1

    2

    n

    1

    2

    n w

    ww

    y

    f

    -1

    1

    f1

    f1

    (a) (b) (c) La fonction d'activation peut avoir diverses formes : (a) seuil logique, (neurone de McCulloch et Pitts) ; les tats de sortie peuvent alors tre 0 et 1

    ou 1 et +1 (b) logistique ; elle a une forme similaire la fonction seuil, mais est continue : elle peut varier entre 1 et +1, ou 0 et +1 (c) linaire avec ou sans saturation

    La fonction de la figure (b) ci-dessus sappelle sigmode. Elle sexprime par :

    a/)x(e11

    )x(f q--+=

    Le paramtre a est la pente de la sigmode au niveau de son point dinflexion. Le dcalage de la fonction de transfert sur laxe des abscisses q peut tre vu comme un

    lien dentre supplmentaire du neurone, dont lentre est une valeur fixe. Cette entre constante peut tre note par exemple x0, et le poids du lien connect cette entre w0. Dans ce cas on peut crire la sortie du neurone de la faon suivante :

    ( ) == n 0i iixwfy

    o f est centre sur 0, et n est le nombre dentres du neurone. Il y a 2 cas possibles pour une entre dun neurone : tre constitue par :

    - la sortie dun autre neurone - une entre, cest dire une composante dun vecteur de donnes

    w

    i j

    Les poids synaptiques sont les paramtres libres du rseau. Ils sont dtermins automatiquement en fonction du problme par apprentissage, une fois la structure du rseau tablie. Connexion entre neurones

    Plusieurs neurones peuvent tre relis entre eux selon divers schmas de connexion, pour dfinir des rseaux.

    Le schma de connexion peut dfinir des couches, et dans ce cas la connexion dune couche lautre peut tre totale (les neurones dune couche sont connects tous les neurones

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    26

    de la couche en amont) ou locale (les neurones dune couche sont connects une partie des neurones de la couche en amont).

    Si tous les neurones sont connects entre eux, on parle de rseaux rcurrents car les sorties dun neurone sont relies ses entres, de manire directe ou indirecte. Rgles dapprentissage

    Les rgles dapprentissage indiquent la quantit de modification appliquer chaque poids, en fonction des exemples dentre (et des sorties dsires associes, dans le cas de lapprentissage supervis) :

    ijijij w)t(w)1t(w D+=+ o t dsigne un instant avant la modification des poids, et t+1 un instant aprs.

    Il existe un grand nombre de rgles dapprentissage diffrentes. Les 3 plus rpandues sont les suivantes :

    jiij y.y.w a=D rgle de Hebb

    jijiij y).wy.(w -a=D rgle dapprentissage comptitif

    )yy.(y.w jdjiij -a=D rgle dapprentissage supervis

    o : wij est le poids de la connexion entre les neurones i et j ; cette connexion est un lien

    dentre du neurone j ; yi et yj sont respectivement les sorties des neurones source i et cible j ; a est un coefficient dapprentissage, en gnral infrieur 1 : il rgle la quantit

    dadaptation des poids chaque prsentation dun exemple ; djy est la sortie dsire du neurone j.

    Remarque : dans le cas dun neurone dune couche dentre yi reprsente la ie coordonne du vecteur dentre.

    La 1re rgle est une rgle dapprentissage non-supervis (ou sans professeur), cest dire dans laquelle napparat pas de terme de sortie dsire des neurones. Ceci est quivalent aux mthodes de classification sans professeur, dans lesquelles les classes correctes ne sont pas connues. Hebb tait un neurobiologiste qui a cherch modliser les phnomnes dapprentissage dans les neurones naturels.

    La 2e peut tre utilise pour un apprentissage supervis ou non-supervis (par exemple VQ ou LVQ).

    La 3e est une rgle dapprentissage supervis (ou avec professeur). La classe correcte est connue au moins pour une partie des exemples disponibles. Dans le cadre des rseaux de neurones ces informations constituent des sorties dsires des neurones. Les 2 termes de la rgle correspondent :

    =D ijw taux dapprentissage entre erreur de sortie

    Parfois la combinaison entre le vecteur dentre et le vecteur de poids dun neurone nest

    pas constitu dun produit de corrlation mais dune distance (en gnral euclidienne) entre ces deux vecteurs (voir plus loin : rseaux VQ et LVQ, rseau RCE). En fait, quand le produit de corrlation entre deux vecteurs est maximal, la distance entre eux est minimale dans le cas o ces vecteurs sont normaliss (cest dire que leur norme est gale 1). Donc dans certaines conditions, les mthodes qui utilisent les produits de corrlation et celles qui utilisent les distances sont quivalentes.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    27

    Utilisation de Rseaux de neurones en Reconnaissance de Formes Comme dans le cas des mthodes "classiques" de reconnaissance de formes, les 2 grandes tapes dutilisation dun classifieur sont :

    sa construction, qui comprend ici la dfinition de la structure du rseau et ladaptation des poids par apprentissage ;

    son utilisation pour la classification (en gnralisation), qui consiste activer le rseau avec des nouvelles donnes, sans adapter les poids.

    A3. Quelques lments de calcul vectoriel et matriciel Vecteurs

    La notation usuelle pour un vecteur est sous forme dune colonne. Norme

    Soit tn21 )x,...,x,x(x = un vecteur de dimension n. Sa norme euclidienne est dfinie par :

    2n

    22

    21 x...xxx +++=

    =

    =n

    1i

    2ix

    Un vecteur est dit normal si sa norme vaut 1. Produit scalaire

    Le produit scalaire de 2 vecteurs tn21 )x,...,x,x(x = et t

    n21 )y,...,y,y(y = est dfini par :

    i

    n

    1ii y.xy.x

    =

    =

    La norme dun vecteur x est galement la racine du produit scalaire de son transpos avec lui-mme :

    x.xx t2

    = La normalisation dun vecteur consiste rendre sa norme gale 1. Ce rsultat est obtenu

    en divisant toutes les composantes du vecteur par la norme de ce dernier :

    xx

    x ' =

    est normalis. On dit galement quil est normal. Orthogonalit entre vecteurs

    Le cosinus de 2 vecteurs est dfini par :

    y.xy.x

    )y,xcos(t

    =

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    28

    Il correspond au produit scalaire des versions normalises des deux vecteurs. Les deux vecteurs sont orthogonaux si le cosinus entre eux est nul. Une matrice est dite orthogonale si toutes ses colonnes sont orthogonales entre elles deux

    deux. Une matrice orthogonale multiplie par sa transpose donne une matrice diagonale.

    Projection La projection dun vecteur x sur un autre y est dfinie par :

    yy.x t

    Distance

    La distance entre deux vecteurs est une grandeur souvent utilise pour quantifier la

    similarit entre eux. Elle ne peut tre calcule que si les deux vecteurs ont la mme dimension.

    La distance euclidienne entre deux vecteurs x et y est dfinie par :

    ( ) ( )2i

    iit

    E yx)yx(yxyx)y,x(d -=--=-= Un autre exemple de distance est la distance de Hamming, dfinie par :

    |yx|)y,x(d in

    1iiH -=

    =

    Lien entre distance euclidienne et produit scalaire

    Soit d(x,y) la distance euclidienne entre les vecteurs x et y. On a :

    )yx()yx()y,x(d t2 --=

    ? yx2yxyx2yyxx)y,x(d t22ttt2 -+=-+=

    Si les vecteurs x et y sont normaliss, on a

    )yx1(2)y,x(d t2 -= Si le produit scalaire est minimal, le produit scalaire est maximal. On a galement

    )y,xcos(yx2yx)y,x(d222 -+=

    Indpendance

    Soient {x1, x2, , xm} un ensemble de vecteurs. Un vecteur y est une combinaison linaire de ces vecteurs sil peut tre mis sous la forme

    y=c1x1+c2x2+.+cmxm o ci sont des nombres rels dont au moins lun dentre eux est non nul. Par exemple, y=x1 est une combinaison linaire.

    Lensemble des vecteurs xi est linairement indpendant si on ne peut pas trouver un ensemble de valeurs {c1, c2, , cm} tel que

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    29

    c1x1+c2x2+.+cmxm=0 (vecteur nul) dont au moins un des coefficients est non nul ; ce qui revient dire quaucun des vecteurs

    nest une combinaison linaire des autres. Ces notions sappliquent galement aux lignes et aux colonnes des matrices. Par exemple, dans la matrice A suivante, les colonnes sont linairement dpendantes :

    =

    063142

    121

    A

    Dans la matrice B suivante galement, bien que cela soit moins vident :

    =

    312201

    243

    B

    En effet :

    -

    =

    32

    2

    21

    3

    210

    4

    Rang dune matrice Le rang dune matrice nest pas forcment gal sa dimension. Il est gal au plus grand

    nombre de lignes (ou de colonnes) constituant un ensemble linairement indpendant. Par exemple, la dimension de la matrice A est 33, et son rang est 32.

    Inverse dune matrice

    Cette opration nest applicable quaux matrices carres, et uniquement de plein rang, cest dire des matrices dont le rang est gal la dimension.

    Proprits : AA-1=I AA-1= A-1 A

    Dans le cas dune matrice diagonale A=diag{ai,i}, linverse est gale :

    A-1=diag{1/ai,i} Dans le cas de matrices non carres, on dfinit la notion dinverse gnralise (encore

    appele pseudo-inverse ou inverse de Moore-Penrose). Vecteurs propres et valeurs propres

    Un vecteur u qui vrifie lquation

    A.u=l.u (1) est un vecteur propre de la matrice A et l est la valeur propre qui lui est associe. On a galement :

    (1) A.u-l.u=0 (A-l.I).u=0

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    30

    o I est la matrice identit (des 1 sur la diagonale, des 0 partout ailleurs). Cette quation est appele quation caractristique de la matrice. Si u est un vecteur propre, tout vecteur k.u avec k constante est un autre vecteur propre.

    Une matrice de dimension nn possde n vecteurs propres (associs chacun une valeur propre).

    En gnral on rassemble les vecteurs propres dans une matrice, sous la forme de ses colonnes, et les valeurs propres dans une autre matrice, disposes en colonne, dans lordre correspondant celui des vecteurs propres. Soient U et L ces deux matrices, respectivement. Lquation matricielle correspondant (1) est :

    A.U=L.U Analyse en composantes principales (ACP)

    LACP est lapplication de la dcomposition en vecteurs et valeurs propres, la matrice de covariance dun ensemble de vecteurs.

    Cette dcomposition est galement appele dcomposition (ou transformation) de Karhunen-Loeve, du nom des chercheurs ayant propos cette mthode dans le cadre du traitement du signal.

    LACP dun ensemble de n vecteurs va donner comme rsultat un ensemble de n autres vecteurs de mme dimension, associs chacun un coefficient scalaire appel valeur propre. De plus, les vecteurs propres sont rangs par ordre de dcroissance de leur valeur propre associe.

    Elle consiste utiliser les vecteurs propres et les valeurs propres de la matrice de corrlation dimages de rfrence, et ne garder que les vecteurs propres associs aux plus grandes valeurs propres. Elle permet une rduction de la dimension des donnes, intressante par exemple dans la compression de signaux ou dimages. A4. Quelques lments de statistiques Moyenne dune variable

    Par dfinition, une variable peut prendre diffrentes valeurs. Soient xi n exemples (ralisations) de la variables x. La moyenne dune variable x (par exemple la variable "longueur de ptale" pour les donnes Iris) est dfinie par :

    n

    xx

    n

    1ii

    ==

    On dit quune variable est centre si sa moyenne est nulle. Variance dune variable

    La variance dune variable est gale la somme des carrs des diffrences entre les exemples de cette variable et leur moyenne :

    ( )

    n

    xx)xvar(

    n

    1i

    2i

    =

    -=

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    31

    La variance caractrise donc la somme des carts dune variable par rapport sa moyenne. Covariance entre des variables diffrentes

    Dans le cas de donnes multi-dimensionnelles, il y a plusieurs variables (par exemple

    dans les donnes Iris il y a 4 variables). Ces variables peuvent tre corrles ou non. Si elles sont corrles, leur covariance et leur produit de corrlation, dfinis ci-dessous, ne sont pas nuls.

    Soient xi et xj deux variables et leurs moyennes respectivement ix et jx . La covariance entre elles est dfinie par :

    ( )( )=

    --=n

    1kjk,jik,iji xxxxn

    1)x,xcov(

    o n est le nombre de ralisations des variables (=nombre de vecteurs dexemple), xi,k est le ke exemple de la variable i (et xj,k est la ke ralisation de la variable j).

    Par exemple, dans les donnes Iris, la covariance entre la longueur et la largeur de ptale nest pas nulle.

    La covariance entre une variable et elle-mme est gale sa variance. Corrlation entre des variables diffrentes

    Quand la covariance entre des variables diffrentes nest pas nulle, ces variables varient

    ensemble et elles sont galement corrles. Le produit de corrlation est la version normalise (il est compris entre 0 et 1) de la

    covariance :

    ji

    jiji

    )x,xcov()x,x(cor

    ss=

    o )var( xi =s , i=1,2

    est appel cart-type de la variable x.

    Dans le cas dun nombre plus grand de variables, celles-ci peuvent tre corrles 2 2. On dfinit alors une matrice de variance-covariance C :

    { }n,...,1j;n,...,1i),x,xcov(C ji ===

    o i est lindice de la colonne dans la matrice C et j lindice de la ligne, ou inversement puisque cette matrice est symtrique.

    Cette notation signifie qu lintersection de la ligne j et de la colonne i de cette matrice se trouve la covariance entre les variables xi et xj. La dimension de C est donc n n.

    La matrice de covariance peut galement tre obtenue de la faon suivante : partir du produit dune matrice A et de sa transpose, o A contient tous les vecteurs de donnes, auxquels on a soustrait leur moyenne (dfinie ci-dessus), disposs en colonnes. AT contient donc les mmes vecteurs mais disposs en lignes :

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    32

    TA.A.n1

    C =

    A5. Quelques lments de probabilits

    Les mmes variables que celles quon a considres jusqu maintenant peuvent tre vues comme des variables alatoires (VA). On utilise alors loutil des probabilits pour les tudier.

    Distribution de probabilit et fonction de densit de probabilit

    Il existe des variables discrtes (par exemple le rsultat dun lanc de d) et des variables continues (par exemple la longueur dun ptale dun Iris). Les variables discrtes peuvent tre dcrites par des probabilits, les variables continues par des densits de probabilit.

    Par exemple, le rsultat du tirage dun d comporte 6 cas possibles. La probabilit P de chaque cas ("vnement") xi est 1/6. On dit que la distribution de probabilit est uniforme. La reprsentation sur un repre donnera une constante P(xi)=1/6 pour x prenant les valeurs entires de 1 6.

    Supposons que le nombre des valeurs possibles dune variable augmente ; alors la

    probabilit de chacune des possibilits diminue, et peut approcher 0. Dans une distribution de probabilit, si le nombre dvnements possibles augmente, les

    points sur la reprsentation graphique se rapprochent, et si ce nombre tend vers linfini, la distribution se transforme en fonction de densit de probabilit.

    Par exemple, dans le cas dun gnrateur de nombres alatoires rels compris entre 0 et 1, il sagit dune VA continue. Le nombre de valeurs possibles est quasi-infini, donc la probabilit de chaque vnement est quasi-nulle. On doit alors dfinir des intervalles. Par exemple, la probabilit que x soit compris entre 0 et 0,1, si la loi de probabilit est uniforme, est gale 1/10. On parle alors de fonction de densit de probabilit (FDP), qui dans cet exemple est uniforme.

    Une VA continue est dfinie par une fonction de densit de probabilit et non plus par des probabilits.

    Les variables relles suivent des FDP (par exemple la longueur dun ptale diris, la taille des individus, leur poids, etc).

    Lintgrale dune FDP est gale 1, puisque sa surface correspond lvnement certain : on est sr que le rsultat est lune des valeurs possibles.

    La fonction de rpartition est lintgrale de la FDP. La fonction de rpartition reprsente

    la somme de ces probabilits, en partant de la gauche vers la droite. Par exemple dans le cas dun d, P(x

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    33

    ii

    i x.p)x(E = o pi est la probabilit de la ralisation xi. La moyenne est galement appele esprance.

    Dans le cas o lon a n ralisations de la variable et que toutes ces ralisations sont quiprobables, cette dfinition est la mme que pour les variables non alatoires, car pi=1/n pour les n ralisations diffrentes. La variance dune VA discrte x est dfinie par :

    h-=si

    2ii

    2 )x(p

    avec ?=E(x). Lensemble des probabilits des diffrents vnements possibles constitue ce quon appelle la distribution de probabilit de la VA x. On la reprsente dans un repre par les diffrents vnements en abscisse et des probabilits correspondantes en ordonne. Variables alatoires continues

    La moyenne dune VA continue x est dfinie par :

    +

    -= dx)x(f.x)x(E

    Exemple : esprance dune variable alatoire suivant une densit de probabilit d(x) uniforme entre 0 et 1 :

    =1

    0xdx)x(E

    1

    0

    2

    2x

    )x(E

    =

    21

    )x(E =

    Par exemple, variable gnre par programmation : un rel compris entre 0 et 1 (comme la fonction du fichier rdf.c).

    La variance de cette mme variable est dfinie par :

    dx)x(f.)x( 22 +

    -h-=s

    (Remarque : s2 est la moyenne de la VA (x-h)2) Avec une VA continue, les probabilits nont plus de sens, puisque le nombre de

    ralisations de la variable tend vers linfini, et il faut raisonner sur des intervalles. On dfinit donc une VA continue par une fonction de densit de probabilit (FDP). La FDP dune VA continue x est souvent note p(x).

    Exemple 1 : tirage dun d. On obtient pour la variance environ 4,9.

    Exemple 2 : variable alatoire uniforme comprise entre 0 et 1. On obtient pour la variance :

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    34

    dx)21

    x(1

    0

    22 -=s

    dx41

    xx1

    0

    22 +-=s 1

    0

    232

    4x

    2x

    3x

    +-=s

    +-=s

    41

    21

    312

    1212 =s

    Variables alatoires (continues) gaussiennes

    Une VA continue gaussienne de dimension 1 (quivalent un vecteur de dimension 1, que lon appelle un scalaire) possde une FDP dfinie par lexpression dune fonction gaussienne.

    Si cette FDP est centre sur 0, on a :

    )x(G)x(p = avec

    s

    -ps

    = 22

    2x

    exp2

    1)x(G

    s2 reprsente la variance et s lcart-type ; ce paramtre dtermine ltalement de la courbe sur laxe des abscisses. Lintgrale de cette fonction (qui reprsente la surface situe entre la courbe et laxe des abscisses) pour x variant de - + est gale 1. xc est appele moyenne, ne pas confondre avec une moyenne arithmtique. Il reprsente le centre de la courbe sur laxe des abscisses.

    Si cette variable est centre sur xc :

    s

    --

    ps= 2

    2c

    2)xx(

    exp2

    1)x(G

    Dans le cas plus gnral de vecteurs de variables de dimension n (nombre de

    composantes des vecteurs), G(x) est dfinie par :

    ---

    p=

    -

    2)xx(C)xx(

    exp|C|)2(

    1)x(G c

    1Tc

    2/n

    C est la matrice de covariance (de dimension n n) des coordonnes de x, C-1 son inverse

    et |C| son dterminant. Cette matrice contient les covariances entre les diffrentes variables xi.xj, i,j=1,...,d o d est la dimension des donnes. xc est le centre (ou moyenne) de la gaussienne.

    Il sagit du cas gnral , o les variables sont corrles entre elles, ce qui nest pas toujours le cas. Dans le cas ou elles ne sont pas corrles, on a s=|C| et C-1=I, la matrice identit.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    35

    La distribution gaussienne est galement appele loi normale. Sa notation compacte peut alors scrire : x~N(xc, s2). On dit alors que la variable alatoire x suit une loi normale de moyenne xc et de variance s2. Cette notation nindique pas la dimension des vecteurs x.

    De nombreuses donnes relles sont dfinies par une FDP gaussienne. Cette proprit rsulte du thorme central limite, qui nonce que sous certaines conditions gnrales, la distribution de x approche une FDP gaussienne de moyenne h et de variance s2 quand le nombre de ralisations de cette variable augmente. Selon ce thorme, la distribution dobservations rsultant de plusieurs causes non corrles, o aucune ne prdomine sur une autre, tend vers une distribution gaussienne (ce qui est le cas de trs nombreuses donnes relles).

    On peut obtenir une FDP gaussienne en ajoutant n VA indpendantes xi. Leur somme est une VA de moyenne gale la somme des moyennes des xi, et de variance gale la somme de leurs variances :

    h= h1+h2+...+hn et

    s2=s12+s22+...+sn2

    alors la variable 2

    xs

    h- est une VA gaussienne centre rduite, cest dire de moyenne nulle

    (=centre sur 0) et dlimitant une surface gale 1 avec laxe des abscisses. Avec une somme pondre de plusieurs gaussiennes, on peut approcher nimporte quelle

    distribution dcrivant un phnomne rel. On parle alors dapproximateur universel. Probabilits conditionnelles

    Les probabilits conditionnelles relient diffrents vnements entre eux. Un exemple dvnement est "le rsultat dun lanc de d est 6".

    La probabilit dun vnement A sachant quun vnement B sest ralis est dfinie par :

    )B(P)BA(P

    )B|A(P

    = (1)

    avec : )AB(P)BA(P = : probabilit que les vnements A et B se ralisent en mme temps. Donc on a (daprs (1)) :

    )B(P).B|A(P)BA(P = et

    )A(P).A|B(P)BA(P = Remarque : les notations P(A B), P(A et B) et P(A, B) sont quivalentes. Si A et B sont indpendants :

    P(A|B)=P(A) et donc :

    P(A B)= P(A) P(B)

    Exemple : 2 lancs successifs dun d sont des vnements indpendants : le rsultat du 2e lanc est indpendant du 1er.

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    36

    Pour un plus grand nombre dvnements A1, A2, ...., Ak (cas gnral dvnements non

    indpendants) :

    P(A1 et A2 et ... et Ak)=p(A1|A2 et ... et Ak) p(A2|A3 et ... et Ak) ... ... p(Ak-1|Ak) P(Ak)

    Remarque : on peut inverser lordre des vnements.

    Si les vnements Ai sont mutuellement indpendants, on a :

    P(A1 et A2 et ... et Ak) = P(A1) P(A2) ... P(Ak-1) P(Ak)

    Pour les probabilits conditionnelles :

    P(A et B | C) = P(A | B et C) P(B | C)

    Si A et B sont indpendants conditionnellement C, alors

    P(A et B | C) = P(A | C) P(B | C) Probabilits totales

    Un vnement peut parfois se dcomposer en plusieurs vnements exclusifs, cest dire distincts. Ces vnements peuvent galement tre exhaustifs, cest dire quun de ces vnements se ralise ncessairement. Par exemple, lvnement "le lanc dun d donne un rsultat suprieur 4" peut se dcomposer en deux vnements exclusifs et exhaustifs : "le rsultat est 5" et "le rsultat est 6".

    La formule des probabilits totales permet de calculer la probabilit dun vnement partir dune telle dcomposition. Soient A et B deux vnements, A pouvant tre dcompos en vnements mutuellement exclusifs et exhaustifs A1, A2,.... (cas gnral : vnements pas indpendants) Alors on a :

    ...)AB(P)AB(P)B(P 21 ++=

    =i

    i )AB(P

    )A(P)A|B(P ii

    i = parce quun des vnements Ai se produit forcment. Exemple 1 : vnements "pile" ou "face" lors du jet dune pice : exclusifs et exhaustifs. Exemple 2 : vnement "la carte est un as" (qui se dcompose en 4 vnements) lorsquon tire une carte. Il est compos dvnements exclusifs mais pas exhaustifs. Formule de Bayes

    La formule de Bayes est la base de la reconnaissance de formes bayesienne. Elle peut tre dduite des expressions ci-dessus :

    )B(P)BA(P

    )B|A(P ii

    =

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    37

    )B(P

    )AB(P i=

    =

    iii

    ii

    )A(P)A|B(P)A(P)A|B(P

    les Ai sont exclusifs et exhaustifs. Exemple des jumeaux : il existe des vrais et des faux jumeaux. Les faux jumeaux sont 2 fois plus nombreux que les vrais. Les vrais sont toujours de mme sexe alors que les faux sont de mme sexe avec une probabilit 1/2. Etant donn que 2 jumeaux sont de mme sexe, quelle est la probabilit quils soient de vrais jumeaux ?

    )fj(P)fj|ms(P)vj(P)vj|ms(P

    )vj(P)vj|ms(P)ms|vj(P

    +

    =

    =

    + 1 1 3

    1 1 3 1 2 2 3

    =12

    Probabilits totales et conditionnelles

    ...)C|AB(P)C|AB(P)C|B(P 21 ++=

    =i

    i )C|AB(P

    )C|A(P)CA|B(P ii

    i =

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    38

    Exemples de donnes : Iris

    Contenu du fichier original :

    5.1,3.5,1.4,0.2,Iris-setosa 4.9,3.0,1.4,0.2,Iris-setosa 4.7,3.2,1.3,0.2,Iris-setosa 4.6,3.1,1.5,0.2,Iris-setosa 5.0,3.6,1.4,0.2,Iris-setosa 5.4,3.9,1.7,0.4,Iris-setosa 4.6,3.4,1.4,0.3,Iris-setosa 5.0,3.4,1.5,0.2,Iris-setosa 4.4,2.9,1.4,0.2,Iris-setosa 4.9,3.1,1.5,0.1,Iris-setosa 5.4,3.7,1.5,0.2,Iris-setosa 4.8,3.4,1.6,0.2,Iris-setosa 4.8,3.0,1.4,0.1,Iris-setosa 4.3,3.0,1.1,0.1,Iris-setosa 5.8,4.0,1.2,0.2,Iris-setosa 5.7,4.4,1.5,0.4,Iris-setosa 5.4,3.9,1.3,0.4,Iris-setosa 5.1,3.5,1.4,0.3,Iris-setosa 5.7,3.8,1.7,0.3,Iris-setosa 5.1,3.8,1.5,0.3,Iris-setosa 5.4,3.4,1.7,0.2,Iris-setosa 5.1,3.7,1.5,0.4,Iris-setosa 4.6,3.6,1.0,0.2,Iris-setosa 5.1,3.3,1.7,0.5,Iris-setosa 4.8,3.4,1.9,0.2,Iris-setosa

    7.0,3.2,4.7,1.4,Iris-versicolor 6.4,3.2,4.5,1.5,Iris-versicolor 6.9,3.1,4.9,1.5,Iris-versicolor 5.5,2.3,4.0,1.3,Iris-versicolor 6.5,2.8,4.6,1.5,Iris-versicolor 5.7,2.8,4.5,1.3,Iris-versicolor 6.3,3.3,4.7,1.6,Iris-versicolor 4.9,2.4,3.3,1.0,Iris-versicolor 6.6,2.9,4.6,1.3,Iris-versicolor 5.2,2.7,3.9,1.4,Iris-versicolor 5.0,2.0,3.5,1.0,Iris-versicolor 5.9,3.0,4.2,1.5,Iris-versicolor 6.0,2.2,4.0,1.0,Iris-versicolor 6.1,2.9,4.7,1.4,Iris-versicolor 5.6,2.9,3.6,1.3,Iris-versicolor 6.7,3.1,4.4,1.4,Iris-versicolor 5.6,3.0,4.5,1.5,Iris-versicolor 5.8,2.7,4.1,1.0,Iris-versicolor 6.2,2.2,4.5,1.5,Iris-versicolor 5.6,2.5,3.9,1.1,Iris-versicolor 5.9,3.2,4.8,1.8,Iris-versicolor 6.1,2.8,4.0,1.3,Iris-versicolor 6.3,2.5,4.9,1.5,Iris-versicolor 6.1,2.8,4.7,1.2,Iris-versicolor 6.4,2.9,4.3,1.3,Iris-versicolor

    6.3,3.3,6.0,2.5,Iris-virginica 5.8,2.7,5.1,1.9,Iris-virginica 7.1,3.0,5.9,2.1,Iris-virginica 6.3,2.9,5.6,1.8,Iris-virginica 6.5,3.0,5.8,2.2,Iris-virginica 7.6,3.0,6.6,2.1,Iris-virginica 4.9,2.5,4.5,1.7,Iris-virginica 7.3,2.9,6.3,1.8,Iris-virginica 6.7,2.5,5.8,1.8,Iris-virginica 7.2,3.6,6.1,2.5,Iris-virginica 6.5,3.2,5.1,2.0,Iris-virginica 6.4,2.7,5.3,1.9,Iris-virginica 6.8,3.0,5.5,2.1,Iris-virginica 5.7,2.5,5.0,2.0,Iris-virginica 5.8,2.8,5.1,2.4,Iris-virginica 6.4,3.2,5.3,2.3,Iris-virginica 6.5,3.0,5.5,1.8,Iris-virginica 7.7,3.8,6.7,2.2,Iris-virginica 7.7,2.6,6.9,2.3,Iris-virginica 6.0,2.2,5.0,1.5,Iris-virginica 6.9,3.2,5.7,2.3,Iris-virginica 5.6,2.8,4.9,2.0,Iris-virginica 7.7,2.8,6.7,2.0,Iris-virginica 6.3,2.7,4.9,1.8,Iris-virginica 6.7,3.3,5.7,2.1,Iris-virginica

    Affichage de Sammon des donnes (2 excutions diffrentes de lalgorithme)

    -3 -2 -1 0 1 2 3 4-5

    -4

    -3

    -2

    -1

    0

    1

    2

    3

    4

    -3 -2 -1 0 1 2 3 4 5-4

    -3

    -2

    -1

    0

    1

    2

    3

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    39

    Exemple de donnes : Wine

    Il y a 3 classes, qui correspondent 3 cultivateurs diffrents. Dans le cadre ci-dessous sont donnes les 5 premires lignes de chaque classe telles

    quelles se prsentent dans le fichier de donnes original : 1,14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,1065 1,13.2,1.78,2.14,11.2,100,2.65,2.76,.26,1.28,4.38,1.05,3.4,1050 1,13.16,2.36,2.67,18.6,101,2.8,3.24,.3,2.81,5.68,1.03,3.17,1185 1,14.37,1.95,2.5,16.8,113,3.85,3.49,.24,2.18,7.8,.86,3.45,1480 1,13.24,2.59,2.87,21,118,2.8,2.69,.39,1.82,4.32,1.04,2.93,735 2,12.37,.94,1.36,10.6,88,1.98,.57,.28,.42,1.95,1.05,1.82,520 2,12.33,1.1,2.28,16,101,2.05,1.09,.63,.41,3.27,1.25,1.67,680 2,12.64,1.36,2.02,16.8,100,2.02,1.41,.53,.62,5.75,.98,1.59,450 2,13.67,1.25,1.92,18,94,2.1,1.79,.32,.73,3.8,1.23,2.46,630 2,12.37,1.13,2.16,19,87,3.5,3.1,.19,1.87,4.45,1.22,2.87,420 3,12.86,1.35,2.32,18,122,1.51,1.25,.21,.94,4.1,.76,1.29,630 3,12.88,2.99,2.4,20,104,1.3,1.22,.24,.83,5.4,.74,1.42,530 3,12.81,2.31,2.4,24,98,1.15,1.09,.27,.83,5.7,.66,1.36,560 3,12.7,3.55,2.36,21.5,106,1.7,1.2,.17,.84,5,.78,1.29,600 3,12.51,1.24,2.25,17.5,85,2,.58,.6,1.25,5.45,.75,1.51,650 Remarque : le premier chiffre sur chaque ligne correspond un numro de classe (arbitraire) Informations disponibles dans le fichier associ : 13 attributs (=caractristiques) : 1) Alcohol 8) Nonflavanoid phenols 2) Malic acid 9) Proanthocyanins 3) Ash 10) Color intensity 4) Alcalinity of ash 11) Hue 5) Magnesium 12) OD280/OD315 of diluted wines 6) Total phenols 13) Proline 7) Flavanoids Rpartition des exemples dans les 3 classes : classe 1 : 59 classe 2 : 71 classe 3 : 48

    Rsultat de laffichage de Sammon :

    -1000 -800 -600 -400 -200 0 200 400-600

    -500

    -400

    -300

    -200

    -100

    0

    100

    200

    300

    400

    -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

    -0.5

    0

    0.5

    1

    1.5

    donnes non normalises donnes normalises

  • Exemples de donnes : Caractres manuscrits 1er cas : Paramtres caractristiques extraits dimages de caractres manuscrits (hollandais) Extrait du fichier "caract_holland.don", qui contient 20000 exemples diffrents (1 exemple = 1 ligne) : 2 8 3 5 1 8 13 0 6 6 10 8 0 8 0 8 8 T 5 12 3 7 2 10 5 5 4 13 3 9 2 8 4 10 10 I 4 11 6 8 6 10 6 2 6 10 3 7 3 7 3 9 9 D 7 11 6 6 3 5 9 4 6 4 4 10 6 10 2 8 8 N 2 1 3 1 1 8 6 6 6 6 5 9 1 7 5 10 10 G 4 11 5 8 3 8 8 6 9 5 6 6 0 8 9 7 7 S 4 2 5 4 4 8 7 6 6 7 6 6 2 8 7 10 10 B 1 1 3 2 1 8 2 2 2 8 2 8 1 6 2 7 7 A 2 2 4 4 2 10 6 2 6 12 4 8 1 6 1 7 7 J 11 15 13 9 7 13 2 6 2 12 1 9 8 1 1 8 8 M etc 2e cas : Images brutes (caractres normaliss en taille et en position) Extrait du fichier "caract.don", qui contient 10000 exemples diffrents :

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    41

    Exemple dimplmentation des kppv Principe utilis

    Les vecteurs classer sont rangs dans une 1re liste. Au fur et mesure de leur classification, ils sont rangs dans une 2e liste. Chaque vecteur classer est compar tous les vecteurs de cette 2e liste (=les vecteurs dj classs). Algorithme des kppv pour un vecteur classer Paramtres dentre :

    - voisinage k - vecteur classer - liste des vecteurs dj classs

    Paramtre de sortie : - indice de la classe la plus proche (au sens des kppv)

    calcul de la distance entre le vecteur classer et tous les autres vecteurs dj classs :

    - mettre les rsultats dans un tableau de distances T recherche des k distances les plus petites :

    - rpter k fois - rechercher la distance minimale dans le tableau des distances T

    - retirer la valeur correspondante de T - copier le vecteur correspondant dans une liste temporaire L

    recherche de la classe la plus reprsente parmi les k vecteurs les plus proches (vecteurs de la liste L) : - initialiser C compteurs 0 (o C nombre de classes) - pour chacun des k vecteurs de la liste temporaire L

    - incrmenter le compteur de la classe de ce vecteur - rechercher le compteur maximal, en dduire la classe la plus proche du vecteur classer

    Algorithme des kppv pour un ensemble de vecteurs Paramtres dentre :

    - voisinage k - liste des vecteurs classer - nombre de vecteurs pour initialiser chaque classe

    Paramtre de sortie : - taux de reconnaissance pour chaque classe

    cration dune 2e liste (liste 2) pour y ranger les vecteurs au fur et mesure de leur classification : liste 1 : vecteurs classer (passe en paramtre) liste 2 : vecteurs dj classs

    normalisation des vecteurs de la liste 1 choix des exemples initiaux pour chaque classe :

    pour chaque classe i pour chaque exemple initial - choisir alatoirement un exemple de la classe i dans la liste 1 - copier cet exemple dans la liste 2 - retirer cet exemple de la liste 1

    classification : tant que la liste 1 n'est pas vide

    - choisir alatoirement un vecteur de cette liste - appliquer la mthode des kPPV ce vecteur (algo ci-dessus) - comparer le rsultat donn par les kPPV avec le bon rsultat, et incrmenter un

    compteur de bonnes classifications - le copier dans la liste 2 - le retirer de la liste 1 partir des compteurs de bonne classification

    calcul des statistiques de classification

  • Cours-TP Reconnaissance de Formes, Benot Decoux, 2003-2004

    42

    Bibliographie Livres sur la Reconnaissance de Formes en gnral

    Belad A., Belad Y., Reconnaissance des formes : mthodes et applications , InterEditions, 1992.

    Celeux G., Diday E., Govaert G., Lechevallier Y., Ralambondrainy H., Classification automatique des donnes. Environnement statistique et informatique , Dunod Informatique, 1989

    Fabre P., Exercice la reconnaissance des formes par ordinateur , Masson, 1989 Horaud R., Monga O., Vision par ordinateur, outils fondamentaux , Herms, 1995 Kunt M., Granlund G., Kocher M., Traitement de linformation ; volume 2 : Traitement

    numrique des images , Presses Polytechniques et universitaires romandes, 1993 Kunt M. (publi sous la direction de), Reconnaissance de formes et analyse de scnes ,

    Presses Polytechniques et Universitaires Romandes, 2000 Miclet