Finden ähnlicher Vektoren in subquadratischer Zeit


9

Sei eine Funktion, die wir als Ähnlichkeitsfunktion bezeichnen . Beispiele für Ähnlichkeitsfunktionen sind Kosinusabstand, Norm, Hamming-Abstand, Jaccard-Ähnlichkeit usw.d:{0,1}k×{0,1}kRl2

Betrachten Sie binäre Vektoren der Länge : .nkv({0,1}k)n

Unser Ziel ist es, ähnliche Vektoren zu gruppieren. Formal wollen wir einen Ähnlichkeitsgraphen berechnen, bei dem Knoten die Vektoren sind und Kanten Vektoren darstellen, die ähnlich sind ( ).d(v,u)ϵ

n und sind sehr große Zahlen, und der Vergleich von zwei Längen- Vektoren ist teuer. Wir können nicht alle Brute-Force- -Operationen durchführen. Wir wollen das Ähnlichkeitsdiagramm mit deutlich weniger Operationen berechnen.kkO(n2)

Ist das möglich? Wenn nicht, können wir eine Annäherung an den Graphen berechnen, der alle Kanten im Ähnlichkeitsgraphen sowie möglicherweise höchstens andere Kanten enthält?O(1)


Sollte es eher als ? ϵϵ
Usul

@usul Danke für deinen Kommentar :) Hier sind wir daran interessiert, Artikel zu gruppieren, die sehr ähnlich sind. Ich habe die Frage bearbeitet, ich hoffe es ist jetzt klar.
Ram

Klingt für mich so, als könnten Sie Similarity Preserving Hashing ( arxiv.org/pdf/1311.7662v1.pdf ) verwenden, um die Problemdimension zu reduzieren.
RB

4
Diese Frage ist überhaupt nicht genau definiert. Bitte geben Sie weitere Details an. Wenn beispielsweise von einem Orakel gegeben wird, können Sie es offensichtlich nicht besser machen als . d(n2)
Domotorp

5
Arbeitest du für twitter blog.twitter.com/2014/all-pairs-similarity-via-dimsum Im Ernst, es wird sehr schwer sein, schneller zu erkennen, ob es in diesem Diagramm eine Kante gibt (dh, es handelt sich nicht um einen unabhängigen Satz von Eckpunkten) für eine beliebige Ähnlichkeitsfunktion. O(n2)
Ryan Williams

Antworten:


5

Es kann eine Möglichkeit geben, das Johnson-Lindenstrauss- Theorem in dieses Problem hineinzuversetzen. Im Wesentlichen gibt JL an, dass Sie hochdimensionale Daten so in niedrigdimensionale Räume projizieren können, dass die paarweisen Abstände nahezu erhalten bleiben. In der Praxis hat Achlioptas ein Papier namens Datenbankfreundliche Zufallsprojektionen: Johnson-Lindenstrauss mit binären Münzen , das diese Projektion auf zufällige Weise ausführt , was in der Praxis ziemlich gut funktioniert.

Nun ist Ihre Ähnlichkeitsfunktion sicherlich nicht genau die gleiche wie etwas, das in den JL-Satz passen würde. Es sieht jedoch wie eine Distanzfunktion aus und vielleicht kann ein Teil der obigen Theorie helfen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.