La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

T. Liu, A. W. Moore, A. Gray, K.Yang —la gang de CMU

Présentations similaires


Présentation au sujet: "T. Liu, A. W. Moore, A. Gray, K.Yang —la gang de CMU"— Transcription de la présentation:

1 « An Investigation of Practical Approximate Nearest Neighbor Algorithms »
T. Liu, A. W. Moore, A. Gray, K.Yang —la gang de CMU (présentation par N. Chapados)

2 K plus proches voisins (KNN)

3 Pourquoi cet article? KNN naïf prend O(N) à trouver les plus proches voisins Méthodes de partitionnement de l’espace (kd-trees ou metric trees) promettent une borne inférieure de O(log N) Sujettes à la malédiction de la dimensionalité Cet article: KNN APPROXIMATIF Spill trees + recherche heuristique

4 Metric Trees Partition récursive de l’espace
Points de pivot (dist maximale paire-à-paire) Frontière de décision L

5 Observation évidente : la balle
Pour chaque nœud v, on peut construire une hypersphère qui contient tous les points du nœud Centre = v.center Rayon = v.r Remarque: les balles des enfants d’un nœud ne sont pas nécessairement disjointes

6 Chercher un voisin dans un Metric Tree
Recherche en profondeur (depth-first search; DFS) Pour un nœud N —— explore gauche ou droite selon L —— conserve un candidat NN On élague les nœud qui ne peuvent pas contenir le point de recherche

7 Élaguage q r ||v.center-q|| NN v v.r Élague si

8 Recherche « défaitiste »
UN SEUL chemin de la racine à la feuille Aucun backtracking Rapide: O(N) Approximatif Ne fonctionne pas très bien pour Metric Trees Si le point-test est près de la frontière d’une balle, il est souvent mal classifié

9 Spill Trees Améliore la précision de la recherche « défaitiste »
Tau=zero <==> Metric tree

10 Recherche hybride Problème avec spill-trees:
Profondeur varie énormément avec taille d’overlap t Introduit un seuil d’équilibre (balance threshold) r Cas typique: r=70% Si un enfant se retrouve avec plus de 70% des points du parent, alors on fixe t=0 et on marque le nœud comme non-overlapping Les nœuds « non-overlapping » sont conservés comme points de banchement dans recherche DFS Nœuds overlapping agissent comme des Cut en Prolog

11 Résultats (1) Perf. de spill-tree (speedup p/r à LSH)
Aerial: N=275 465 , d=60 Corel_hist: N= , d=64 Corel_uci: N= , d=64 Disk_trace: N= , d=1024 Galaxy: N= , d=4000

12 Résultats (2)


Télécharger ppt "T. Liu, A. W. Moore, A. Gray, K.Yang —la gang de CMU"

Présentations similaires


Annonces Google