Télécharger la présentation
Publié parHamlin Rigal Modifié depuis plus de 10 années
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)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.