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?

navige
la source
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.

Peter Flom - Réintégrer Monica
la source
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.

Claudio Martines
la source
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

user10009133
la source
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)