用于比较角度向量的最佳距离度量

机器算法验证 测量 距离函数 循环统计
2022-01-20 13:16:15

语境

我有两组要比较的数据。两组中的每个数据元素都是一个包含 22 个角度的向量(全部在ππ)。角度与给定的人体姿势配置相关,因此姿势由 22 个关节角度定义。

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

问题

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

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

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

你想用最近的邻居信息做什么?

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

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

这听起来类似于信息检索(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)和一个称为“四元数”的度量. 希望能帮助到你。

这个问题被称为距离度量学习。每个距离度量都可以表示为(xy)tA(xy)在哪里A是半正定的。该子区域下的方法,学习最优的A为您的数据。事实上,如果最优A恰好是一个单位矩阵,可以使用欧几里得距离。如果是逆协方差,则最好使用马氏距离,以此类推。因此,必须使用距离度量学习方法来学习最优A,学习正确的距离度量。