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: , woist absoluter Wert und mod ist modulo. Dann kann ich unter Verwendung der resultierenden 22 Thetas die euklidische Standardabstandsberechnung durchführen, .
- 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.
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.(x−y)tA(x−y)−−−−−−−−−−−−−√ A A A A
quelle
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.
quelle