Apprentissage supervisé Les k plus proches voisins •Principe

publicité
Apprentissage supervisé
Les k plus proches voisins
Reconnaissance des formes
G. Coray & H. Ghorbel
1/13/2003
1
•Principe
• L ’algorithme des k plus proches voisins (kppv) fait partie
des méthodes d ’apprentissage supervisé.
• Pour un point x de Rm, il s ’agit de déterminer la classe de
chacun des k points les plus proches de x parmi les
échantillons d ’apprentissage. Puis retenir la classe la plus
représentée.
• Si k=1 cas simple de recherche d'un voisin
• Sinon fixer des seuils pour la décision (exemple K/2< s
≤ k)
• Méthode risque d ’être lente -> accélération par
structuration
1/13/2003
2
1
L ’algorithme de Delannoy
• Fondé sur l ’idée du pavage
• Soit Rm l ’espace d ’apprentissage.
• Prétraitement:
• définir le plus petit hypercube H délimitant Rm
• diviser H en Hi partitionné en intervale de taille λi (i=1..m).
• Pour chaque cellule Hi établir les points qui lui appartient
• Définitions
• Cox : la cellule contenant le point x;
• C ix :le domaine formé par l ’union de Ci-1x et des autres cellules
de l ’espace qui lui sont contiguës. C ix contient (2i+1)m cellules.
• d(x, C ix ): la plus petite distance entre x et la frontière de C ix
1/13/2003
3
Recherche du ppv
•
Algorithme
1.
2.
Déterminer Cox ; i<-- 0
Chercher un point dans Cix
•
•
3.
4.
.y
. .x
0
Recherche de y0 le ppv de x dans Cix
Si d(x,y0)<d(x, Cix) alors fin,
•
1/13/2003
non trouvé i<-- i + 1 aller à 2.
Trouvé aller à 3
sinon i<-- i + 1 aller à 2
4
2
Application
• Reprendre la série 8 avec m=2, λ1=4 , λ2
=3.
1/13/2003
5
Algorithme de Kim et Park
• Fondé sur le tri suivant les axes
• Prétraitement:
• ordonner et partitionner les n échantillons sous forme
d ’un arbre avec un p(i) facteur de partition et ceci
pour chaque axe i
• chaque niveau de l'arbre correspond à un axe
• les nœuds non terminaux de l ’arbre sont des
intervalles [ai,bi] qui correspondent au sous-ensemble
de points { x1,x2,…xm / ai<xi≤ bi }
• les nœuds terminaux sont des points fixes.
1/13/2003
6
3
Recherche du ppv (1)
Recherche(nœud,l)
• Si l=m (dernier niveau de l'arbre) alors
• mise à jour de l ’ensemble des kppv en intégrant le point
désigné par le nœud terminal courant
• mise à jour de la distance dk du k ème ppv au point test
• sinon
• calcul de distance rl2=
• rl-12 + min[(xl – al )2 [(xl – al )2]
• rm-12 + (xm– am )2
Si l=m
Si l≠m
• r0=0
1/13/2003
7
Recherche du ppv (2)
• recherche du nœud fils s contenant le (l+1) ème
cordonnée
• tant que d(s,X)<dk calculé au niveau l+1
• Recherche(s,l+1)
• Fin tanque
• Fin si
1/13/2003
8
4
Exemple
• Considérons n=12; m=3; p(1)=p(2)=3 et
E={(1,2,5);(3,8,7);(9,10,8);(12,9,2);(8,7,20);(6,6,23);(
0,3,27);(2,13,9);(11,11,15);(14,17,13);(7,4,12);(10,12,
3)}
• Dessinons l ’arbre hiérarchique des points
• Cherchons les 2 proches voisins de (10,10,10) et de
(5,14,4).
• Référence:
• Reconnaissance des formes - Méthodes et application,
Abdel Belaïd, Yolande Belaïd, 1992 InterEditions Paris.
1/13/2003
9
5
Téléchargement