Imposta somiglianza: calcola l'indice Jaccard senza complessità quadratica


14

Ho un gruppo di n set per i quali ho bisogno di calcolare una sorta di valore di "unicità" o "somiglianza". Ho optato per l' indice Jaccard come metrica adatta. Sfortunatamente, l'indice Jaccard funziona solo su due set alla volta. Per calcolare la somiglianza tra tutti gli set, sarà necessario nell'ordine di n 2 calcoli Jaccard.nn2

(Se aiuta, di solito è compreso tra 10 e 10000 e ogni set contiene in media 500 elementi. Inoltre, alla fine, non mi interessa quanto siano simili due set specifici - piuttosto, mi interessa solo quale somiglianza interna dell'intero gruppo di insiemi è (in altre parole, la media (o almeno un'approssimazione sufficientemente accurata della media) di tutti gli indici di Jaccard nel gruppo))n

Due domande:

  1. C'è un modo per usare ancora l'indice Jaccard senza la complessità ?n2
  2. Esiste un modo migliore per calcolare la somiglianza / unicità dei set in un gruppo di set rispetto al modo che ho suggerito sopra?

Potresti prima chiarire cosa intendi per "somiglianza interna"?
Suresh,

In altre parole, la media (o almeno un'approssimazione sufficientemente accurata della media) di tutti gli indici Jaccard nel gruppo.

5
Se sei disposto ad approssimare la risposta, puoi utilizzare l'hash min-saggio per stimare approssimativamente la distanza di Jaccard e quindi utilizzare la rappresentazione risultante per calcolare la media desiderata.
Suresh,

6
Non so cosa intendi con "sufficientemente accurato", ma un modo per stimare la media di molte cose è semplicemente calcolarne molte (gli indici Jaccard di più coppie di set in questo caso) a caso e calcolare la loro media. Quindi è possibile utilizzare il limite di Chernoff per ottenere un limite superiore sulla probabilità che questa stima sia lontana dalla media reale.
Tsuyoshi Ito,

Risposte:


4

Un'opzione sarebbe quella di utilizzare lo schema di firma di [1], filtro basato sulla dimensione : uno schema che utilizza le informazioni sulla dimensione per ridurre il numero di coppie di set che devono essere considerate.

Sperimentano anche con una forma ponderata; dove i pesi sono basati su IDF.

[1] Arasu, Arvind, Venkatesh Ganti e Raghav Kaushik. "Unioni esatte di set-similarità esatta". Negli atti della 32a Conferenza internazionale su basi di dati molto grandi, 918-929. VLDB '06. VLDB Endowment, 2006


Quel collegamento sembra essere morto. Prendi in considerazione l'aggiornamento a vldb.org/conf/2006/p918-arasu.pdf .
j_random_hacker,

0

Un'altra opzione sarebbe quella di utilizzare il collegamento wiki di hashing della sensibilità locale . L'ho visto essere utilizzato nel rilevamento della somiglianza della comunità da parte di Wu e Zou ( un metodo di rilevamento della comunità incrementale per i sistemi di social tagging che utilizzano hashing sensibile alla località , Neural Networks 58: 14–28; ACM DL ) che sostanzialmente rileva la somiglianza tra intero o set di stringhe.


1
Riassumi il contenuto dei link e cita l'articolo. Se i collegamenti diventano obsoleti, la risposta corrente diventa inutile.
vonbrand,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.