曲线之间的相似度?


17

我想计算两个有序点集之间的相似度- 用户下的点与教师下的点

![示例](http://i50.tinypic.com/2uj0580.jpg)

这些点是3D空间中的曲线,但是我想如果将它们以二维方式绘制(如图所示),则问题将得到简化。如果这些点重叠,则相似度应为100%。


您需要考虑缩放,旋转和/或平移吗?
nico

不,我不需要考虑它们。
亚历克斯

意思是我会照做的。
亚历克斯

Answers:


11

您正在比较轨迹曲线。这是一个研究的话题。内陷分析如EMS所说,动态时间扭曲是交易的工具。对齐曲线后,您需要测量距离,例如Fréchetdistance。如果您想共享您的一些数据,我们自己可以解决。

相关阅读:

如果您忽略时间维度:

您可以使用户和教师适应高斯密度的多元变化,并找到其产品的体积,这很容易。如果需要更高的准确性,则可以使用非参数密度估计。


谢谢Emre的建议!我已经更新了问题-我想现在可能更简单了,所以请看一下。
亚历克斯

您可以使用户和教师适应高斯密度的多元变量,并找到其产品的体积-这很容易, 您能否请我指出正确的资源以学习这些知识?真的是新手。
西伯斯赌博

欧几里得距离是否足以对齐曲线?
弗拉基米尔·乔巴欣

我用的相关系数,用于比较的相似性并夹紧结果0和1之间
M.kazem Akhgary


2

原始帖子要求在3D中订购点之间的度量。唯一的度量标准是弗雷谢特距离。没有提到时间作为维度之一,因此我假设所有维度都有距离单位(即,单位没有混合)。这可以通过修改最近上传到MathWorks文件交换的函数来完成(Frechet距离计算:http : //www.mathworks.com/matlabcentral/fileexchange/38714)。这些例程是为平面中的点编写的,但是对3D点的扩展很简单。


1
您确定Frechet距离在有序对之间吗?在维基百科页面称,在一条路径的一个点可以被匹配到另一个多个点。同样,肯定有不止一个这样的指标。有序对之间的距离之和怎么样?
naught101

1

XYdH(X,Y)=max{supxXinfyY||xy||,supyYinfxX||xy||}


supinfmaxmin

1
XY

谢谢您的链接,在Tony Chan的书中,我仅在计算机视觉中看到过Hausdorff距离。看到更多的计算方法很酷。
伊利

1

相似度是反映两个对象或两个特征之间关系强度的数量。该数量的范围通常是-1到+1或归一化为0到1。然后,您需要通过以下一种方法来计算两个要素的距离:

  1. 简单匹配距离
  2. 贾卡德的距离
  3. 汉明距离
  4. 雅卡德系数
  5. 简单匹配系数

对于线...,您可以用角度(a)和长度(l)属性来表示它,或者下面的L1 = P1(x1,y1),P2(x2,y2)与a和l相似。

现在测量角度以获取角度和长度

  • A_user = 20和Length_User = 50
  • A_teacher30和Length_Teacher = 55
  • 现在,将值标准化。

使用欧氏距离

相似度= SquareRoot((A_user-A_teacher30)^ 2 +(Length_User-Length_Teacher)^ 2)

给出相似性度量。您也可以根据问题和功能使用上述方法。

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.