Meilleure mesure de distance à utiliser


12

Le contexte

J'ai deux ensembles de données que je veux comparer. Chaque élément de données dans les deux ensembles est un vecteur contenant 22 angles (tous entre et ). Les angles se rapportent à une configuration de pose humaine donnée, donc une pose est définie par 22 angles communs.πππ

Ce que j'essaie finalement de faire, c'est de déterminer la «proximité» des deux ensembles de données. Donc, pour chaque pose (vecteur 22D) dans un ensemble, je veux trouver son voisin le plus proche dans l'autre ensemble et créer un tracé de distance pour chacune des paires les plus proches.

Des questions

  • Puis-je simplement utiliser la distance euclidienne?
    • Pour être significatif, je suppose que la métrique de distance devrait être définie comme: , oùest la valeur absolue et mod est modulo. Ensuite, en utilisant les 22 thetas résultants, je peux effectuer le calcul de la distance euclidienne standard, .| . . . | θ=|θ1θ2|modπ|...|t12+t22++t222
    • Est-ce correct?
  • Une autre mesure de distance serait-elle plus utile, comme le chi carré, ou Bhattacharyya, ou une autre mesure? Si oui, pourriez-vous nous expliquer pourquoi.

3
En remarque: je ne pense pas que vous vouliez dire . Plutôt quelque chose comme . |θ1θ2|modπmin{|θ1θ2|,2π|θ1θ2|}
Erik P.

4
Plutôt que de travailler avec des angles, je suggère de convertir d'abord en coordonnées (x, y) sur le cercle unitaire. Vous pouvez ensuite calculer normalement (distances et similaires), et la moyenne n'est pas un problème comme avec les angles.
caracal

2
La suggestion de @Josh Erik P. est bonne. Alternativement, considérez chaque angle comme un point sur le cercle unitaire et calculez les distances euclidiennes entre eux en utilisant la formule habituelle (pythagoricienne). La différence entre ces distances et les distances angulaires ne devrait pas avoir d'importance. (Je crois que c'est peut-être aussi ce que Caracal a suggéré.)( cos ( θ ) , sin ( θ ) )θ(cos(θ),sin(θ))
whuber

2
@Josh La moyenne de, par exemple, et est . Dans de nombreuses circonstances, cela n'a pas de sens et devrait être place. Dans votre situation spécifique, cela pourrait ne pas être un problème car les articulations humaines n'ont peut-être pas d'amplitude de mouvement après . De plus, dans votre cas, vous souhaitez peut-être que la moyenne susmentionnée soit car le mouvement articulaire est unidirectionnel. La suggestion de @ whuber est exactement ce que je voulais dire. 7 π / 4 π 0 π ππ/47π/4π0ππ
caracal

3
Votre problème deviendra probablement beaucoup plus facile à résoudre si vous pouvez spécifier les conséquences de "se tromper". Donc, si vous dites que les ensembles de données sont identiques ou similaires, mais qu'ils ne le sont pas, que vous arrivera-t-il? Cela dépendra-t-il de la «mauvaise» décision que vous avez prise? Que se passera-t-il si vous déclarez les données / poses différentes, mais qu'elles sont en fait identiques ou similaires? Qu'est-ce qui est perdu? répondre à ces questions vous aidera à déterminer ce qui compte pour la comparaison que vous souhaitez faire. Cela garantit que vous répondez à la bonne question.
probabilityislogic

Réponses:


5

vous pouvez calculer la matrice de covariance pour chaque ensemble, puis calculer la distance de Hausdorff entre les deux ensembles en utilisant la distance de Mahalanobis.

La distance de Mahalanobis est un moyen utile de déterminer la similitude d'un ensemble d'échantillons inconnu avec un échantillon connu. Elle diffère de la distance euclidienne en ce qu'elle prend en compte les corrélations de l'ensemble de données et est invariante d'échelle.


3

Qu'essayez-vous de faire avec les informations sur le voisin le plus proche?

Je répondrais à cette question, puis comparerais les différentes mesures de distance à la lumière de cela.

Par exemple, supposons que vous essayez de classer les poses en fonction de la configuration conjointe et que vous souhaitez que les vecteurs conjoints de la même pose soient rapprochés. Une manière simple d'évaluer la pertinence de différentes métriques de distance consiste à utiliser chacune d'elles dans un classificateur KNN et à comparer les précisions hors échantillon de chacun des modèles résultants.


2

Cela ressemble à une certaine application de la récupération d'informations (IR). Il y a quelques années, j'ai assisté à une conférence sur la reconnaissance de la marche qui ressemble à ce que vous faites. Dans la recherche d'informations, les "documents" (dans votre cas: les données d'angle d'une personne) sont comparés à une requête (qui dans votre cas pourrait être "y a-t-il une personne avec des données d'angle (.., ..)"). Ensuite, les documents sont répertoriés dans l'ordre de celui qui correspond le plus proche à celui qui correspond le moins. Cela, à son tour, signifie qu'un composant central de l'IR place un document dans une sorte d'espace vectoriel (dans votre cas: l'espace d'angle) et le compare à une requête spécifique ou un exemple de document ou mesure leur distance. (Voir ci-dessous.) Si vous avez une bonne définition de la distance entre deux vecteurs individuels, il vous suffit de trouver une mesure de la distance de deux ensembles de données. (Traditionnellement en IR, la distance dans le modèle d'espace vectoriel est calculée soit par la mesure du cosinus, soit par la distance euclidienne, mais je ne me souviens pas comment ils l'ont fait dans ce cas.) En IR, il existe également un mécanisme appelé "rétroaction de pertinence" qui, conceptuellement , fonctionne avec la distance de deux ensembles de documents. Ce mécanisme utilise normalement une mesure de distance qui résume toutes les distances individuelles entre toutes les paires de documents (ou dans votre cas: les vecteurs personnes). Peut-être que cela vous est utile.

La page suivante contient des articles qui semblent pertinents pour votre problème: http://www.mpi-inf.mpg.de/~mmueller/index_publications.html Surtout celui-ci http://www.mpi-inf.mpg.de/ ~ mmueller / publications / 2006_DemuthRoederMuellerEberhardt_MocapRetrievalSystem_ECIR.pdf semble intéressant. Le discours de Müller auquel j'ai assisté mentionne des mesures de similitude de Kovar et Gleicher appelées «nuage de points» (voir http://portal.acm.org/citation.cfm?id=1186562.1015760&coll=DL&dl=ACM ) et une autre appelée «quaternions» . J'espère que cela aide.


Il serait utile d'avoir la référence si vous pouvez la trouver. Merci.
Josh

2

Ce problème est appelé apprentissage métrique à distance. Chaque métrique de distance peut être représentée par où est semi-défini positif. Méthodes dans cette sous-zone, découvrez le optimal pour vos données. En fait, si le optimal se trouve être une matrice d'identité, il est acceptable d'utiliser des distances euclidiennes. S'il s'agit de la covariance inverse, il serait optimal d'utiliser la distance de Mahalanobis, et ainsi de suite. Par conséquent, une méthode d'apprentissage métrique à distance doit être utilisée pour apprendre le optimal , pour apprendre la bonne métrique de distance. AAAA(xy)tA(xy)AAAA


0

Un problème avec l'utilisation des angles comme proxy pour la forme est que de petites perturbations dans les angles peuvent entraîner de grandes perturbations dans la forme. De plus, différentes configurations d'angles peuvent donner la même forme (ou une forme similaire).

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.