Establecer similitud: calcular el índice Jaccard sin complejidad cuadrática

14

Tengo un grupo de n conjuntos para los que necesito calcular una especie de valor de "unicidad" o "similitud". Me decidí por el índice Jaccard como una métrica adecuada. Desafortunadamente, el índice Jaccard solo opera en dos conjuntos a la vez. Para calcular la similitud entre todos los conjuntos, será necesario en el orden de n 2 cálculos Jaccard.nortenorte2

(Si ayuda, suele estar entre 10 y 10000, y cada conjunto contiene un promedio de 500 elementos. Además, al final, no me importa cuán similares sean dos conjuntos específicos; más bien, solo me importa cuál sea la similitud interna del grupo completo de conjuntos es. (En otras palabras, la media (o al menos una aproximación suficientemente precisa de la media) de todos los índices de Jaccard en el grupo))norte

Dos preguntas:

  1. ¿Hay alguna manera de seguir usando el índice Jaccard sin la complejidad ?norte2
  2. ¿Existe una mejor manera de calcular la similitud / unicidad de un conjunto en un grupo de conjuntos que la que he sugerido anteriormente?
rinogo
fuente
¿Podría aclarar primero lo que quiere decir con "similitud interna"?
Suresh
En otras palabras, la media (o al menos una aproximación suficientemente precisa de la media) de todos los índices de Jaccard en el grupo.
55
Si está dispuesto a aproximar la respuesta, puede usar el hash min-wise para estimar la distancia de Jaccard aproximadamente y luego usar la representación resultante para calcular el promedio deseado.
Suresh
66
No sé qué quiere decir con "lo suficientemente preciso", pero una forma de estimar el promedio de muchas cosas es calcular varias de ellas (los índices Jaccard de varios pares de conjuntos en este caso) al azar y calcular su promedio. Luego puede usar el límite de Chernoff para obtener un límite superior en la probabilidad de que esta estimación esté lejos de la media real.
Tsuyoshi Ito

Respuestas:

4

Una opción sería utilizar el Esquema de firma de [1], filtrado basado en el tamaño : un esquema que utiliza información de tamaño para reducir el número de pares de conjuntos que deben considerarse.

También experimentan con una forma ponderada; donde los pesos están basados ​​en IDF.

[1] Arasu, Arvind, Venkatesh Ganti y Raghav Kaushik. "Eficientes conjuntos exactos de similitud de conjuntos". En las actas de la 32ª Conferencia Internacional sobre bases de datos muy grandes, 918–929. VLDB '06. Fondo VLDB, 2006

A
fuente
Ese enlace parece haber muerto. Considere actualizarlo a vldb.org/conf/2006/p918-arasu.pdf .
j_random_hacker
0

Otra opción sería emplear un enlace wiki de hashing de sensibilidad local . He visto que Wu y Zou lo utilizan en la detección de similitud de la comunidad ( un método de detección de comunidad incremental para sistemas de etiquetado social que utilizan hashing sensible a la localidad , Neural Networks 58: 14–28; ACM DL ) que básicamente detecta la similitud entre entero o conjuntos de cuerdas.

dinos66
fuente
1
Resuma el contenido de los enlaces y cite el artículo. Si los enlaces quedan obsoletos, la respuesta actual se vuelve inútil.
vonbrand