Score de distance euclidienne et similitude


13

Je travaille juste avec le livre Collective Intelligence (de Toby Segaran) et suis tombé sur le score de distance euclidienne. Dans le livre, l'auteur montre comment calculer la similitude entre deux tableaux de recommandations (c'est-à-dire .person×moviescore)

Il calcule la distance euclidienne pour deux personnes et par p 2 d ( p 1 , p 2 ) = p1p2

d(p1,p2)=i  item(sp1sp2)2

Cela me paraît tout à fait logique. Ce que je ne comprends pas vraiment, c'est pourquoi il calcule à la fin ce qui suit pour obtenir une "similitude basée sur la distance":

11+d(p1,p2)

Donc, je comprends en quelque sorte que ce doit être la conversion d'une distance à une similitude (non?). Mais pourquoi le formulaire ressemble-t-il à cela? Quelqu'un peut-il expliquer cela?


Il peut y avoir plusieurs façons de convertir les dissemblances et les similitudes entre elles - la formule spécifique dépend de ce qui a du sens pour vous et pour l'analyse future. Dans ce manuel, l'auteur a préféré la formule que vous montrez pour une raison quelconque; quelqu'un d'autre dans une situation différente pourrait choisir une autre formule. La façon la plus géométriquement correcte de convertir la distance euclidienne en une similitude découlerait du théorème du cosinus dans des conditions centrées sur les données et est décrite ici au par. 1.
ttnphns

D'accord! Mais si je comprends bien, vous ne convertissez pas vraiment la distance euclidienne en une similitude, mais vous utilisez simplement une fonction différente qui vous renvoie des valeurs comprises entre 0 et 1 (à cause du cosinus), non? Je veux dire que cela me semble différent que de calculer toutes les distances et de les convertir ensuite en une similitude, par exemple en interpolant entre la plus petite et la plus grande distance. Droite?
navige

Si vous avez une matrice symétrique carrée de distances euclidiennes carrées et que vous effectuez une opération de "double centrage", vous obtenez alors la matrice des produits scalaires qui serait observée lorsque vous placez l'origine de l'espace euclidien au centre de votre configuration de objets. Ces produits scalaires sont des similitudes de type angle. Ils ressemblent beaucoup à des covariances . Ils ne sont pas liés dans la plage 0-1, ils peuvent être des éléments négatifs, positifs et diagonaux ne sont pas nécessairement 1. Pourtant, ce sont des similitudes.
ttnphns

Réponses:


12

L'inverse est de passer de la distance à la similitude.

Le 1 au dénominateur est de faire en sorte que la valeur maximale soit 1 (si la distance est 0).

La racine carrée - je ne suis pas sûr. Si la distance est généralement supérieure à 1, la racine rendra les grandes distances moins importantes; si la distance est inférieure à 1, cela rendra les grandes distances plus importantes.


Pardon! La racine carrée était incorrecte. L'auteur l'a effectivement mis dans la deuxième formule, mais l'a laissé de côté dans la première. Donc ça ne devrait pas être là
navige

Oui, mais votre suggestion de définir la valeur maximale à 1 est logique! Merci!
navige

4

Pour mesurer la distance et la similitude (au sens sémantique), la première chose à vérifier est de savoir si vous vous déplacez dans un espace euclidien ou non. Une façon empirique de vérifier cela consiste à estimer la distance d'une paire de valeurs dont vous connaissez la signification.


1

Comme vous l'avez mentionné, vous connaissez le calcul de la distance d'Euclidence, donc j'explique la deuxième formule.

La formule euclidienne calcule la distance, qui sera plus petite pour les personnes ou les objets plus similaires. Comme s'ils étaient identiques, la distance est 0 et totalement différente, puis supérieure à 0.

Cependant, nous avons besoin d'une fonction qui donne une valeur plus élevée si elles sont similaires. Cela peut être fait en ajoutant 1 à la fonction (pour ne pas obtenir d'erreur de division par zéro) et en l'inversant. Comme si la distance 0 et le score de similitude 1/1 = 1


Je ne comprends pas cette réponse.
Michael R. Chernick

ok disons que la distance euclidienne entre l'article 1 et l'article 2 est 4 et entre l'article 1 et l'article 3 est 0 (signifie qu'ils sont 100% similaires). Ce sont la distance des éléments dans un espace virtuel. plus la valeur de la distance est petite, plus ils sont proches les uns des autres, ce qui est plus susceptible de se ressembler. Maintenant, nous voulons une valeur numérique telle qu'elle donne un nombre plus élevé si elles sont très similaires. Nous pouvons donc inverser la valeur de la distance. Mais que faire si nous avons une distance égale à 0, c'est pourquoi nous ajoutons 1 au dénominateur. donc le score de similitude pour les éléments 1 et 2 est 1 / (1 + 4) = 0,2 et pour l'élément 1 et l'élément 3 est 1 / (1 + 0) = 0
user10009133

Vous parlez peut-être d'une sorte de mesure de distance, mais la distance euclidienne suit une formule spécifique concernant un espace vectoriel.
Michael R. Chernick

1/1+d(p1,p2)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.