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