1 / 90

SASH

SASH. Spatial Approximation Sample Hierarchy Authors: Michael E. Houle, Jun Sakuma. SASH features. Index data in high-dimensional space Fast construction of the index N log N Fast lookups of k approximate nearest neighbors k log N. Drawbacks of other methods. Slow construction

wyanet
Download Presentation

SASH

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SASH Spatial Approximation Sample Hierarchy Authors: Michael E. Houle, Jun Sakuma

  2. SASH features • Index data in high-dimensional space • Fast construction of the index • N log N • Fast lookups of k approximate nearest neighbors • k log N

  3. Drawbacks of other methods • Slow construction • Require a k-NN index to construct a k-NN index • Slow lookups • Reduce to grid searches or sequential search • But they may allow for true nearest neighbor queries

  4. SASH construction • Two-phase process • Phase 1: divide the set into a hierarchy of subsets • Phase 2: link elements of the hierarchy together

  5. SASH construction: phase 1 • Start with a set of points in a metric space • Divide the set in half randomly • Repeatedly divide the “second half” of the set until there is one element remaining • This hierarchy of sets reminds me of a skip list

  6. SASH subsets • Partitioning process roughly yields log N sets of size 2k, 0 ≤ k ≤ log N • Label the sets S0 (for the set containing one element, namely the root) through Sh (for the largest set containing approximately N/2 elements)

  7. SASH appearance • A SASH is hierarchy of sets of size 2k, 0 ≤ k ≤ h, with directed edges from the set of size 2k-1 to the set of size 2k • A SASH is generally not a tree, but it has some of the flavor of a binary tree with edges from sets of a certain size to sets that are double that size. • A SASH usually has many more edges.

  8. SASH construction: phase 2 • The SASH is constructed inductively by first setting SASH0 = S0. • For 1 ≤ i-1 ≤ h, SASHi-1 is a partial SASH on the set S0U S1U … U Si-1 • SASHi is constructed by starting with SASHi-1 and producing new directed edges from elements in Si-1 to elements in Si.

  9. SASH construction: phase 2 • Let SASH0 be the root, S0 • For 1 ≤ i ≤ h, assume SASHi-1 exists, then • For each c in Si, use SASHi-1 to find P possible parents of c in Si-1 • Once all c in Si link to possible parents, each p in Si-1 links to the C closest children that chose it as a possible parent • If some orphan objects in Si have no parents linking to them, repeat the above, allowing them to try link to more parents.

  10. SASH parameters: P and C • In practice, the P is a small, and the C is at least twice P (Their experiments use C=4P) • It is likely that objects will have at least one parent that links to them, and if C > 2P, all orphans can eventually find parents • Children link to “nearby” parents, and parents then link to “nearby” children • The symmetric use of “nearby” gives good results, even though the relation isn’t really symmetric.

  11. A Completed SASH

  12. Example on the real line with P=2 and C=4

  13. Randomly divide the set in half until reaching one point

  14. Randomly divide the set in half until reaching one point

  15. Randomly divide the set in half until reaching one point

  16. Randomly divide the set in half until reaching one point

  17. The sets Si

  18. SASH Construction Example • Red nodes are in a completed SASH. Light blue nodes are in the process of being added to a SASH. Black nodes have not been processed. • Links from children to parents are green, and links from parents to children are red.

  19. SASH0:Construction P=2, C=4

  20. SASH0:Complete

  21. SASH1:Construction P=2, C=4

  22. SASH1:Link children to parents

  23. SASH1:Link parents to children

  24. SASH1:Complete

  25. SASH2:Construction

  26. SASH2:Link children to parents

  27. SASH2:Link parents to children

  28. SASH2:Complete

  29. SASH3:Construction

  30. SASH3:Link children to parents

  31. SASH3:Link parents to children

  32. Some of the green arrows were not reversed

  33. Because parents only link to their C=4 closest children

  34. The green arrows are not parts of the completed SASH

  35. SASH3:Complete

  36. SASH4:Construction P=2, C=4

  37. SASH4:Link children to parents

  38. SASH4:Link parents to children

  39. The green links were not returned to the children

  40. The three purple nodes are orphans

  41. Link them by doubling P as needed.

  42. Orphans link to P=4 parents

  43. Parents link to up to C=4 children

  44. Two orphans were linked, and one remains

  45. Two orphans were linked, and one remains

  46. Link the final orphan to P=8 parents

  47. Link parents to the orphan

  48. The final green arrows are removed

  49. SASH4:Complete

More Related