While most of well-studied and robust algorithms for Dimensionality Reduction (DR) like PCA are implemented in Python, there are many new methods that are not. This repository aggregate several algorithms which have been adapted and may be applied for DR in the Nearest Neighbour Search (NNS) problem. Also main ideas or/and architecture hacks can be gained.
Extremely popular generative model with huge number of modifications - original paper.
Possible implementation
One of the variations of VAE. Paper and initial code
Well-studied method from Paper, very useful for data visualisation.
Here I trying to adapt this algorithm for huge datasets (near 1M and more) via neural network learning.
Another graph-based method from Paper
Simple and old method that can show state-of-the-art results in plenty of tasks.
Paper,
and possible implementation
To running some test it you need to specify paths to the corresponding data location in data.py
file and run
python train.py --database sift --method acai
for learning ACAI methon on SIFT dataset.
Most of hyper-parameters are fixed, but you can easily change them.
See repo for applying any methods for NNS task.
Please feel free to share any ideas and contact me.