Somiglianza del coseno rispetto al punto prodotto come metriche di distanza


41

Sembra che la somiglianza del coseno di due caratteristiche sia solo il loro punto prodotto ridimensionato dal prodotto delle loro magnitudini. Quando la somiglianza del coseno rende una metrica di distanza migliore rispetto al prodotto punto? Vale a dire il prodotto punto e la somiglianza del coseno hanno diversi punti di forza o di debolezza in diverse situazioni?


Nota che nessuna di queste sono metriche di distanza appropriate, anche se le trasformi in un valore piccolo quando i punti sono "simili". Potrebbe essere o meno importante per il tuo caso d'uso.
Sean Owen,

Risposte:


41

Pensa geometricamente. La somiglianza del coseno si preoccupa solo della differenza di angolo, mentre il prodotto a punti si preoccupa di angolo e magnitudine. Se normalizzi i tuoi dati per avere la stessa grandezza, i due sono indistinguibili. A volte è desiderabile ignorare la grandezza, quindi la somiglianza del coseno è buona, ma se la magnitudine gioca un ruolo, il prodotto punto sarebbe meglio come misura di somiglianza. Nota che nessuno dei due è una "metrica della distanza".


3
La "metrica della distanza" è comunemente usata come opposto della "somiglianza" in letteratura: la distanza maggiore, la somiglianza minore, ma sostanzialmente rappresentano la stessa idea.
amico

1
@ffriend Vuoi dire "dissomiglianza". La metrica ha una definizione precisa.
Memming

8

Hai ragione, la somiglianza del coseno ha molto in comune con il prodotto punto dei vettori. In effetti, è un prodotto a punti, ridimensionato per grandezza. E a causa del ridimensionamento è normalizzato tra 0 e 1. CS è preferibile perché tiene conto della variabilità dei dati e delle frequenze relative delle caratteristiche. D'altro canto, il prodotto a punto semplice è un po 'più "economico" (in termini di complessità e implementazione).


Perché il solo prodotto punto (equivalente alla non normalizzazione) non tiene conto dei dati e della frequenza delle funzionalità? Non so che questa è la differenza.
Sean Owen,

2
Forse non ero chiaro. Stavo parlando della diversità dei dati. Ad esempio, abbiamo due coppie di documenti. All'interno di ogni coppia i documenti sono identici, ma i documenti della coppia 1 sono più brevi di quelli della coppia 2. E calcoliamo la somiglianza all'interno di ogni coppia. Il prodotto Dot produrrebbe numeri diversi, sebbene in entrambi i casi sia prevista la massima stima di somiglianza.
Sobach,

5

Vorrei aggiungere un'altra dimensione alle risposte fornite sopra. Di solito usiamo la somiglianza del coseno con testo di grandi dimensioni, perché non è raccomandato l'uso della matrice di distanza su paragrafi di dati. E anche se intendi che il tuo cluster sia ampio, tendi ad andare con la somiglianza del coseno in quanto cattura la somiglianza in generale.

Ad esempio, se si hanno testi composti da due o tre parole al massimo, ritengo che l'uso della somiglianza del coseno non raggiunga la precisione raggiunta dalla metrica della distanza.


4

Vi è un eccellente confronto delle metriche di somiglianza basate sul prodotto interno comuni qui .

In particolare, la somiglianza del coseno è normalizzata in [0,1], a differenza del prodotto punto che può essere qualsiasi numero reale, ma, come dicono tutti gli altri, ciò richiederà di ignorare l'entità dei vettori. Personalmente, penso che sia una buona cosa. Penso alla grandezza come a una struttura interna (all'interno del vettore) e all'angolo tra i vettori come a una struttura esterna (tra il vettore). Sono cose diverse e (secondo me) sono spesso meglio analizzate separatamente. Non riesco a immaginare una situazione in cui preferirei calcolare i prodotti interni piuttosto che calcolare le somiglianze del coseno e poi confrontare le magnitudini in seguito.


"La somiglianza del coseno è normalizzata in [0,1]" Ha ancora un punto nel numeratore, penso che l'intervallo dovrebbe invece essere [-1, 1]?
Kari,

2

X,||X||2=X,X=1φX,y=cosφφ=ARccOSX,y

Visivamente, tutti i tuoi dati vivono su una sfera unitaria. L'uso di un prodotto punto come distanza ti darà una distanza cordale, ma se usi questa distanza del coseno, corrisponde alla lunghezza del percorso tra i due punti sulla sfera. Ciò significa che se si desidera una media dei due punti, è necessario prendere il punto intermedio su questo percorso (geodetico) anziché il punto medio ottenuto dalla "media aritmetica / punto prodotto / geometria euclidea" poiché questo punto non vivere sulla sfera (quindi essenzialmente non è lo stesso oggetto)!


1

Come altri hanno sottolineato, questi non sono "parametri" di distanza, perché non soddisfano i criteri metrici. Pronuncia invece "misura della distanza".

Comunque, cosa stai misurando e perché? Tali informazioni ci aiuteranno a fornire una risposta più utile alla tua situazione.


Mi sono sempre chiesto la differenza tra misure e metriche. Secondo il governo (NIST): "... Usiamo la misura per attributi più concreti o oggettivi e la metrica per attributi più astratti, di livello superiore o in qualche modo soggettivi. ... Robustezza, qualità (come in" alta qualità "), ed efficacia sono attributi importanti per i quali abbiamo una certa coerenza, ma sono difficili da definire in modo oggettivo. Quindi questi sono parametri. Ma il contesto è l'ingegneria del software, non la matematica. Qual è la tua opinione?
ahoffer,

1
Wikipedia è stata più utile. la distanza (x, y) deve essere non negativa; d (x, y) = 0 solo se x = y; d (x, y) = d (y, x); e soddisfare la disuguaglianza del triangolo- d (x, z) ≤ d (x, y) + d (y, z)
ahoffer

1
È praticamente tutto: una metrica deve soddisfare determinati assiomi e una misura è definita in modo meno rigoroso.
sintassi
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.