¿Cómo determino el número de funciones hash necesarias mientras hago LSH?

Diría que es un poco complicado, porque la investigación sobre el ajuste de LSH es bastante escasa. Ahora solo tengo dos documentos y una implementación de calidad industrial:

1) El LSV multiprobe de Wei Dong. Se implementa en la biblioteca LSHKIT (es una gran biblioteca en mi humilde opinión):
LSHKIT: una biblioteca de hash sensible a la localidad de C ++
También lo incorporamos en nuestro kit de herramientas de búsqueda de similitud: searchivarius / NonMetricSpaceLib De esta manera es más fácil compararlo con otros métodos.

Sin embargo, ¡ no es una sintonización completamente automática! El número de tablas hash L y el número de sondas T deben elegirse manualmente. Encontramos que L = 50 y T = 10 son buenos en muchos casos.

Lo mejor de LSHKIT: especifica el nivel de recuperación deseado y la biblioteca encuentra los parámetros óptimos (excepto L y T) de forma totalmente automática.

Quisiera enfatizar que el LSH de múltiples sondas es probablemente el camino a seguir , porque usa mucha menos memoria y es casi igual de rápido que el LSH clásico.

2) El documento sobre la sintonización de LSH (no recuerdo si cubren el caso de LSH multiprobe):
[PDF] Parámetros óptimos para el hash de localización sensible
M Slaney – Actas del IEEE, 2012 – slaney.org

Los números teóricos se pueden encontrar comprobando los documentos teóricos originales sobre la función LSH que está utilizando. Para minhashing, cf, el enlace de Mario.

En la práctica, es posible que desee ajustar los números, ya que los números anteriores están diseñados para el peor de los casos y permiten límites de desigualdad sueltos utilizados en la prueba (p. Ej., Límite de unión). Por ejemplo, aunque necesita usar muchas tablas hash para resolver la consulta vecina más cercana aproximada dentro de un rango de [r, r * c) usando proyecciones aleatorias p-estables, Indyk demostró que solo se necesita una tabla hash si los datos son constantes “dimensionalidad intrínseca” (ver el apéndice en el documento SoCG04).