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