Dans la plupart des impléments de hachage sensible à la localité de Simhash, pourquoi la distance en cosinus est-elle utilisée et non la distance euclidienne?

cs.stackexchange https://cs.stackexchange.com/questions/98631

Question

Dans le chapitre 3 de l'exploitation minière des ensembles de données massifs, la base du hachage sensible de la localité est expliquée. Ils mentionnent notamment Simhash pour la distance en cosinus, où des hyperplanes aléatoires sont générés, et pour chaque hyperplan, la projection du vecteur à haché sur la normale de l'hyperplan est utilisée pour le hachage du vecteur. Ils soulignent que pour mesurer à la place la distance euclidienne, on peut impliquer l'utilisation d'une valeur $ a $ comme une longueur de segment, utilisé pour diviser toutes les normales hyperplanes en un certain nombre de $ a $-legments de longueur. Pour chaque hyperplan, le segment dans lequel la projection du vecteur tombe est utilisée comme sortie de hachage. Par conséquent, la concaténation de cette opération sur chaque hyperplan génère un hachage.

Pourtant, un certain nombre d'implémentations, y compris ce qui semble être l'une des plus faisant autorité (FalConn), n'utilise pas du tout de segments, et faites simplement une sortie binaire en fonction de quel côté de l'hyperplane dans lequel se situe. Pourquoi est-ce ? Pourquoi les segments ne sont-ils pas utilisés? Qu'est-ce que la distance en cosinus a sur la distance euclidienne?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top