最佳距离测量


12

语境

我有两组数据要比较。在这两组的每个数据元素是含有22角(所有之间的矢量ππ)。角度与给定的人体姿势配置有关,因此姿势由22个关节角度定义。

我最终想要做的是确定两组数据的“紧密度”。因此,对于一组中的每个姿势(22D矢量),我想在另一组中找到其最近的邻居,并为每个最接近的对创建距离图。

问题

  • 我可以简单地使用欧几里得距离吗?
    • 为了有意义,我假设距离度量需要定义为:θ=|θ1θ2|modπ,其中|...|是绝对值,mod是模。然后使用得到的22个theta,我可以执行标准的欧几里德距离计算,t12+t22++t222
    • 它是否正确?
  • 另一个距离度量标准(例如卡方或Bhattacharyya或其他度量标准)会更有用吗?如果是这样,请您提供一些原因的见解。

3
附带说明:我认为您的意思不是。而是类似。|θ1θ2|modπmin{|θ1θ2|,2π|θ1θ2|}
Erik P.

4
建议不要在单位圆上转换为(x,y)坐标,而不要使用角度。然后,您可以正常计算(距离等),并且求平均不会像角度那样成为问题。
caracal

2
@Josh Erik P.的建议是一个好建议。或者,将每个角度视为单位圆上的一个点,然后使用通常的(毕达哥拉斯)公式计算它们之间的欧几里得距离。这些距离和角距离之间的差异无关紧要。(我相信这也可能是卡拉卡尔所建议的。)θ(cos(θ),sin(θ))
ub

2
@Josh例如和的平均值 是。在许多情况下,这没有意义,而应为。在您的特定情况下,这可能不是问题,因为人体关节可能没有超出的运动范围。另外,在您的情况下,由于关节运动是单向的,因此您可能希望上述平均值为。@whuber的建议正是我的意思。π/47π/4π0ππ
caracal

3
如果您可以指定“弄错了”的后果,则可能会更容易解决您的问题。因此,如果您说数据集相同或相似,但实际上不一样,那您会怎么办?这是否取决于您的决定有多“错误”?如果您声明数据/位置不同,但实际上相同或相似,将会发生什么?什么丢失了?回答这些问题将有助于确定哪些事项进行比较,你要打。这样可以确保您回答正确的问题。
概率

Answers:


5

您可以计算每个集合的协方差矩阵,然后使用马氏距离计算两个集合之间的Hausdorff距离。

马氏距离是确定未知样本集与已知样本集相似度的有用方法。它与欧几里得距离的不同之处在于,它考虑了数据集的相关性,并且是尺度不变的。


3

您要如何处理最近的邻居信息?

我会回答这个问题,然后根据此比较不同的距离度量。

例如,假设您正在尝试根据关节配置对姿势进行分类,并且希望来自同一姿势的关节向量彼此靠近。评估不同距离度量的适用性的一种直接方法是在KNN分类器中使用它们中的每一个,并比较每个结果模型的样本外准确性。


2

听起来这类似于信息检索(IR)的某些应用程序。几年前,我参加了一个关于步态识别的演讲,听起来与您正在做的事情相似。在信息检索中,将“文档”(在您的情况下:一个人的角度数据)与某个查询(在您的情况下可以是“是否有一个有角度数据(..,..)的人”)进行比较。然后,将按照与最接近的文档的顺序排列到最不匹配的文档的顺序列出文档。反过来,这意味着IR的一个中心组成部分是将文档放在某种矢量空间中(在您的情况下为:角度空间),然后将其与一个特定的查询或示例文档进行比较,或者测量它们的距离。(请参见下文。)如果您对两个矢量之间的距离有明确的定义,您要做的只是想出两个数据集之间距离的度量。(传统上在IR中,矢量空间模型中的距离是通过余弦量度或欧几里得距离来计算的,但我不记得在那种情况下它们是如何做到的。)在IR中,还有一种称为“相关性反馈”的机制,从概念上讲,可处理两组文档的距离。该机制通常使用距离的度量,将所有成对文档之间的所有单个距离相加(或者在您的情况下:人员向量)。也许这对您有用。

下一页包含一些与您的问题相关的论文:http : //www.mpi-inf.mpg.de/~mmueller/index_publications.html 特别是这篇http://www.mpi-inf.mpg.de/ 〜mmueller / publications / 2006_DemuthRoederMuellerEberhardt_MocapRetrievalSystem_ECIR.pdf似乎很有趣。我参加的Müller演讲提到了Kovar和Gleicher提出的称为“点云”的相似性措施(请参阅http://portal.acm.org/citation.cfm?id=1186562.1015760&coll=DL&dl=ACM)和一种称为“四元数”的方法。 。希望能帮助到你。


如果能够找到参考,将会很有用。谢谢。
乔什(Josh)

2

此问题称为距离度量学习。每个距离度量可以表示为,其中为正半定数。在此子区域中的方法中,学习适合您数据的最佳实际上,如果最优恰好是一个单位矩阵,则可以使用欧式距离。如果是逆协方差,则最好使用马氏距离,依此类推。因此,必须使用距离度量学习方法来学习最佳,以学习正确的距离度量。(xy)tA(xy)AAAA


0

使用角度作为形状的替代品的一个问题是,角度的小扰动会导致形状的大扰动。此外,不同的角度配置可能导致相同(或相似)的形状。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.