I'm working on developing an algorithm that uses latent spaces, and the ability to quickly find a point's nearest neighbors in latent space would help dramatically. The following is important for any algorithm I use:
- Fast (sublinear) retrieval of approximate nearest neighbors (I'm ok with somewhat low accuracy)
- Fast (sublinear) insertion and deletion of points into the data set. Since points will be able to move in latent space, I need to be able to quickly insert them into their new latent positions.
- Scales reasonably with the dimensionality of the space--I'll be using O(dozens) of dimensions
- Easy to implement, or a fast, open-source implementation already exists.
I found this paper which seems like a reasonable approach, but it's fairly recent and only has 1 citation so far, so I was wondering if there was a standard approach to this problem with an implementation already out there.