giannhskp / Software-Development-for-Algorithmic-Problems_Project-1

Neighbor Search and Clustering for Vectors using Locality-sensitive hashing and Randomized Projection to Hypercube

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project 1

Development Team

Part 1

Given a input dataset with vectors and a query dataset, for every query vector find:

  • The true nearest neighbor of the input dataset.
  • The aproximate nearest neighbor of the input dataset.
  • The aproximate N nearest neighbors of the input dataset.
  • All vectors inside a given range R. (approximate search)

In order to find the aproximate nearest neighbor(s) we use:

Part 2

Vector Clustering.

The initialization of the clusters is done using kMeans++.

The assignment to each cluster can be performed by each of the following:

  • Lloyds assignment.
  • LSH reverse assignment using Range search.
  • Hypercube reverse assignment using Range search.

About

Neighbor Search and Clustering for Vectors using Locality-sensitive hashing and Randomized Projection to Hypercube


Languages

Language:C 99.1%Language:Makefile 0.9%