Beste Entfernungsmessung zu verwenden

12

Kontext

Ich habe zwei Datensätze, die ich vergleichen möchte. Jedes Datenelement in beiden Mengen ist ein Vektor mit 22 Winkeln (alle zwischen -π und π ). Die Winkel beziehen sich auf eine bestimmte Konfiguration der menschlichen Pose, sodass eine Pose durch 22 Gelenkwinkel definiert ist.

Letztendlich versuche ich, die "Nähe" der beiden Datensätze zu bestimmen. Also möchte ich für jede Pose (22D-Vektor) in einer Menge den nächsten Nachbarn in der anderen Menge finden und für jedes der nächsten Paare ein Distanzdiagramm erstellen.

Fragen

  • Kann ich einfach die euklidische Distanz verwenden?
    • Um sinnvoll zu sein, gehe ich davon aus, dass die Distanzmetrik wie folgt definiert werden müsste: θ=|θ1-θ2|mÖdπ , wo|...|ist absoluter Wert und mod ist modulo. Dann kann ich unter Verwendung der resultierenden 22 Thetas die euklidische Standardabstandsberechnung durchführen,t12+t22++t222 .
    • Ist das richtig?
  • Wäre eine andere Entfernungsmetrik sinnvoller, wie Chi-Quadrat oder Bhattacharyya, oder eine andere Metrik? Wenn ja, geben Sie uns bitte einen Einblick, warum.
Josh
quelle
3
Als Randnotiz: Ich glaube nicht, dass Sie . Eher so etwas wie . |θ1θ2|modπmin{|θ1θ2|,2π|θ1θ2|}
Erik P.
4
Anstatt mit Winkeln zu arbeiten, empfehle ich zuerst die Umrechnung in (x, y) -Koordinaten auf dem Einheitskreis. Sie können dann normal rechnen (Entfernungen und dergleichen), und die Mittelwertbildung ist kein Problem wie bei Winkeln.
Karakal
2
@Josh Erik P.'s Vorschlag ist gut. Alternativ betrachten Sie jeden Winkel als einen Punkt auf dem Einheitskreis und berechnen die euklidischen Abstände zwischen ihnen unter Verwendung der üblichen (pythagoräischen) Formel. Der Unterschied zwischen diesen Abständen und den Winkelabständen sollte keine Rolle spielen. (Ich glaube, das könnte auch θ(cos(θ),sin(θ))
Caracals
2
@Josh Der Durchschnitt von zB und ist . In vielen Fällen ist dies nicht sinnvoll und sollte stattdessen . In Ihrer speziellen Situation ist dies möglicherweise kein Problem, da menschliche Gelenke möglicherweise keine Bewegungsreichweite nach . In Ihrem Fall möchten Sie vielleicht auch, dass der oben genannte Durchschnitt da die gemeinsame Bewegung unidirektional ist. @whubers Vorschlag ist genau das, was ich gemeint habe. 7 π /π/47π/4π0ππ
Karakal
3
Ihr Problem wird wahrscheinlich viel einfacher zu lösen sein, wenn Sie die Konsequenzen von "falsch verstehen" angeben können. Wenn Sie also sagen, dass die Datensätze gleich oder ähnlich sind, dies aber nicht der Fall ist, was passiert dann mit Ihnen? Kommt es darauf an, "wie falsch" Ihre Entscheidung war? Was passiert, wenn Sie die Daten / Posen als unterschiedlich deklarieren, sie aber tatsächlich gleich oder ähnlich sind? Was ist verloren? Durch Beantwortung dieser Fragen können Sie herausfinden, was für den Vergleich wichtig ist, den Sie durchführen möchten. Dies stellt sicher, dass Sie die richtige Frage beantworten.
Wahrscheinlichkeitslogik

Antworten:

5

Sie können die Kovarianzmatrix für jeden Satz berechnen und dann den Hausdorff-Abstand zwischen den beiden Sätzen unter Verwendung des Mahalanobis-Abstandes berechnen.

Der Mahalanobis-Abstand ist eine nützliche Methode, um die Ähnlichkeit eines unbekannten Probensatzes mit einem bekannten zu bestimmen. Sie unterscheidet sich von der euklidischen Distanz dadurch, dass sie die Korrelationen des Datensatzes berücksichtigt und skalierungsinvariant ist.

skyde
quelle
3

Was versuchen Sie mit den Informationen des nächsten Nachbarn zu tun?

