Punteggio e somiglianza euclidea della distanza


13

Sto solo lavorando con il libro Collective Intelligence (di Toby Segaran) e mi sono imbattuto nel punteggio di distanza euclideo. Nel libro l'autore mostra come calcolare la somiglianza tra due array di raccomandazioni (cioè .person×moviescore)

Calcola la distanza euclidea di due persone e per p 2 d ( p 1 , p 2 ) = p1p2

d(p1,p2)=Σio  articolo(Sp1-Sp2)2

Questo ha completamente senso per me. Quello che non capisco davvero è perché alla fine calcola quanto segue per ottenere una "somiglianza basata sulla distanza":

11+d(p1,p2)

Quindi, in qualche modo capisco che questa deve essere la conversione da una distanza a una somiglianza (giusto?). Ma perché il formulare si presenta così? Qualcuno può spiegarlo?


Ci possono essere molti modi per convertire le differenze e le somiglianze l'una nell'altra - la formula specifica dipende da ciò che ha senso per te e per l'analisi futura. In quel libro di testo l'autore ha preferito la formula che mostri per qualche motivo; qualcun altro in una situazione diversa potrebbe scegliere un'altra formula. Il modo più geometricamente corretto di convertire la distanza euclidea in una somiglianza sarebbe seguire dal teorema del coseno in condizioni centrate sui dati ed è descritto qui al par. 1.
ttnphns

Ok! Ma se ho capito bene non converti davvero la distanza euclidea in una somiglianza, ma usi semplicemente una funzione diversa che ti restituisce valori entro 0 e 1 (a causa del coseno), giusto? Voglio dire, mi sembra diverso dal calcolare tutte le distanze e poi convertirle in una somiglianza, ad esempio interpolando tra la distanza più piccola e quella più grande. Giusto?
naviga il

Se hai una matrice quadrata simmetrica di distanze euclidee quadrate e esegui un'operazione di "doppio centraggio" su di essa, ottieni la matrice dei prodotti scalari che verrebbe osservata quando metti l'origine dello spazio euclideo al centro della tua configurazione di oggetti. Questi prodotti scalari sono somiglianze di tipo angolare. Sono molto simili alle covarianze . Non sono limitati nell'intervallo 0-1, possono essere negativi, positivi e gli elementi diagonali non sono necessariamente 1. Tuttavia, sono somiglianze.
ttnphns,

Risposte:


12

L'inverso è quello di cambiare dalla distanza alla somiglianza.

Il 1 nel denominatore serve a farlo in modo che il valore massimo sia 1 (se la distanza è 0).

La radice quadrata - Non ne sono sicuro. Se la distanza è generalmente maggiore di 1, la radice renderà meno importanti le grandi distanze; se la distanza è inferiore a 1, renderà più importanti le grandi distanze.


Scusate! La radice quadrata era sbagliata. L'autore l'ha inserito nella seconda formula, ma l'ha lasciato fuori nella prima. Quindi non dovrebbe essere lì
naviga il

Sì, ma il tuo suggerimento con l'impostazione del valore massimo su 1 ha senso! Grazie!
naviga il

4

Per misurare la distanza e la somiglianza (in senso semantico) la prima cosa da controllare è se ti stai muovendo in uno spazio euclideo o no. Un modo empirico per verificarlo è stimare la distanza di una coppia di valori per i quali si conosce il significato.


1

Come hai detto, conosci il calcolo della distanza dell'Euclidence, quindi ti spiego la seconda formula.

La formula euclidea calcola la distanza, che sarà minore per le persone o gli oggetti che sono più simili. Come se fossero uguali, la distanza è 0 e totalmente diversa quindi maggiore di 0.

Tuttavia abbiamo bisogno di una funzione che dia un valore più alto di loro sono simili. Questo può essere fatto aggiungendo 1 alla funzione (quindi non si ottiene un errore di divisione per zero) e invertendolo. Come se la distanza 0 e il punteggio di somiglianza 1/1 = 1


Non capisco questa risposta.
Michael R. Chernick,

ok diciamo che la distanza euclidea tra l'articolo 1 e l'articolo 2 è 4 e tra l'articolo 1 e l'articolo 3 è 0 (significa che sono simili al 100%). Questa è la distanza degli oggetti in uno spazio virtuale. minore il valore della distanza significa che sono vicini l'uno all'altro significa più probabilità di essere simili. Ora vogliamo un valore numerico tale che dia un numero più alto se sono molto simili. Quindi possiamo invertire il valore della distanza. E se avessimo una distanza pari a 0, allora perché aggiungiamo 1 nel denominatore. quindi il punteggio di somiglianza per gli articoli 1 e 2 è 1 / (1 + 4) = 0,2 e per l'articolo 1 e l'articolo 3 è 1 / (1 + 0) = 0
user10009133

Forse stai parlando di una sorta di misura della distanza ma la distanza euclidea segue una formula specifica per quanto riguarda uno spazio vettoriale.
Michael R. Chernick,

1/1+d(p1,p2)
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.