Trovare vettori simili in tempi subquadratici


9

Sia sia una funzione che chiamiamo funzione di somiglianza . Esempi di funzione di somiglianza sono distanza coseno, l 2 norma, distanza di Hamming, Jaccard similitudine, etc.d:{0,1}k×{0,1}kRl2

Considera n vettori binari di lunghezza k : v({0,1}k)n .

Il nostro obiettivo è raggruppare vettori simili. Più formalmente, vogliamo calcolare un grafico di somiglianza in cui i nodi sono i vettori e gli spigoli rappresentano i vettori che sono simili ( d(v,u)ϵ ).

n ek sono numeri molto grandi e confrontando duevettori dilunghezzak è costoso, non possiamo eseguire tutte le operazioni a forza brutaO(n2). Vogliamo calcolare il grafico di somiglianza con un numero significativamente inferiore di operazioni.

È possibile? In caso contrario, possiamo calcolare un'approssimazione al grafico che contiene tutti i bordi nel grafico di somiglianza più eventualmente al massimo O(1) altri bordi?


Dovrebbe essere ϵ anziché ϵ ?
usul

@usul Grazie per il tuo commento :) Qui, siamo interessati a raggruppare elementi che sono molto simili. Ho modificato la domanda, spero sia chiaro ora.
Ram

Mi sembra che potresti usare Hashing per la preservazione della somiglianza ( arxiv.org/pdf/1311.7662v1.pdf ) per ridurre la dimensione del problema.
RB,

4
d(n2)

5
Lavori per twitter? blog.twitter.com/2014/all-pairs-similarity-via-dimsum Seriamente, anche scoprire se c'è un bordo in questo grafico (vale a dire che non è un insieme indipendente di vertici) sarà molto difficile da fare più velocemente di per una funzione di somiglianza arbitraria. O(n2)
Ryan Williams,

Risposte:


5

Potrebbe esserci un modo per calpestare il teorema di Johnson-Lindenstrauss in questo problema. In sostanza, JL afferma che è possibile proiettare dati di alta dimensione in spazi di dimensione inferiore in modo tale che le distanze a coppie siano quasi preservate. Più praticamente, Achlioptas ha un documento chiamato Proiezioni casuali adatte al database: Johnson-Lindenstrauss con monete binarie che fa questa proiezione in modo casuale, che funziona abbastanza bene nella pratica.

Ora, certamente, la tua funzione di somiglianza non è esattamente la stessa di qualcosa che si adatterebbe al teorema di JL. Tuttavia, sembra una funzione di distanza e forse alcune delle teorie di cui sopra potrebbero essere d'aiuto.

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.