Set Similarity - Berechnen Sie den Jaccard-Index ohne quadratische Komplexität

14

Ich habe eine Gruppe von n Mengen, für die ich eine Art "Eindeutigkeit" oder "Ähnlichkeit" -Wert berechnen muss. Ich habe mich für den Jaccard-Index als geeignete Metrik entschieden. Leider arbeitet der Jaccard-Index nur mit zwei Sätzen gleichzeitig. Um die Ähnlichkeit zwischen allen Sätzen zu berechnen , werden Jaccard-Berechnungen benötigt.nn2

(Wenn es hilft, liegt normalerweise zwischen 10 und 10000, und jede Menge enthält durchschnittlich 500 Elemente. Letztendlich ist es mir auch egal, wie ähnlich zwei spezifische Mengen sind - es ist mir vielmehr nur wichtig, was die interne Ähnlichkeit ist der gesamten Gruppe von Mengen ist. (Mit anderen Worten, der Mittelwert (oder zumindest eine ausreichend genaue Annäherung an den Mittelwert) aller Jaccard-Indizes in der Gruppe)n

Zwei Fragen:

  1. Gibt es eine Möglichkeit, den Jaccard-Index weiterhin ohne die Komplexität von ?n2
  2. Gibt es eine bessere Methode zur Berechnung der Ähnlichkeit / Eindeutigkeit von Mengen für eine Gruppe von Mengen als die oben vorgeschlagene?
rinogo
quelle
Können Sie zunächst klarstellen, was Sie unter "innerer Ähnlichkeit" verstehen?
Suresh
Mit anderen Worten der Mittelwert (oder zumindest eine ausreichend genaue Annäherung an den Mittelwert) aller Jaccard-Indizes in der Gruppe.
5
Wenn Sie bereit sind, die Antwort zu approximieren, können Sie den Jaccard-Abstand mithilfe von Min-Wise-Hashing ungefähr schätzen und dann die resultierende Darstellung verwenden, um den gewünschten Durchschnitt zu berechnen.
Suresh
6
Ich weiß nicht, was Sie mit „ausreichend genau“ meinen, aber eine Möglichkeit, den Durchschnitt vieler Dinge abzuschätzen, besteht darin, mehrere davon (in diesem Fall die Jaccard-Indizes mehrerer Paare von Mengen) zufällig zu berechnen und ihren Durchschnitt zu berechnen. Dann können Sie die Chernoff-Grenze verwenden, um eine Obergrenze für die Wahrscheinlichkeit zu erhalten, dass diese Schätzung weit vom wahren Mittelwert entfernt ist.
Tsuyoshi Ito

Antworten:

4

Eine Option wäre die Verwendung des Signaturschemas von [1], der größenbasierten Filterung : Ein Schema, das Größeninformationen verwendet, um die Anzahl der zu berücksichtigenden Gruppenpaare zu verringern.

Sie experimentieren auch mit einer gewichteten Form; bei Gewichten auf IDF-Basis.

[1] Arasu, Arvind, Venkatesh Ganti und Raghav Kaushik. "Efficient Exact Set-Similarity Joins". In Proceedings of the 32. International Conference on Very Large Data Bases, 918–929. VLDB '06. VLDB-Stiftung, 2006

BEIM
quelle
Diese Verbindung scheint gestorben zu sein. Erwägen Sie, es auf vldb.org/conf/2006/p918-arasu.pdf zu aktualisieren .
j_random_hacker
0

Eine andere Möglichkeit wäre die Verwendung eines Wiki-Links für lokales Sensitivity-Hashing . Ich habe gesehen, wie es bei der Community-Ähnlichkeitserkennung von Wu und Zou ( eine inkrementelle Community-Erkennungsmethode für Social-Tagging-Systeme unter Verwendung von lokalitätssensitivem Hashing , Neural Networks 58: 14–28; ACM DL ) verwendet wird, bei der Ähnlichkeit zwischen Ganzzahlen oder Zahlen erkannt wird Saitensätze.

dinos66
quelle
1
Bitte fassen Sie den Inhalt der Links zusammen und zitieren Sie das Papier. Wenn Links veraltet sind, ist die aktuelle Antwort unbrauchbar.
Vonbrand