La somiglianza del coseno è identica alla distanza euclidea normalizzata l2?


27

Identico significato, che produrrà risultati identici per una somiglianza Classifica tra un vettore u e un insieme di vettori V .

Ho un modello di spazio vettoriale che ha come parametro la misura della distanza (distanza euclidea, somiglianza del coseno) e la tecnica di normalizzazione (nessuna, l1, l2). Da quanto ho capito, i risultati delle impostazioni [coseno, nessuno] dovrebbero essere identici o almeno molto simili a [euclidei, l2], ma non lo sono.

In realtà c'è una buona possibilità che il sistema sia ancora difettoso - o ho qualcosa di grave che non va nei vettori?

modifica: ho dimenticato di menzionare che i vettori si basano sul conteggio delle parole dai documenti in un corpus. Dato un documento di query (che anch'io trasformo in un vettore di conteggio parole), voglio trovare il documento dal mio corpus che è più simile ad esso.

Il solo calcolo della loro distanza euclidea è una misura semplice, ma nel tipo di compito a cui lavoro, la somiglianza del coseno è spesso preferita come indicatore di somiglianza, perché i vettori che differiscono solo in lunghezza sono ancora considerati uguali. Il documento con la più piccola somiglianza distanza / coseno è considerato il più simile.


Tutto dipende da cosa fa il tuo "modello di spazio vettoriale" con queste distanze. Potresti essere più specifico su ciò che fa il modello?
whuber

Scusa, a volte è difficile uscire dalla mia testa. Ho aggiunto una specifica.
Arne,

Non descrivi ancora nessun modello. In effetti, l'unico indizio che ti rimane riguardo al "tipo di compito (su cui lavori)" è il tag nlp - ma è così ampio che non aiuta molto. Ciò che spero che tu possa fornire, in modo che le persone possano capire la domanda e fornire buone risposte, sono informazioni sufficienti per capire esattamente come stai usando la tua misura della distanza e come determina quali potrebbero essere i "risultati".
whuber

stats.stackexchange.com/a/36158/3277 . Qualsiasi somiglianza angolare nota come tipo sscp è convertibile alla sua corrispondente distanza euclidea.
ttnphns,

Risposte:


31

Per i vettori normalizzati , abbiamo che il quadrato euclideo la distanza è proporzionale alla distanza del coseno , Cioè, anche se normalizzassi i tuoi dati e il tuo algoritmo fosse invariante rispetto al ridimensionamento delle distanze, ti aspetteresti comunque delle differenze a causa della quadratura.x , y | | x | | 2 = | | y | | 2 = 1 , | | x - y | | 2 22x,y

||x||2=||y||2=1,
||X-y||22=(X-y)(X-y)=XX-2Xy+yy=2-2Xy=2-2cos(X,y)

Ciò avrebbe un'influenza sulla classifica? In altre parole, se ordino un numero di vettori 'v_i in V' in base alla loro distanza del coseno a un vettore 'u', ottengo un ordine specifico per loro. Classificare quegli stessi vettori con la distanza euclidea normalizzata L_2 produrrebbe lo stesso ordine?
Arne,

2
iirc, poiché la quadratura è una trasformazione monotica (per numeri positivi), non può cambiare l'ordine di una sequenza ordinata per lunghezza.
Arne,

5
Hai ragione, se tutto ciò che fai è classificare i vettori in base alla loro distanza a , usare la distanza del coseno dovrebbe dare lo stesso risultato della distanza euclidea (per i vettori normalizzati). u
Lucas,

Grazie, ti capita di avere una fonte citabile per questa connessione?
Arne,

1
Bene, immagino che 'Linear Alebra I' debba bastare allora;) grazie ancora per l'intuizione!
Arne,

5

La somiglianza standard del coseno è definita come segue in uno spazio euclideo, assumendo vettori di colonna e : Ciò si riduce al prodotto interno standard se i vettori sono normalizzati alla norma unitaria (in l2). Nel text mining questo tipo di normalizzazione non è inaudito, ma non lo considero lo standard.v cos ( u , v ) = u , vuv

cos(u,v)=u,vuv=uTvuv[-1,1].
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.