Ich würde diese Frage beantworten und dann die verschiedenen Entfernungsmaße im Lichte dessen vergleichen.

Angenommen, Sie versuchen, Posen basierend auf der Gelenkkonfiguration zu klassifizieren, und möchten, dass Gelenkvektoren derselben Pose nahe beieinander liegen. Eine einfache Möglichkeit, die Eignung verschiedener Abstandsmetriken zu bewerten, besteht darin, jede in einem KNN-Klassifikator zu verwenden und die Genauigkeit jedes resultierenden Modells außerhalb der Stichprobe zu vergleichen.

benhamner
quelle
2

Dies scheint einer bestimmten Anwendung von Information Retrieval (IR) ähnlich zu sein. Vor ein paar Jahren habe ich an einem Vortrag über Gangerkennung teilgenommen, der sich ähnlich anhört wie das, was Sie tun. Beim Informationsabruf werden "Dokumente" (in Ihrem Fall: Winkeldaten einer Person) mit einer Abfrage verglichen (in Ihrem Fall "Gibt es eine Person mit Winkeldaten (.., ..)"). Dann werden die Dokumente in der Reihenfolge aufgelistet, in der sie am ehesten mit denen übereinstimmen, die am wenigsten übereinstimmen. Dies bedeutet wiederum, dass eine zentrale Komponente von IR ein Dokument in eine Art Vektorraum legt (in Ihrem Fall: Winkelraum) und es mit einer bestimmten Abfrage oder einem Beispieldokument vergleicht oder deren Abstand misst. (Siehe unten.) Wenn Sie eine Klangdefinition des Abstands zwischen zwei einzelnen Vektoren haben, Alles, was Sie tun müssen, ist ein Maß für den Abstand zweier Datensätze zu finden. (Traditionell wird im IR die Entfernung im Vektorraummodell entweder durch das Kosinusmaß oder die euklidische Entfernung berechnet, aber ich erinnere mich nicht, wie sie es in diesem Fall gemacht haben.) Im IR gibt es auch einen Mechanismus namens "Relevanz-Feedback", der konzeptionell , arbeitet mit dem Abstand zweier Dokumentensätze. Dieser Mechanismus verwendet normalerweise ein Abstandsmaß, das alle individuellen Abstände zwischen allen Dokumentenpaaren (oder in Ihrem Fall Personenvektoren) summiert. Vielleicht ist das für Sie von Nutzen.

Die folgende Seite enthält einige Dokumente, die für Ihr Problem relevant zu sein scheinen: http://www.mpi-inf.mpg.de/~mmueller/index_publications.html Insbesondere diese http://www.mpi-inf.mpg.de/ ~ mmueller / publications / 2006_DemuthRoederMuellerEberhardt_MocapRetrievalSystem_ECIR.pdf scheint interessant zu sein. Das Gespräch von Müller, an dem ich teilgenommen habe, erwähnt Ähnlichkeitsmessungen von Kovar und Gleicher, die als "Punktwolke" bezeichnet werden (siehe http://portal.acm.org/citation.cfm?id=1186562.1015760&coll=DL&dl=ACM ) und eine, die als "Quaternionen" bezeichnet wird. . Ich hoffe es hilft.

xmjx
quelle
Es wäre nützlich, die Referenz zu haben, wenn Sie sie finden können. Vielen Dank.
Josh
2

Dieses Problem wird als Fernunterricht bezeichnet. Jede Entfernungsmetrik kann als wobei ein positiver ist. Bei den Methoden in diesem Unterbereich erfahren Sie das optimale für Ihre Daten. In der Tat ist es in Ordnung, euklidische Abstände zu verwenden , wenn das optimale zufällig eine Identitätsmatrix ist. Wenn es die inverse Kovarianz ist, wäre es optimal, den Mahalanobis-Abstand zu verwenden und so weiter und so fort. Daher muss eine Distanzmetrik-Lernmethode verwendet werden, um das optimale zu lernen, um die richtige Distanzmetrik zu lernen.(xy)tA(xy)AAAA

Leichenwagen
quelle
0

Ein Problem bei der Verwendung der Winkel als Proxy für die Form besteht darin, dass kleine Störungen in den Winkeln zu großen Störungen in der Form führen können. Ferner könnten unterschiedliche Winkelkonfigurationen zu derselben (oder einer ähnlichen) Form führen.

Suresh Venkatasubramanian
quelle