How LSH Random Projection works in search (+Python)

  Рет қаралды 6,854

James Briggs

James Briggs

Күн бұрын

Пікірлер: 10
@FirstNameLastName-gh9iw
@FirstNameLastName-gh9iw Жыл бұрын
Thanks for the explanation. I’m researching what I should use in my program and without explanations I’m just grasping at straws. I don’t have too much experience with these type of things so I’m trying to expand my horizons to see if there are things I am missing
@AakashOnKeys
@AakashOnKeys 2 жыл бұрын
James, your videos deserve better reach! Neatly explained and very useful!
@HugoOlsson01
@HugoOlsson01 11 ай бұрын
Thank you! Really good explanation.
@gorgolyt
@gorgolyt 9 ай бұрын
Also, does FAISS LSH really use hyperplanes through the origin? If you look at the diagram at 18:18 you can see that's really not ideal, as you split the space into large cones, and anything within that cone -- close to the origin or far away -- is considered "near". This will probably work well if the vectors are unit vectors, but otherwise not. Other methods like Annoy use the data to choose the hyperplanes, taking the hyperplanes between two random points. These don't go through the origin and can partition the space into bounded cells, which seems a lot more sensible.
@gorgolyt
@gorgolyt 9 ай бұрын
Does FAISS LSH really hash the binary vectors, or does it just use their binary values, which would be simpler? For instance for nbits = 4. You don't need to hash [0, 0, 0, 0], [0, 0, 0, 1], etc., you can just directly use pointers corresponding to 0000, 0001, 0010, 0011, etc.
@Neira1991
@Neira1991 2 жыл бұрын
gracias James
@Leela_Karthik
@Leela_Karthik 2 жыл бұрын
well explained by the way, what ide is it? looks nice
@jamesbriggs
@jamesbriggs 2 жыл бұрын
VS Code with Jupyter extension :)
@Leela_Karthik
@Leela_Karthik 2 жыл бұрын
@@jamesbriggs theme?
@warrenhenning8064
@warrenhenning8064 2 жыл бұрын
It should be possible to simplify the code in the for loop: ``` import collections buckets = collections.defaultdict(list) for i, vector in enumerate(vectors): hash_str = ''.join(vector.astype(str)) buckets[hash_str].append(i) ```
IndexLSH for Fast Similarity Search in Faiss
18:39
James Briggs
Рет қаралды 4,2 М.
UFC 308 : Уиттакер VS Чимаев
01:54
Setanta Sports UFC
Рет қаралды 874 М.
ROSÉ & Bruno Mars - APT. (Official Music Video)
02:54
ROSÉ
Рет қаралды 227 МЛН
Cool Parenting Gadget Against Mosquitos! 🦟👶 #gen
00:21
TheSoul Music Family
Рет қаралды 33 МЛН
Sandcastle for Duo Workflow
9:41
GitLab Unfiltered
Рет қаралды 4
08d Machine Learning: Random Projection
11:16
GeostatsGuy Lectures
Рет қаралды 10 М.
Choosing Indexes for Similarity Search (Faiss in Python)
31:33
James Briggs
Рет қаралды 21 М.
LSH.9 Locality-sensitive hashing: how it works
16:18
Victor Lavrenko
Рет қаралды 55 М.
Why are there so many Tokenization methods in HF Transformers?
18:00
Faiss - Introduction to Similarity Search
31:37
James Briggs
Рет қаралды 59 М.
Locality-Sensitive Hashing and Beyond
54:28
Microsoft Research
Рет қаралды 9 М.
FastRP Graph Embeddings explained by example (Fast Random Projections)
27:13
Philipp Brunenberg
Рет қаралды 3,6 М.